Установка Freepbx Сравнение версий

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:freepbx [2015/03/23 19:31]
[Установка Freepbx]
wiki:freepbx [2016/12/12 15:13] (текущий)
[Установка Freepbx]
Строка 1: Строка 1:
 ====== Установка Freepbx ====== ====== Установка Freepbx ======
-В этой статье будет описан процесс установки полнофункционального веб-интерфейса управления для IP PBX ASterisk. Для этого вам необходим установленный и настроенный сервер. Если у вас его еще нет, или не можете настроить самостоятельно,​ воспользуйтесь статьей [[wiki:​asterisk|Сервер телефонии Asterisk]]. FreePBX есть нескольких версий,​ будем ставить последний релиз. На момент правки статьи,​ это версия 12. Берем со [[http://​www.freepbx.org/​download-freepbx/]].+В этой статье будет описан процесс установки полнофункционального веб-интерфейса управления для IP PBX ASterisk. Для этого вам необходим установленный и настроенный сервер. Если у вас его еще нет, или не можете настроить самостоятельно,​ воспользуйтесь статьей [[wiki:​asterisk|Сервер телефонии Asterisk]]. FreePBX есть нескольких версий,​ будем ставить последний релиз. На момент правки статьи,​ это версия 12. Берем с [[https://​www.freepbx.org/​downloads/freepbx-distro/|официальной страницы проекта]]. По сравнению с предыдущими версиями,​ установка несколько сократилась.
  
  
 Поставим необходимые библиотеки. Поставим необходимые библиотеки.
 <code bash> <code bash>
-sudo apt-get install libxml2 libxml2-dev libtiff5 libtiff5-dev lame apache2 mysql-server mysql-client php5 php-pear php-db php5-mysql php5-gd openssl libssl-dev linux-source-3.13.0 ​perl bison libncurses5-dev libaudiofile-dev curl sox libcpan-mini-perl+sudo apt-get install libxml2 libxml2-dev libtiff5 libtiff5-dev lame apache2 mysql-server mysql-client php5 php-pear php-db php5-mysql php5-gd openssl ​php5-curl ​libssl-dev linux-source perl bison libncurses5-dev libaudiofile-dev curl sox libcpan-mini-perl
 </​code>​ </​code>​
  
-<note tip>​Хотелось бы, чтоб народ маленько включал голову при использовании данной статьи. На момент написания статьи актуальный релиз Ubuntu Server был 12.04, соответственно,​ копипаст работал. На данный момент,​ в связи с выходом 14.04 некоторые пакеты в репозиториях поменялись на свежие. К примеру,​ libtiff4 на libtiff5, а linux-source-3.2.0 на linux-source-3.13.0. Просьба быть внимательными. :​-)</​note>​+<note tip>​Хотелось бы, чтоб народ маленько включал голову при использовании данной статьи. На момент написания статьи актуальный релиз Ubuntu Server был 12.04, соответственно,​ копипаст работал. На данный момент,​ в связи с выходом 14.04 некоторые пакеты в репозиториях поменялись на свежие. К примеру,​ libtiff4 на libtiff5. Просьба быть внимательными. :​-)</​note>​
  
-Начнем установку. **Заходим в каталог freepbx-2.11.0.** Для начала,​ необходимо создать и заполнить базы данных для FreePBX.+Начнем установку. **Заходим в каталог freepbx.** Для начала,​ необходимо создать и заполнить базы данных для FreePBX.
 <code bash> <code bash>
-mysqladmin -u root create asterisk +mysqladmin -u root -p create asterisk 
-mysqladmin -u root create asteriskcdrdb+mysqladmin -u root -p create asteriskcdrdb 
 +mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '​asterpass';"​ 
 +mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '​asterpass';"​ 
 +mysql -u root -p -e "flush privileges;"​
 </​code>​ </​code>​
 +
  
 <note warning>​Пароль рекомендуется указывать свой!</​note>​ <note warning>​Пароль рекомендуется указывать свой!</​note>​
Строка 25: Строка 29:
  
 Зайдя в phpmyadmin и обнаружив отсутствие нужных привилегий на базы для пользователя asteriskuser,​ можно отредактировать их и так. Зайдя в phpmyadmin и обнаружив отсутствие нужных привилегий на базы для пользователя asteriskuser,​ можно отредактировать их и так.
-Заполняем созданные базы. 
  
-<code bash> 
-mysql -u root -p asterisk < SQL/​newinstall.sql 
-mysql -u root -p asteriskcdrdb < SQL/​cdr_mysql_table.sql 
-</​code>​ 
- 
-В phpmyadmin можно убедиться,​ что базы заполнены данными. 
 Изменим пользователя,​ под которым запускается апач. Изменим пользователя,​ под которым запускается апач.
- 
 <code bash> <code bash>
 sudo nano /​etc/​apache2/​envvars sudo nano /​etc/​apache2/​envvars
Строка 54: Строка 50:
 <code bash>ps aux|grep apache</​code>​ <code bash>ps aux|grep apache</​code>​
  
 +На выходе должно быть что-то подобное
 <​quote>​ <​quote>​
 asterisk ​ 8403  0.0  0.3  37976  4052 ?        S    13:12   0:00 /​usr/​sbin/​apache2 -k start asterisk ​ 8403  0.0  0.3  37976  4052 ?        S    13:12   0:00 /​usr/​sbin/​apache2 -k start
Строка 61: Строка 58:
  
 <​quote>​ <​quote>​
-upload_max_filesize=10M +upload_max_filesize=120M
- +
-memory_limit = 512M+
 </​quote>​ </​quote>​
- 
-<note tip>​Будет правильно подставить свои значения. Мб у вас на веб-сервере всего 256М памяти! Я ставлю лимит на половину системной.</​note>​ 
  
 <code bash>​sudo service apache2 restart</​code>​ <code bash>​sudo service apache2 restart</​code>​
  
-Запускаем скрипт установки FreePBX+Установка FreePBX сводится всего к одной команде
-<code bash>​sudo ./​install_amp</​code>​ +<code bash>​sudo ./​install_amp ​--installdb --username=asteriskuser --password=asterpass</​code>​ 
-После получения сообщения об успешной установке FreePBX, уже можно заходить в панель управления Asterisk. К примеру,​ если ​вы установили ​его ​в каталог /​var/​www/​pbx,​ то заходим в него по ссылке http://​ip_address/​pbx/​admin/​. +<​quote>​  
-{{:​wiki:​freepbx:​screen05.png?​nolink&​300 |}} Получаем приглашение ввести имя пользователя,​ пароль и e-mail для админского аккаунта. После заполнения всех полей, жмем кнопку внизу и попадаем на dashboard нашей АТС. Сверху светится ​оранжевая надпись,​ советующая нам перезагрузить сервер для применения изменений. Следуем совету,​ не обращая внимания пока на сообщения об ошибках. Необходимо будет еще несколько раз ​провести обновления модулей и включением двух отключенных. После всех обновлений будем бороться с сообщениями ​об ошибках. +Иногда возникает ошибка при установке ​амечено на 13.0 версии)
-{{:​wiki:​freepbx:​screen01.png?​nolink |}}Открыв текст сообщения, видим, что нам необходимо удалить несколько файлов. Устраняем. Вторая вроде как и не ошибка, позволяет отправлять анонимную ​статистику в Google. Отключается в Advanced Settings в разделе System Setup, параметр Browser Stats. Перегружаем Asterisk и можно перейти на главную панель статуса FreePBX.+
  
 +"​Reading /​etc/​asterisk/​asterisk.conf...Error!
 +Unable to read /​etc/​asterisk/​asterisk.conf or it was missing a directories section"​
 +
 +Решение:​ Удаление файла /​etc/​asterisk/​asterisk.conf
 +
 +</​quote>​
 +<note tip>​Кстати,​ замечено,​ что не рекомендуется ставить FreePBX в каталог,​ отличный от корневого. Иначе потом будет некорректная ссылка на UCP. Несколько неудобно,​ но не смертельно.</​note>​
 +После чего можно выполнить ряд команд,​ в том числе и для установки всех модулей.
 +<code bash>
 +sudo amportal chown
 +sudo amportal a ma installall
 +sudo amportal a reload
 +sudo amportal a ma refreshsignatures
 +sudo amportal chown
 +</​code>​
 +
 +Осталось сделать последний штрих.
 +<code bash>
 +sudo ln -s /​var/​lib/​asterisk/​moh /​var/​lib/​asterisk/​mohmp3
 +sudo amportal restart
 +</​code>​
 +
 +Вот теперь уже можно заходить в панель управления Asterisk. К примеру,​ если вы установили его в каталог по умолчанию,​ то заходим в него по ссылке http://​ip_address/​admin/​. Получаем приглашение ввести имя пользователя,​ пароль и e-mail для админского аккаунта. После заполнения всех полей, жмем кнопку внизу и попадаем на dashboard нашей АТС. Сверху светится оранжевая надпись,​ советующая нам перезагрузить сервер для применения изменений. Следуем совету. Вроде бы все, но... Идем в меню Settings -> Advanced Settings. Исправляем параметры Show Language setting и Use wget For Module Admin, устанавливая их в True. Первый заставляет FreePBX показывать кнопку смены языка, а второй указывает использовать метод wget для скачивания новых модулей,​ иначе почему-то не качались обновления.
 +Настало время сходить и обновить все модули.
  
  
Строка 99: Строка 115:
 В выпадающем списке языков теперь можно выбрать русский,​ и все должно заработать. ;-) В выпадающем списке языков теперь можно выбрать русский,​ и все должно заработать. ;-)
  
 +====== Работа над ошибками ======
 +После всех плясок с бубном в предыдущих разделах,​ появляется одна "​жуткая"​ ошибка.
 +<​quote>​.htaccess files are disable on this webserver. Please enable them</​quote>​
 +В принципе,​ ничего страшного,​ если не выставлять боевой сервер в интернет,​ но давайте исправим,​ чтоб устрашающий красный свет в глаза не лез.
 +Открываем /​etc/​apache2/​apache2.conf
 +<code bash>
 +sudo nano /​etc/​apache2/​apache2.conf
 +</​code>​
 +Ищем там строчку /var/www и приводим к указанному виду.
 +<​quote>​
 +<​Directory /​var/​www/>​
 +        Options Indexes FollowSymLinks
 +        AllowOverride All
 +        Order allow,deny
 +        Allow from all
 +        Require all granted
 +</​Directory>​
 +</​quote>​
 +
 +<code bash>
 +sudo service apache2 restart
 +</​code>​
 +Нажимаем в любимом браузере <​key>​F5</​key>​ и убеждаемся,​ что надоедливая красная надпись исчезла.
  
 ====== Рекомендуемые модули ====== ====== Рекомендуемые модули ======
Строка 121: Строка 160:
 <​note>​Необходимо отметить,​ что кнопка Apply Config после установки модулей появляется только после перехода в другую часть интерфейса,​ к примеру на dashboard.</​note>​ <​note>​Необходимо отметить,​ что кнопка Apply Config после установки модулей появляется только после перехода в другую часть интерфейса,​ к примеру на dashboard.</​note>​
  
-Теперь вы будете иметь на своем сервере полноценную рабочую телефонную станцию. Панель FOP в этом релизе (2.11) уже по дефолту не запускается,​ да и не нужна она, по большому счету. Если нужен ​ее функционал,​ лучше поставить другую операторскую панель. Есть проект [[http://​sourceforge.net/​projects/​monast/?​source=directory|MonAst]],​ легкая панель,​ использующая технологии [[wpru>​ajax]]. В общем, на вкус и цвет каждый сам себе злобный буратино. LOL +Теперь вы будете иметь на своем сервере полноценную рабочую телефонную станцию. Если нужен функционал ​FOP, лучше поставить другую операторскую панель. Есть проект [[http://​sourceforge.net/​projects/​monast/?​source=directory|MonAst]],​ легкая панель,​ использующая технологии [[wpru>​ajax]]. В общем, на вкус и цвет каждый сам себе злобный буратино. LOL 
-В общих чертах описание процесса установки и настройки FreePBX окончено. ​Есть пару подводных ​камней в этом проектено они уже будут описаны и добавлены в статью чуть позже.+В общих чертах описание процесса установки и настройки FreePBX окончено. ​В последней версии этой панели управления значительно переработан функционал панели статуса Asterisk, добавлена работа с [[wpru>​WebRTC]] в UCP. Радует, что разработка этого ​продукта не стоит на месте, развивается функционал. Некоторые модули приходилось ставить отдельно,​ например будильник, а теперь они есть уже в репозиториях панели управления. Теперь и мы можем пользоваться современным продуктом хорошего качества. По сравнению с версией 2.8 отмечается значительное увеличения количества модулей различного назначения. Есть и коммерческие модули и бесплатные. Для использования коммерческих модулей необходимо ​установить Zend Guard от [[wpru>​Zend_Technologies]],​ что в рамках данной ​статьи ​не рассматривается. Однако, предполагать, что Asterisk ​вкупе с FreePBX как-то ограничен в функциональности без коммерческих модулей,​ будет ​неверно. Эта связка сама по себе достаточно законченный продукт. Есть и недочеты, конечно,​ куда без них. Пользоваться можно и довольно успешно
 +<​note>​Если этот продукт или эта статья поможет кому-нибудь ​значительно экономить на традиционной телефонии,​ было бы неплохо поддержать развитие этого продуктаПусть разработчики и дальше смогут нас радовать расширением функционала.</​note>​
  
 FIXME FIXME
 +
 ===== Ссылки ===== ===== Ссылки =====
 При подготовке данной статьи были использованы материалы следующих сайтов. При подготовке данной статьи были использованы материалы следующих сайтов.