Это старая версия документа.
В этой статье будет описан процесс установки полнофункционального веб-интерфейса управления для IP PBX ASterisk. Для этого вам необходим установленный и настроенный сервер. Если у вас его еще нет, или не можете настроить самостоятельно, воспользуйтесь статьей Сервер телефонии Asterisk. FreePBX есть нескольких версий, будем ставить последний релиз. На момент правки статьи, это версия 12. Берем со http://www.freepbx.org/download-freepbx/. По сравнению с предыдущими версиями, установка несколько сократилась.
Поставим необходимые библиотеки.
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
Начнем установку. Заходим в каталог freepbx-2.11.0. Для начала, необходимо создать и заполнить базы данных для FreePBX.
mysqladmin -u root -p create asterisk 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;"
Еще, чисто для удобства и контроля за создаваемыми базами, рекомендуется поставить phpmyadmin.
sudo apt-get install phpmyadmin
Зайдя в phpmyadmin и обнаружив отсутствие нужных привилегий на базы для пользователя asteriskuser, можно отредактировать их и так.
Изменим пользователя, под которым запускается апач.
sudo nano /etc/apache2/envvars
Правим переменные APACHE_RUN_USER и APACHE_RUN_GROUP.
export APACHE_RUN_USER=asterisk export APACHE_RUN_GROUP=asterisk
sudo service apache2 restart
После этого, если апач был запущен от родного пользователя www-data, вы можете получить сообщение об ошибке запуска апача.
… waiting /var/lock/apache2 already exists but is not a directory owned by asterisk.
Всего лишь нужно удалить указанный каталог под рутом и запустить апач вновь. Проверяем правильность запуска…
ps aux|grep apache
asterisk 8403 0.0 0.3 37976 4052 ? S 13:12 0:00 /usr/sbin/apache2 -k start
Подправим лимиты в /etc/php5/apache2/php.ini
upload_max_filesize=120M
sudo service apache2 restart
Установка FreePBX сводится всего к одной команде.
./install_amp --installdb --username=asteriskuser --password=asterpass
После получения сообщения об успешной установке FreePBX, уже можно заходить в панель управления Asterisk. К примеру, если вы установили его в каталог /var/www/pbx, то заходим в него по ссылке http://ip_address/pbx/admin/. Получаем приглашение ввести имя пользователя, пароль и e-mail для админского аккаунта. После заполнения всех полей, жмем кнопку внизу и попадаем на dashboard нашей АТС. Сверху светится оранжевая надпись, советующая нам перезагрузить сервер для применения изменений. Следуем совету, не обращая внимания пока на сообщения об ошибках. Необходимо будет еще несколько раз провести обновления модулей и включением двух отключенных. После всех обновлений будем бороться с сообщениями об ошибках. Открыв текст сообщения, видим, что нам необходимо удалить несколько файлов. Устраняем. Вторая вроде как и не ошибка, позволяет отправлять анонимную статистику в Google. Отключается в Advanced Settings в разделе System Setup, параметр Browser Stats. Перегружаем Asterisk и можно перейти на главную панель статуса FreePBX.
Русификация Freepbx
Чтобы начать использовать русский язык в панели управления, вначале нужно в Advanced Settings, в разделе GUI Behavior, установить параметр Show Language setting в True, после чего нажать Apply Settings. После перехода на панель статуса, в строке меню появится кнопка выбора языка. Затем необходимо отредактировать файл /etc/locale.alias. Ищем строку russian ru_RU.ISO-8859-5 и правим ее.
russian ru_RU.UTF-8
После чего перегенерируем локаль и перезапускаем апач.
sudo locale-gen ru_RU sudo service apache2 restart
В выпадающем списке языков теперь можно выбрать русский, и все должно заработать.
Рекомендуемые модули
Для получения обновлений нужно, чтоб в Module Admin были включены основной репозиторий, можно включить и расширенный репозиторий. В первую очередь обновляем модуль FreePBX Localization Updates, хотя это вас не спасет, потому, что локализация выполнена все равно не полностью.
Для полноценной работы с АТС считаю необходимым наличие следующих модулей:
- Announcements, для создания приветствий;
- Call Forward, переадресация звонков;
- Call Waiting, ожидание звонка, или вторая линия для абонента;
- Conferences, для создания телефонных конференций;
- IVR, для создания голосовых меню;
- Ring Groups, для объединения внутренних абонентов в группы;
- Time Conditions, для создания правил по времени;
- Asterisk Info, для получения дополнительной информации при работе станции;
- CDR Reports, для получения информации о звонках;
- Asterisk IAX Settings, для расширенных настроек протокола IAX2;
- Asterisk SIP Settings, для расширенных настроек протокола SIP;
Из Unsupported репозитория рекомендуется поставить еще модуль Custom Context, для создания контекстов.
Теперь вы будете иметь на своем сервере полноценную рабочую телефонную станцию. Панель FOP в этом релизе (2.11) уже по дефолту не запускается, да и не нужна она, по большому счету. Если нужен ее функционал, лучше поставить другую операторскую панель. Есть проект MonAst, легкая панель, использующая технологии ajax. В общем, на вкус и цвет каждый сам себе злобный буратино. В общих чертах описание процесса установки и настройки FreePBX окончено. Есть пару подводных камней в этом проекте, но они уже будут описаны и добавлены в статью чуть позже.
Ссылки
При подготовке данной статьи были использованы материалы следующих сайтов.