Установка FreePBX на Centos 7

Перевод официальной документации по установке FreePBX в Centos 7. Я прошелся по всем этапам установки и удостоверился, что все работает. Казалось бы, чего там может быть непонятно, просто бери и вводи команды последовательно из официальной документации, но как оказалось переведенная инструкция достаточно актуальная штука.

 
 
Логотип GITA-DEV

Автор: Черноусов Антон aka Gita-Dev
Опубликовано: 03 Июл 2018 (последние правки 1 месяц)

asterisk centos cv dev firewall freepbx git install kernel ldap mysql pbx release tar

Отключаем selinux:

# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config

Потребуется перезагрузка.

Обновляем систему и ставим набор необходимых пакетов:

# yum -y update
# yum -y groupinstall core base "Development Tools"
# yum -y install lynx tftp-server unixODBC mysql-connector-odbc mariadb-server mariadb \
httpd ncurses-devel sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel \
audiofile-devel gtk2-devel subversion kernel-devel git crontabs cronie zip unzip\
cronie-anacron wget vim uuid-devel sqlite-devel net-tools gnutls-devel python-devel texinfo \
libuuid-devel
# pear install Console_Getopt

Создаем пользователя от имени которого будем запускать приложения:

# adduser asterisk -m -c "Asterisk User"

Настраиваем Firewall

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload

Устанавливаем PHP версии 5.6:

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum remove php*
# yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap

Установим NodeJS:

# curl -sL https://rpm.nodesource.com/setup_8.x | bash -
# yum install -y nodejs

Активируем автозапуск и запускаем MariaDB:

# systemctl enable mariadb.service
# systemctl start mariadb

Применяем настройки безопасности для установленного Mysql сервера:

# mysql_secure_installation

Главное на этом этапе не задавайте пароль пользователя root, а вопросами безопасности займемся чуть позже.

Активируем и запускаем Apache:

# systemctl enable httpd.service
# systemctl start httpd.service

Устанавливаем зависимости для Google Voice:

# cd /usr/src
# wget https://github.com/meduketto/iksemel/archive/master.zip -O iksemel-master.zip
# unzip iksemel-master.zip
# rm -f iksemel-master.zip
# cd iksemel-master
# ./autogen.sh
# ./configure
# make && make install

Загружаем исходные коды Asterisk:

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz

Собираем DAHDI:

# cd /usr/src
# tar xvfz dahdi-linux-complete-current.tar.gz
# tar xvfz libpri-current.tar.gz
# rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz
# cd dahdi-linux-complete-*
# make all
# make install
# make config
# cd /usr/src/libpri-*
# make
# make install

Если при сборке вы получили ошибку вида:

You do not appear to have the sources for the 3.10.0-693.21.1.el7.x86_64 kernel installed.

Проверьте, что вы установили необходимые исходные коды ядра.

Собираем и устанавливаем Jansson:

# cd /usr/src
# tar vxfz jansson.tar.gz
# rm -f jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure --libdir=/usr/lib64
# make
# make install

Проводим сборку и установку самого Asterisk.

# cd /usr/src
# tar xvfz asterisk-14-current.tar.gz
# rm -f asterisk-14-current.tar.gz
# cd asterisk-*
# contrib/scripts/install_prereq install
# ./configure --libdir=/usr/lib64 --with-pjproject-bundled
# contrib/scripts/get_mp3_source.sh
# make menuselect

На этом этапе будет запущен графический конфигуратор где можно добавить или удалить компонеты Asterisk. После настройки, можно продолжать сборку.

# make
# make install
# make config
# ldconfig
# chkconfig asterisk on

Назначаем права доступа к каталогам:

# chown asterisk. /var/run/asterisk
# chown -R asterisk. /etc/asterisk
# chown -R asterisk. /var/{lib,log,spool}/asterisk
# chown -R asterisk. /usr/lib64/asterisk
# chown -R asterisk. /var/www/

Несколько модификаций типового конфига Apache:

# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
# systemctl restart httpd.service

Загружаем и устанавливаем сам FreePBX:

# cd /usr/src
# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
# tar xfz freepbx-14.0-latest.tgz
# rm -f freepbx-14.0-latest.tgz
# cd freepbx
# ./start_asterisk start
# ./install -n

Установка FreePBX завершена и мы можем подключаться к web-интерфейсу.

Обратите внимание, что если при нажатии на кнопку "Apply config" настройки не применяются, то возможно у вас проблема с доступом к файлу /var/run/asterisk/asterisk.ctl и для установки активной группы владельца на Asterisk (как в примере ниже):

# ls -lua /var/run/asterisk/   
итого 4
drwxr-xr-x  2 root root       80 июл 15 02:37 .
drwxr-xr-x 34 root root     1020 июл 15 02:32 ..
srwxrwxr-x  1 root asterisk    0 июл 15 02:36 asterisk.ctl
-rw-r--r--  1 root root        5 июл 15 02:33 asterisk.pid

Вам необходимо внести изменения в файл /etc/asterisk/asterisk.conf:

[files]
astctlpermissions => 775
astctlgroup => asterisk

Похожие статьи

Ошибка ERRCONNECT_PASSWORD_CERTAINLY_EXPIRED при подключении к свежим редакциям Windows 10 из Linux при помощи FreeRDP

Ошибка ERRCONNECT_PASSWORD_CERTAINLY_EXPIRED при подключении к свежим редакциям Windows 10 из Linux при помощи FreeRDP

Некоторое время назад мы столкнулись с проблемой подключения к свежим редакциям Windows 10 и Windows Server 12016 из Linux при использовании FreeRDP. Эта проблема известна с 18-го февраля, но почему то именно сейчас возник просто огромный шквал вопросов и видимо это связано с очередным обновлением Windows.


Настройка Fail2ban для Asterisk (FreePBX)

Настройка Fail2ban для Asterisk (FreePBX)

Небольшое описание того, как я возился с настройкой Fail2ban в Centos 7. Что интересно, штатные правила конфигурации для FirewallD с виду работают, добавляют заблокированные адреса в соответствующие цепочки, но подключения клиентов все равно не блокируются. Для Asterisk который является просто лакомым кусочком для разного рода жуликов работать без Fail2Ban крайне опасно.


Плагины которые необходимо установить в FreePBX-Core для полноценной работы

Плагины которые необходимо установить в FreePBX-Core для полноценной работы

В качестве логического продолжения цикла статей по сборке FreePBX Core необходимо рассказать, о том как устанавливать плагины из репозитариев исходного кода. Если вы устанавливали стандартный FreePBX, то наверное у вас разбегались глаза от количества элементов меню, но если вы устанавливаете все по моей инструкции для FreePBX-core, то вы наверное наоборот удивились, что пунктов меню очень мало. Вы можете установить плагины через стандартное меню администрирования плагинов или установить их самостоятельно собрав пакет плагина.


Основы настройки и управления FreePBX

Основы настройки и управления FreePBX

Представляю вашему вниманию небольшую, но достаточно подробную инструкцию как настроить FreePBX в минимальной комплектации. Если вы будете следовать этой инструкции то вы сможете настроить исходящие и входящие звонки, IVR, группу звонков и многое другое. Эта инструкция писалась как небольшая сопровождающая инструкция к одному из внедрений FreePBX и думаю будет многим полезна.


Пример настройки транка voip.kz в FreePBX

Пример настройки транка voip.kz в FreePBX

Есть такой известный в Казахстане провайдер услуг IP-телефонии как voip.kz с которым мне недавно довелось поработать, точнее его транк потребовалось добавить в Asterisk для приема входящих звонков и совершения исходящих. Как показала практика конфигурацию методом тыка мне подобрать не удалось и пришлось общаться со службой тех. поддержки провайдера.


Отзывы и комментарии