Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:freepbx [2014/09/03 21:17] [Установка Freepbx] |
wiki:freepbx [2016/12/12 15:13] [Установка Freepbx] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Установка Freepbx ====== | ====== Установка Freepbx ====== | ||
- | В этой статье будет описан процесс установки полнофункционального веб-интерфейса управления для IP PBX ASterisk. Для этого вам необходим установленный и настроенный сервер. Если у вас его еще нет, или не можете настроить самостоятельно, воспользуйтесь статьей [[wiki:asterisk|Сервер телефонии Asterisk]]. FreePBX есть нескольких версий, будем ставить последний релиз. На момент правки статьи, это 2.11. Берем со [[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> | ||
- | mysql -u root -p | + | mysqladmin -u root -p create asterisk |
- | mysql> create database asterisk; | + | mysqladmin -u root -p create asteriskcdrdb |
- | mysql> create database asteriskcdrdb; | + | mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'asterpass';" |
- | mysql> 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> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'asterpass'; | + | mysql -u root -p -e "flush privileges;" |
- | mysql> flush privileges; | + | |
- | mysql> \q | + | |
</code> | </code> | ||
+ | |||
+ | |||
<note warning>Пароль рекомендуется указывать свой!</note> | <note warning>Пароль рекомендуется указывать свой!</note> | ||
Строка 29: | Строка 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 | ||
Строка 58: | Строка 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 | ||
Строка 65: | Строка 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 для скачивания новых модулей, иначе почему-то не качались обновления. | ||
+ | Настало время сходить и обновить все модули. | ||
Строка 103: | Строка 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> и убеждаемся, что надоедливая красная надпись исчезла. | ||
====== Рекомендуемые модули ====== | ====== Рекомендуемые модули ====== | ||
Строка 125: | Строка 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 | ||
+ | |||
===== Ссылки ===== | ===== Ссылки ===== | ||
При подготовке данной статьи были использованы материалы следующих сайтов. | При подготовке данной статьи были использованы материалы следующих сайтов. |