Установка asterisk в OS CentOS 7

Asterisk  и Freepbx  на Centos 7

Asterisk — бесплатное решение для организации voip телефонии. 

Freepbx — бесплатный веб интерфейс для управления астериском.

Установка asterisk и freepbx на CentOS 7

Подготовка системы

Я рекомендую ознакомиться с моим материалом на тему начальной настройки центоса . Многие вопросы там рассмотрены подробнее, здесь же я не буду на них задерживаться, просто выполню необходимые команды.

Прежде чем мы начнем устанавливать asterisk, нам надо выполнить целый ряд подготовительных действий. Первым делом отключаем selinux. Для этого открываем файл:

# mcedit /etc/sysconfig/selinux

и устанавливаем значение SELINUX=disabled. После этого применяем настройку без перезагрузки сервера:

# setenforce 0

Рекомендация по отключению selinux дается в официальной инструкции по установке freepbx, так как это может привести к нарушению процесса инсталляции.

Дальше обновляем систему и ставим пакеты Development Tools:

# yum update
# yum groupinstall core base "Development Tools"

Установка Mariadb

 

В своей работе FreePBX использует базу данных Mysql. В качестве mysql сервера будем использовать mariadb. Подключаем репозиторий со свежей версией MariaDB. Для этого создаем файл /etc/yum.repos.d/MariaDB.repo следующего содержания.

# MariaDB 10.3 CentOS repository list - created 2019-04-01 09:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Переходим нужную папку 

сd /etc/yum.repos.d

Cоздаем файл командой:

#echo "# MariaDB 10.3 CentOS repository list - created 2019-04-01 09:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" > MariaDB.repo








Устанавливаем MariaDB.

# yum install MariaDB-server MariaDB-client MariaDB-shared

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

Запускаем mariadb и добавляем в автозагрузку.

# systemctl start mariadb
# systemctl enable mariadb

Настройте mysql сервер, задав пароль для root.

# systemctl start mariadb
# systemctl enable mariadb
# /usr/bin/mysql_secure_installation

Настройка Web сервера

Для работы панели FreePBX нужен web сервер с php. Я буду использовать версию php 7.1. Более подробно про настройку web срвера на Centos вы можете прочитать отдельно. Сейчас же коротко пройдем по шагам весь процесс.

Подключаем репозиторий epel, если еще не сделали это ранее.

# yum install epel-release

Подключаем remi репозиторий для centos 7.

# rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Ставим пакет yum-utils.

# yum install yum-utils

Активируем репу remi-php71, для этого выполняем команду.

# yum-config-manager --enable remi-php71

Устанавливаем необходимые пакеты для работы сервера voip.

# yum install wget php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-gettext php-bcmath php-zip php-xml php-imap php-json php-process php-snmp

Установка web сервера

Далее установим httpd. Он, по идее, должен установиться в качестве зависимости на предыдущем шаге, но на всякий случай проверьте.

# yum install httpd

Теперь нам нужно изменить некоторые параметры httpd — запустить его от пользователя asterisk и включить опцию AllowOverride. Это можно сделать руками в файле /etc/httpd/conf/httpd.conf, либо автоматически с помощью sed.

# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf

Мы просто выставили следующие параметры:

  • User asterisk
  • Group asterisk
  • AllowOverride All

Httpd запускать пока не надо, так как пользователя asterisk мы еще не создали. Сделаем это после установки asterisk.

Изменим параметр php, который отвечает за максимальный размер загружаемого файла. Дефолтное значение слишком низкое для freepbx. Для этого в /etc/php.ini устанавливаем параметр.

upload_max_filesize = 120M

Сделать это можно либо руками, либо автоматически с помощью sed.

# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini

С веб сервером закончили. Продолжаем подготовку к установке FreePBX на CentOS.

Установка NodeJS

 

Для работы Freepbx требуется сервер NodeJS. Установим его на Centos 7. Подключаем репозиторий NodeJS с помощью скрипта автоматизации от разработчика.

# curl -sL https://rpm.nodesource.com/setup_10.x | bash -

Обновляем кэш yum.

# yum clean all && sudo yum makecache fast

Устанавливаем NodeJS и некоторые зависимости.

# yum install gcc-c++ make nodejs

Проверяем на всякий случай версию:

# node -v

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

Если видите номер версии, значит установка прошла успешно. Продолжаем подготовку к установке Freepbx.

Установка Asterisk

Скачиваем архив последней версии Asterisk с официального сайта.

# cd ~ && wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz

Распаковываем исходники.

# tar zxvf asterisk-17-current.tar.gz

Переходим в директорию с исходниками.

# cd asterisk-17.5.1

Выполняем скрипт для установки пакетов с зависимостями для asterisk.

# contrib/scripts/install_prereq install

Запускаем скрипт для скачивания исходников для работы с mp3.

# contrib/scripts/get_mp3_source.sh

Настраиваем конфигурацию:

# ./configure --with-pjproject-bundled --with-jansson-bundled --with-crypto --with-ssl=ssl --with-srtp

Запускаем меню для выбора параметров:

make menuselect

Установка Asterisk

В целом, можно оставить дефолтную настройку, если вы не очень разбираетесь, что тут выбирать. 

Выбирайте необходимые модули и звуки, в зависимости от того, что вам нужно. Я в общем случае указываю:

  • Add-ons: format_mp3, res_config_mysql.
  • Core Sound Packages: русские звуки RU-WAV.
  • Music On Hold File Packages: звук WAV.
  • Extras Sound Packages: английский EN-WAV, русского к сожалению нет.

Все остальные настройки оставляем по-умолчанию. Ставится много модулей. Все они не нужны, но мало ли, пригодится что-то в будущем. Неиспользуемые модули можно будет потом отключить в конфигурации.

Можно запускать установку asterisk.

# make && make install && make config && make samples && ldconfig

Настроим запуск астериск от системного пользователя asterisk. Для этого редактируем скрипт запуска /usr/sbin/safe_asterisk, установив параметр.

ASTARGS="-U asterisk"

Можете то же самое сделать автоматически.

# sed -i 's/ASTARGS=""/ASTARGS="-U asterisk"/g' /usr/sbin/safe_asterisk

Создадим этого пользователя и назначим нужные права на каталоги.

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

Запускаем Asterisk.

# systemctl start asterisk

Проверьте сразу, что он запустился.

# systemctl status asterisk

Запуск астериск

Если у вас будут ошибки:

radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory

То отредактируйте конфигурационные файлы asterisk, заменив в некоторых строках пути на правильные.

# sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf
# sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf
# sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf

После этого перезапустите asterisk, ошибок быть не должно.

Источник: https://serveradmin.ru/ustanovka-asterisk-i-freepbx-na-centos-7/

  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Настройка аsterisk 17 - SIP АТС LXC CentOS 7

  Здесь  показана рабочая инструкция, по которой можно выполнить настройка Аsterisk 17 для LXC...

Установка настроек, подключение абонентов и проверка внутренних звонков в Asterisk

Астериск у нас уже установлен. Для отладки использую бесплатную софтовую звонилку 3CXPhone 6-й...

Установка голосовой почты в Asterisk

Устанавливаем  голосовую почту в в Asterisk   Продолжаем наращивать функционал voip атс. В...

Установка и настройка Freepbx в OS Сentos 7

Установка и настройка Freepbx на Сentos 7 Скачиваем последнюю версию Freepbx с сайта...

6. Asterisk 15 LXC sip realtime

6. Asterisk 15 LXC installation on Centos 7 SIP configuration of realtime...