Установка FreePBX 12 из исходников
Данную статью можно считать продолжением статьи по установке Asterisk 13 версии http://voxlink.ru/kb/asterisk-configuration/sborka-asterisk-13-s-podderzhkoi-protokola-pjsip-srtp-iz-ishodnikov-v-os-centos6-minimal/. В ней будет рассмотрена подробная установка веб-интерфейса FreePBX с попутным решением возможных типовых проблем.
1. Первым шагом необходимо скачать исходники FreePBX и распаковать их.
cd /usr/src/
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-12.0-latest.tgz
tar zxvf freepbx-*.tgz
2. Создается пользователь, под которым будет работать Asterisk и FreePBX и задаются права на необходимые директории.
useradd -m asterisk
chown asterisk:asterisk /var/run/asterisk
chown asterisk:asterisk /etc/asterisk -R
chown asterisk:asterisk /var/lib/asterisk -R
chown asterisk:asterisk /var/log/asterisk -R
chown asterisk:asterisk /var/spool/asterisk -R
chown asterisk:asterisk /usr/lib64/asterisk -R
3. Далее подготавливается база данных MySQL.
В официальном руководстве на данном шаге указывается дефолтный пароль для связки FreePBX с базой данных. Но рекомендовано использовать безопасный нестандартный пароль и сохранить его в какой-либо переменной. Сделать это можно различными способами, самый простой вариант выполнить указанное ниже:
export AST_DB_PASS=’dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 — | cut -c2-18′
Проверить содержимое переменной можно командой:
echo $AST_DB_PASS
Далее необходимо создать базы данных asterisk и asteriskcdr
mysqladmin -u root -p create asterisk
mysqladmin -u root -p create asteriskcdrdb
После ввода команд необходимо указать root-пароль на mysql
Далее из директории с исходниками FreePBX подгружается структура баз:
cd /usr/src/freepbx
mysql -u root -p asterisk < SQL/newinstall.sql
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql
Далее создается пользователь с правами на созданные ранее базы данных:
mysql -u root -p -e «GRANT ALL PRIVILEGES ON asterisk.* TO freepbxuser@localhost IDENTIFIED BY ‘${AST_DB_PASS}’;»
mysql -u root -p -e «GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO freepbxuser@localhost IDENTIFIED BY ‘${AST_DB_PASS}’;»
mysql -u root -p -e «flush privileges;»
4. Собственно установка FreePBX с разбором некоторых возможных проблем при установке
Необходимо убедиться, что Asterisk запущен:
root@localhost freepbx]# ps ax | grep asterisk
1734 ? S 0:00 /bin/sh /usr/sbin/safe_asterisk
3556 ? Sl 0:00 /usr/sbin/asterisk -f -U asterisk -vvvg -c
3641 pts/0 S+ 0:00 grep asterisk
[root@localhost freepbx]#
Если же asterisk не запущен, необходимо выполнить команду:
./start_asterisk start
Для начала установки необходимо выполнить ниже указанную команду:
./install_amp —installdb —username=freepbxuser —password=${AST_DB_PASS}
Если выдаст ошибку вида:
Checking for PEAR DB..FAILED
[FATAL] PEAR must be installed (requires DB.php). Include path: .:/usr/share/pear:/usr/share/php
Это означает что, неустановлен pearDB, для его установки достаточно выполнить:
pear uninstall db
pear install db-1.7.14
Вывод нижеуказанного вида показывает, что все установлено корректно:
WARNING: «pear/DB» is deprecated in favor of «pear/MDB2»
WARNING: channel «pear.php.net» has updated its protocols, use «pear channel-update pear.php.net» to update
downloading DB-1.7.14.tgz …
Starting to download DB-1.7.14.tgz (134,864 bytes)
………………………..done: 134,864 bytes
install ok: channel://pear.php.net/DB-1.7.14
В выводе сказано, что pearDB устарел и рекомендовано обновить, для обновления достаточно выполнить команду:
pear channel-update pear.php.net
Выполнить еще раз команду
./install_amp —installdb —username=freepbxuser —password=${AST_DB_PASS}
Если выдаст ошибку:
Checking user..PHP Fatal error: Call to undefined function posix_getpwuid() in /usr/src/freepbx/install_amp on line 1097
Необходимо в php.ini прописать параметр date.timezone, для Москвы он будет выглядеть так:
date.timezone = «Europe/Moscow»
далее перестартовать веб-сервер:
service httpd restart
И снова выполнить команду установки, далее можно просто нажатием клавиши энтер согласиться с запрашиваемыми параметрами и продолжить установку. Если выйдет ошибка о невозможности создать директорию /var/www/html, то достаточно перезапустить установку снова.
PHP Warning: mkdir(): File exists in /usr/src/freepbx/libfreepbx.install.php on line 199
[FATAL] Cannot create /var/www/html!
Если вышло нижеуказанное сообщение, то установка прошла успешно.
*************************************************************************
* Note: It’s possible that if you click the red ‘Update Now’ bar BEFORE *
* updating your modules, your machine will start dropping calls. Ensure *
* that all modules are up to date BEFORE YOU CLICK THE RED BAR. As long *
* as this is observed, your machine will be fully functional whilst the *
* upgrade is in progress. *
*************************************************************************
****************************************
* At This Time Please Restart Asterisk *
Далее необходимо выполнить перезагрузку службы командой:
amportal a ma reload
Актуализировать подписи модулей:
amportal a ma refreshsignatures
Выставить права:
amportal chown
Для окончания установки необходимо перезапустить службу командой:
amportal restart
5. Настройка веб-сервера apache.
В директории /etc/httpd/conf/httpd.conf указать/сменить некоторые параметры в таком виде:
User asterisk
Group asterisk
DocumentRoot «/var/www/html»
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory «/var/www/html»>
также заменить все параметры AllowOverride с none на All.
Создать файл: /etc/httpd/conf.d/freepbx.conf
с содержимым:
<Directory /var/www/html/admin>
AllowOverride None
Order deny,allow
Allow from all
Satisfy any
</Directory>
Перезапустить веб-сервер:
service httpd restart
6. Веб-интерфейс доступен из браузера по адресу сервера.
При первом запуске необходимо указать логин, пароль и эмейл администратора.
На этом установка FreePBX завершена.
Остались вопросы?
Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.