Установка Asterisk 15 и FreePBX 14 на Centos 7

Начальная настройка системы

  • При установке ОС нужно не забыть указать root пароль.
  • Также включить сетевой адаптер и настроить его:

set_root_password_centos7 netwotrk_enable_centos7

  • Чтобы было легче осуществлять настройку, в дальнейшем можно подключаться по ssh.
  • Нужно запускать все эти команды от пользователя root.
  • Также нужно отключить selinux. Он может вести себя странно во время установки.

Отключение selinux

  • Внутри /etc/sysconfig/selinux измените следующие строки:
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
  • Перезагрузитесь (reboot) и проверьте статус selinux путем запуска 'sestatus'. Он должен вывести:
SELinux status: disabled

Установка зависимостей

  • Выполняйте куски команд поочередно:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install kernel-devel kernel-headers \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-utils
yum-config-manager --enable remi-php56
  • Скопировать все строки и вставить в консоль:
yum install -y e2fsprogs-devel  keyutils-libs-devel krb5-devel libogg \
libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear \
php php-gd php-mysql php-pdo php-mbstring ncurses-devel \
mysql-connector-odbc unixODBC unixODBC-devel \
audiofile-devel libogg-devel openssl-devel zlib-devel  \
perl-DateManip sox git wget net-tools psmisc
  • Скопировать все строки и вставить в консоль:
yum install -y gcc gcc-c++ make gnutls-devel \
libxml2-devel ncurses-devel subversion doxygen \
texinfo curl-devel net-snmp-devel neon-devel  \
uuid-devel libuuid-devel sqlite-devel sqlite \
speex-devel gsm-devel libtool libtool-ltdl libtool-ltdl-devel \
libsrtp libsrtp-devel xmlstarlet
yum update -y
  • Перезагружаемся:
reboot
  • Устанавливаем MariaDB(MySQL):
yum -y install mariadb-server mariadb mariadb-devel
  • Включаем и запускаем сервис Mariadb(MySQL):
systemctl start mariadb.service &&
systemctl enable mariadb.service
  • Опционально. Запускаем интерактивный конфигуратор, вас спросят пароль от root и другое:
mysql_secure_installation
Если вы задали пароль root пользователя mysql, позднее, при установке FreePBX выполните скрипт ./install в интерактивном режиме без ключа «-n».
В ходе выполнения установки вам будет предложено ввести пароль пользователя root в mysql. Введите ранее заданный пароль.

Выполняем команды также как и раньше

  • Скачиваем архив с Asterisk:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
  • Распаковываем:
tar zxvf asterisk-15-current.tar.gz
  • Переходим в директорию:
cd asterisk*
  • Запускаем скрипт:
contrib/scripts/get_mp3_source.sh
  • Выполняем скрипт:
contrib/scripts/install_prereq install
  • Настраиваем:
./configure --with-pjproject-bundled --with-crypto --with-ssl=ssl --with-srtp
  • Запускаем меню:
make menuselect
  • Поменяйте настройки как вам будет нужно:

На скриншотах показана минимальная установка аддонов, кодеков и драйверов канала.



Установка

make && make install && make config && ldconfig
  • Настройка запуска Asterisk от имени того же пользователя:
sed -i 's/ASTARGS=""/ASTARGS="-U asterisk"/g'  /usr/sbin/safe_asterisk
  • Создание пользователя 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:
/etc/init.d/asterisk start

Вывод:

Starting asterisk (via systemctl):                         [  OK  ]
  • Проверим пользователей:
ps aux | grep asterisk

Вывод:

root       872  0.0  0.0 115300   780 ?        S    12:12   0:00 /bin/sh /usr/sbin/safe_asterisk
asterisk   881  2.4  0.9 1314384 36532 ?       Sl   12:12   0:01 /usr/sbin/asterisk -f -U asterisk -vvvg -c
Если ответ будет такой:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)

То просто перезагрузите сервер и выполните:

asterisk -vvvr

Осуществим некоторые модификации в 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
  • Запустим установочный скрипт
    • если пропустить ключ «-n» установка пройдет в интерактивном режиме, это может пригодиться, например, если задан пароль mysql.
./install -n
Если после выполнения последней команды консоль выдаст ошибку типа:
Reading /etc/asterisk/asterisk.conf...Error!
Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section

Добавить в конец конфига /etc/asterisk/asterisk.conf строки:

[directories]
astetcdir => /etc/asterisk
astmoddir => /usr/lib/asterisk/modules
astvarlibdir => /var/lib/asterisk
astdbdir => /var/lib/asterisk
astkeydir => /var/lib/asterisk
astdatadir => /var/lib/asterisk
astagidir => /var/lib/asterisk/agi-bin
astspooldir => /var/spool/asterisk
astrundir => /var/run/asterisk
astlogdir => /var/log/asterisk
astsbindir => /usr/sbin

Выключение фаервола и запуск и автозагрузка http сервера

  • Выключаем фаервол и убираем из автозагрузки:
systemctl stop firewalld &&
systemctl disable firewalld
  • Запускаем сервер http и ставим в автозагрузку:
systemctl start httpd &&
systemctl enable httpd

Готово!

Теперь вы можете начать использовать FreePBX. Откройте свой веб-браузер и подключитесь к IP адресу или имени хоста вашего нового FreePBX сервера. Вы увидите страницу настройки Администратора, где вы сможете поменять пароль для аккаунта 'admin' и настроить email адрес для получения уведомлений об обновлениях. Мы надеемся, что вам понравтся работать с FreePBX 14!

Автоматический запуск

Вам может понадобится запуск FreePBX, чтобы запустить Asterisk при загрузке. Вы можете посмотреть пример скрипта автозагрузки systemd здесь.

Только авторизованные участники могут оставлять комментарии.
  • asterisk_install/asterisk15_freepbx14_centos7_ru.txt
  • Последние изменения: 2018/10/08