Инструменты пользователя

Инструменты сайта


install_local_version

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
install_local_version [2019/05/15 12:19]
Евгений Романенко
install_local_version [2019/06/21 12:07] (текущий)
Евгений Романенко
Строка 9: Строка 9:
   * Docker версии 1.7.1 и выше (версии ниже нужно проверять дополнительно). \\ Установка docker в различных ОС подробно расписана в официальной документации:​ \\ [[https://​store.docker.com/​editions/​community/​docker-ce-server-debian?​tab=description|Debian]],​ [[https://​store.docker.com/​editions/​community/​docker-ce-server-ubuntu?​tab=description|Ubuntu]],​ [[https://​store.docker.com/​editions/​community/​docker-ce-server-centos?​tab=description|CentOS]]. \\ Для установки в FreePBX 13 можете воспользоваться [[https://​wiki.vistep.ru/​doku.php?​id=установка_docker_на_freepbx_13_centos_6.6|нашей инструкцией]]   * Docker версии 1.7.1 и выше (версии ниже нужно проверять дополнительно). \\ Установка docker в различных ОС подробно расписана в официальной документации:​ \\ [[https://​store.docker.com/​editions/​community/​docker-ce-server-debian?​tab=description|Debian]],​ [[https://​store.docker.com/​editions/​community/​docker-ce-server-ubuntu?​tab=description|Ubuntu]],​ [[https://​store.docker.com/​editions/​community/​docker-ce-server-centos?​tab=description|CentOS]]. \\ Для установки в FreePBX 13 можете воспользоваться [[https://​wiki.vistep.ru/​doku.php?​id=установка_docker_на_freepbx_13_centos_6.6|нашей инструкцией]]
  
-**Настройки ​Asterisk.**+==== Настройка ==== 
 +Часть шагов по конфигурированию вам поможет сделать установщик,​ доступный для скачивания по [[https://​vistep.ru/​statlocal/​installer|данной ссылке]]\\ 
 +Скачайте,​ запустите и следуйте его инструкциям.\\ 
 +В данном [[https://​youtu.be/​eYNTPAa06U4|видео]] представлен пример работы установщика на АТС FreePBX \\ 
 +По завершению его работы вам будет предоставлена ссылка для входа в web-интерфейс,​ но настройка не завершена - нужно выполнить еще несколько манипуляций:​\\
   - Инсталлируем необходимые пакеты (для примера в Debian/​Ubuntu) <code bash>​aptitude install unixodbc-dev libmyodbc</​code>​   - Инсталлируем необходимые пакеты (для примера в Debian/​Ubuntu) <code bash>​aptitude install unixodbc-dev libmyodbc</​code>​
   - Asterisk должен быть собран со следующими опциями {{::​9d37fd2a5c08439f8a69fe81a398891c.png?​400|}}{{::​34d0b50241d3443d827afa222aede0f4.png?​400|}}   - Asterisk должен быть собран со следующими опциями {{::​9d37fd2a5c08439f8a69fe81a398891c.png?​400|}}{{::​34d0b50241d3443d827afa222aede0f4.png?​400|}}
Строка 37: Строка 41:
 CPTimeout = CPTimeout =
 CPReuse =</​code>​ в конец **/​etc/​asterisk/​cdr_mysql.conf** добавить <code bash>​alias filename => filename</​code>​ CPReuse =</​code>​ в конец **/​etc/​asterisk/​cdr_mysql.conf** добавить <code bash>​alias filename => filename</​code>​
-  - Создадим БД и таблицу cdr в MySQL <code sql>​mysql>​ create database asterisk; 
-mysql> use asterisk; 
-mysql> CREATE TABLE `cdr` ( `id` int(9) unsigned NOT NULL AUTO_INCREMENT,​ 
-                    `calldate` datetime NOT NULL DEFAULT '​0000-00-00 00:​00:​00',​ 
-                    `clid` varchar(80) NOT NULL DEFAULT '',​ 
-                    `src` varchar(80) NOT NULL DEFAULT '',​ 
-                    `dst` varchar(80) NOT NULL DEFAULT '',​ 
-                    `dcontext` varchar(80) NOT NULL DEFAULT '',​ 
-                    `channel` varchar(80) NOT NULL DEFAULT '',​ 
-                    `dstchannel` varchar(80) NOT NULL DEFAULT '',​ 
-                    `lastapp` varchar(80) NOT NULL DEFAULT '',​ 
-                    `lastdata` varchar(80) NOT NULL DEFAULT '',​ 
-                    `duration` int(11) NOT NULL DEFAULT '​0',​ 
-                    `billsec` int(11) NOT NULL DEFAULT '​0',​ 
-                    `disposition` varchar(45) NOT NULL DEFAULT '',​ 
-                    `amaflags` int(11) NOT NULL DEFAULT '​0',​ 
-                    `accountcode` varchar(20) NOT NULL DEFAULT '',​ 
-                    `uniqueid` varchar(32) NOT NULL DEFAULT '',​ 
-                    `userfield` varchar(255) NOT NULL DEFAULT '',​ 
-                    `filename` varchar(255) NOT NULL DEFAULT '',​ 
-                    PRIMARY KEY (`id`), 
-                    KEY `calldate` (`calldate`),​ 
-                    KEY `accountcode` (`accountcode`),​ 
-                    KEY `uniqueid` (`uniqueid`),​ 
-                    KEY `dst` (`dst`), 
-                    KEY `src` (`src`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;​ 
-mysql> grant all on asterisk.* to '​asterisk_user'​@'​localhost'​ identified by '​232d2edxse3e';</​code>​ 
-  - Таблицу cel <code sql>​mysql>​CREATE TABLE `cel` ( 
-  `id` int(11) NOT NULL AUTO_INCREMENT,​ 
-  `eventtype` varchar(30) NOT NULL, 
-  `eventtime` datetime NOT NULL, 
-  `cid_name` varchar(80) NOT NULL, 
-  `cid_num` varchar(80) NOT NULL, 
-  `cid_ani` varchar(80) NOT NULL, 
-  `cid_rdnis` varchar(80) NOT NULL, 
-  `cid_dnid` varchar(80) NOT NULL, 
-  `exten` varchar(80) NOT NULL, 
-  `context` varchar(80) NOT NULL, 
-  `channame` varchar(80) NOT NULL, 
-  `src` varchar(80) DEFAULT NULL, 
-  `dst` varchar(80) DEFAULT NULL, 
-  `channel` varchar(80) DEFAULT NULL, 
-  `dstchannel` varchar(80) DEFAULT NULL, 
-  `appname` varchar(80) NOT NULL, 
-  `appdata` varchar(80) NOT NULL, 
-  `amaflags` int(11) NOT NULL, 
-  `accountcode` varchar(20) NOT NULL, 
-  `uniqueid` varchar(32) NOT NULL, 
-  `linkedid` varchar(32) NOT NULL, 
-  `peer` varchar(80) NOT NULL, 
-  `userdeftype` varchar(255) NOT NULL, 
-  `eventextra` varchar(255) DEFAULT NULL, 
-  `userfield` varchar(255) DEFAULT NULL, 
-  PRIMARY KEY (`id`), 
-  KEY `uniqueid_index` (`uniqueid`),​ 
-  KEY `linkedid_index` (`linkedid`),​ 
-  KEY `eventtime` (`eventtime`),​ 
-  KEY `exten` (`exten`), 
-  KEY `eventtype` (`eventtype`) 
-) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;</​code>​ 
-  - Таблицу queue_log <code sql>​mysql>​ CREATE TABLE IF NOT EXISTS `queue_log` ( 
-id int(10) UNSIGNED NOT NULL AUTO_INCREMENT,​ 
-`time` timestamp NULL DEFAULT '​0000-00-00 00:​00:​00',​ 
-callid varchar(32) NOT NULL default '',​ 
-queuename varchar(32) NOT NULL default '',​ 
-agent varchar(32) NOT NULL default '',​ 
-event varchar(32) NOT NULL default '',​ 
-data1 varchar(100) NOT NULL default '',​ 
-data2 varchar(100) NOT NULL default '',​ 
-data3 varchar(100) NOT NULL default '',​ 
-data4 varchar(100) NOT NULL default '',​ 
-data5 varchar(100) NOT NULL default '',​ 
-PRIMARY KEY (`id`) 
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;​ 
-mysql> \q</​code>​ 
-  - Теперь нам необходимо добавить два новых поля в таблицу cdr - realdst и realsrc, в которые будут записываться номера звонящего и назначения (например,​ не номер оператора очереди,​ а наш городской номер, на который пришел вызов извне для realdst или не номер транка,​ а номер внутреннего абонента для realsrc). \\ Для этого выполним sql-запросы <code sql>​ALTER TABLE `cdr` ADD `realsrc` VARCHAR(80) NOT NULL DEFAULT '';​ 
-ALTER TABLE `cdr` ADD `realdst` VARCHAR(80) NOT NULL DEFAULT '';​ 
-UPDATE cdr SET realsrc=src;​ 
-UPDATE cdr SET realdst=dst;</​code>​ 
   - Внесем в **/​etc/​asterisk/​extconfig.conf** внесем <code bash>​queue_log => odbc,​asterisk</​code>​   - Внесем в **/​etc/​asterisk/​extconfig.conf** внесем <code bash>​queue_log => odbc,​asterisk</​code>​
   - **cel.conf** выглядит так <code bash>​[general]   - **cel.conf** выглядит так <code bash>​[general]
Строка 201: Строка 126:
 [from-pstn-custom] [from-pstn-custom]
 exten => _XX.,1, Macro(vistep.ru-record,​${CALLERID(number)},​${EXTEN})</​code>​ exten => _XX.,1, Macro(vistep.ru-record,​${CALLERID(number)},​${EXTEN})</​code>​
 +  - Для входа в систему статистики используйте данные авторизации (Email-адрес/​Пароль для авторизации) из регистрационного письма.
 +\\
 +На этом настройка завершена,​ приятного пользования! \\ По любым вопросам/​неполадкам/​пр. пишите нам на <​support@vistep.ru>​ или прямо из интерфейса,​ в меню Help Desk.
  
 +**Некоторые замечания по части MySQL.**
 +  - В ходе своей работы установщик подключается к БД Asterisk, для чего ему необходимы имя пользователя и пароль. Создать их можно, например,​ вот так: <code sql>
 +mysql -uroot -p
 +Enter password: ​
 +Welcome to the MariaDB monitor. ​ Commands end with ; or \g.
 +Your MariaDB connection id is 3359
 +Server version: 5.5.60-MariaDB MariaDB Server
  
-**Установканастройка и запуск.** +Copyright (c) 20002018, Oracle, MariaDB Corporation Ab and others
-  - Для начала нужно провести первичную подготовку MySQL-базы данных Asterisk. \\ Зайдите на сервер MySQL и создайте нового пользователя с полными правами,​ например вот так: \\ <code sql>GRANT ALL PRIVILEGES ON *.* TO '​vistepru'​@'​%'​ \+ 
 +Type '​help;'​ or '​\h'​ for helpType '\c' to clear the current input statement. 
 + 
 +MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO '​vistepru'​@'​%'​ \
 IDENTIFIED BY '​MySuperPassword111'​ WITH GRANT OPTION; IDENTIFIED BY '​MySuperPassword111'​ WITH GRANT OPTION;
 flush privileges; flush privileges;
-quit</​code>​Этот шаг необходим для работы мастера настройки БД, речь о котором пойдет несколько позже. ​\\ Также проверьте,​ что MySQL слушает не только 127.0.0.1, но и IP-адрес,​ по которому к нему будет обращаться система статистики. \\ За это в настройках MySQL отвечает параметр **bind-address**,​ проще всего закомментировать эту строку в my.cnf, тогда mysql-сервер будет слушать на всех IP-адресах сервера. +quit</​code>​\\ ​  
-  - Теперь зайдите на сервер,​ где ​предполагаете запускать docker-контейнер, по ssh. Скачайте архив контейнера по предоставленной ссылке,​ например (это пример,​ корректная ссылка высылается на почту после оплаты):​ <code bash>​wget https://​vistep.ru/​stat.vistep.ru_local_1.0.3.tgz</​code>​ Если в вашей системе нет wget, то воспользуйтесь вот этой командой:​ <code bash>​curl -o stat.vistep.ru_local_1.0.3.tgz https://​vistep.ru/​stat.vistep.ru_local_1.0.3.tgz</​code>​ +  - Также проверьте,​ что MySQL слушает не только 127.0.0.1, но и IP-адрес,​ по которому к нему будет обращаться система статистики. \\ За это в настройках MySQL отвечает параметр **bind-address**,​ проще всего закомментировать эту строку в my.cnf и перезагрузить демон ​MySQL, тогда сервис будет слушать все ​IP-адреса сервера.
-  -  Далее перейдите в папку с архивом контейнера ​ (здесь и далее это /root/) и загрузите его в docker <code bash>​docker load -i stat.vistep.ru_local_1.0.3.tgz</​code>​ Проверьте все ли в порядке, команда <code bash>​docker images</​code>​ должна вернуть нечто подобное \\ {{:​screen_shot_2017-04-21_at_12.58.01.png|}} +
-  - Следующим пунктом будет настройка возможности прослушивать и скачивать файлы разговоров в интерфейсе статистики. Как и было описано ранеевы можете запустить docker-контейнер с ПО как на сервере с АТС, так и на отдельном сервере. Для запуска docker там же, где и Asterisk, вам нужно выполнить такую команду:<​code bash>​docker run --name=stat.vistep.ru_local_1.0.3 -p 80:80  -v /​ВАШ/​ПУТЬ/​К/​ФАЙЛАМ:/​var/​www/​html/​public/​user/​УНИКАЛЬНЫЙ_КАТАЛОГ_ПОЛЬЗОВАТЕЛЯ/​some/​path/​to/​files/​ --restart=always -d stat.vistep.ru_local_1.0.3 </​code>​ В консоле должно отобразиться подобное:​{{:​screen_shot_2017-04-21_at_13.42.44.png|}} \\ где /​ВАШ/​ПУТЬ/​К/​ФАЙЛАМ - это путь к файлам записей разговоров на вашей АТС \\ Если же запуск осуществляется на отдельном сервере,​ то сначала ​ примонтируйте папку с файлами с сервера АТС на сервер с docker по NFS. Вот пример такой конфигурации:​ файл **/​etc/​exports** на сервере с Asterisk:<​code bash>/​records/​mp3/​ 192.168.0.0/​255.255.255.0(rw,​insecure,​nohide,​all_squash,​anonuid=1001,​anongid=1001,​no_subtree_check)</​code>​а на сервере с docker, в **/​etc/​fstab** <code bas>​ASTERISK_IP_ADDRESS:/​records/​mp3 /​root/​records nfs rsize=8192,​wsize=8192 0 0</​code>​ *здесь /​records/​mp3 - это путь к файлам записей на АТС \\ Затем выполните запуск уже знакомой командой <code bash>​docker run --name=stat.vistep.ru_local_1.0.3 -p 80:80 -v /​root/​config.php:/​var/​www/​html/​app/​config.php -v /​root/​records:/​var/​www/​html/​public/​user/​УНИКАЛЬНЫЙ_КАТАЛОГ_ПОЛЬЗОВАТЕЛЯ/​some/​path/​to/​files/​ -d stat.vistep.ru_local_1.0.3</​code>​ +
-  - Далее откройте web-браузер и перейдите по ссылке <​code>​http://​DOCKER_DAEMON_IP_ADRESS/​install.html</​code>​ Вас встретит мастер настройки {{:​screen_shot_2017-04-21_at_13.54.58.png|}} +
-  - Заполните все поля (на шаге номер 1 мы создали нужного пользователя) и нажмите кнопку Тест {{:​screen_shot_2017-04-21_at_13.57.29.png|}} +
-  - При успешном прохождении теста на подключение к БД вы увидите {{::​screen_shot_2017-04-21_at_14.00.33.png|}} \\ Если все так, жмите Настроить БД +
-  - Здесь мастер сообщит,​ что ​все ​прошло успешно и вы можете перейти по ссылке <​code>​http://​DOCKER_DAEMON_IP_ADRESS</​code>​ т.е. к авторизации в системе {{:​screen_shot_2017-04-21_at_14.11.13.png|}} +
-  - Для входа в систему статистики используйте данные авторизации (Email-адресароль для авторизации) из регистрационного письма. +
- +
-На этом настройка завершена, приятного пользования! \\ По любым вопросам/​неполадкам/​пр. пишите нам на <​support@vistep.ru>​ или прямо из интерфейса,​ в меню Help Desk.+
install_local_version.1557897595.txt.gz · Последние изменения: 2019/05/15 12:19 — Евгений Романенко