artem
17.01.2016
8763

Установка 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 12

На этом установка FreePBX завершена.

Книга 101 функция Asterisk
Познакомьтесь с возможностями Asterisk. Найдите инструменты, которые помогут вашей компании развиваться.
Скачать книгу
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.