Установка FreePBX в Debian 10

Мы предоставляем услуги удаленного администрирования серверов

Установка FreePBX в Debian 10

FreePBX – это графический интерфейс и система управления с открытым исходным кодом для цифровой АТС Asterisk. Цифровая АТС Asterisk — свободное решение компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium, первоначально разработанное Марком Спенсером. Имя проекта произошло от названия символа «*» (англ. asterisk — «звёздочка»).

В этой статье мы рассмотрим выполняется установка Asterisk на Debian 10. Связка Asterisk + FreePBX позволяет использовать практически все протоколы голосовой связи и видео связи (SIP и H.323) и гибко настраивать голосовую почту, конференцсвязь, IVR (интерактивное голосовое меню), осуществлять запись и хранение диалогов, управлять очередями звонков, распределять звонки по внешним и внутренним абонентам.

Для целей демонстрации установки FreePBX давайте установим Asterisk из пакетов Debian 10.

Содержание статьи:

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

Добавьте в систему репозитории backports для Debian для установки связи odbc для mariadb:


sudo echo deb http://ftp.us.debian.org/debian/ buster-backports main >>/etc/apt/sources.list.d/backports.list

sudo echo deb-src http://ftp.us.debian.org/debian/ buster-backports main >> /etc/apt/sources.list.d/backports.list

Репозитории для установки различных версий PHP:

sudo apt -y install lsb-release apt-transport-https ca-certificates

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Установите репозиторий Node.js:

sudo curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -

И запустите обновление системы:

sudo apt -y update && sudo apt -y upgrade

Шаг 2. Установка необходимых пакетов

После обновления установите необходимые пакеты, Asterisk и релиз PHP7.3, на базе которого гарантированно стабильно будет работать FreePBX:

sudo apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 mariadb-server mariadb-client bison flex php7.3 php7.3-curl php7.3-cli php7.3-common php7.3-mysql php-pear php7.3-gd php7.3-mbstring php7.3-intl php7.3-ldap php7.3-bcmath php7.3-xml curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev sudo subversion libtool-bin python-dev unixodbc dirmngr asterisk asterisk-config asterisk-core-sounds-ru asterisk-core-sounds-ru-g722 asterisk-core-sounds-ru-gsm asterisk-core-sounds-ru-wav asterisk-modules asterisk-mp3 asterisk-mysql asterisk-ooh323 asterisk-opus asterisk-voicemail asterisk-voicemail-odbcstorage nodejs

Запустите asterisk, а автоматический запуск при загрузке системы отключите, так как FreePBX задачи управления Asterisk берет на себя:

sudo systemctl restart asterisk

sudo systemctl disable asterisk

Чтобы подключиться из терминала к консоли Asterisk наберите:

sudo asterisk -rvvv

Эта команда показывает версию установленного Asterisk:

core show version

А эта выводит список модулей Asterisk:

module show

Для выхода выполните:

exit

Шаг 3. Установка зависимостей FreePBX

Загрузите FFMPEG-static и установите его для управления звуками:

cd /usr/src

sudo wget "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz"

sudo tar xf ffmpeg-release-amd64-static.tar.xz

cd ffmpeg-4*

sudo mv ffmpeg /usr/local/bin

Установите PEAR модуль, необходимый для функционирования FreePBX:

sudo pear install Console_Getopt

Шаг 4. Настройка Asterisk

Настройте права и создайте необходимые директории для работы Asterisk + FreePBX:

sudo chown asterisk. /var/run/asterisk

sudo chown -R asterisk. /etc/asterisk

sudo chown -R asterisk. /var/{lib,log,spool}/asterisk

sudo chown -R asterisk. /usr/lib/asterisk

Остановите Asterisk и измените содержимое директории с его конфигурационными файлами /etc/asterisk/

sudo systemctl stop asterisk

cd /etc/asterisk

ls /etc/asterisk/


Введите последовательно команды по настройке конфигурации Asterisk:

sudo mkdir DIST

sudo mv * DIST

sudo cp DIST/asterisk.conf .

sudo sed -i 's/(!)//' asterisk.conf

sudo touch modules.conf

sudo touch cdr.conf

sudo touch /etc/asterisk/{modules,ari,statsd}.conf

sudo chown asterisk:asterisk /var/run/asterisk/*

sudo chmod 0777 /var/run/asterisk/*

Шаг 5. Настройка WEB-сервера apache2

Выберите версию PHP 7.3 для веб-сервера:

sudo a2enmod php7.3

Для работы FreePBX необходимо внести изменения в конфигурационные файлы php и веб-сервера:

sudo sed -i 's/(^upload_max_filesize = ).*/120M/' /etc/php/7.3/apache2/php.ini

sudo sed -i 's/(^memory_limit = ).*/1256M/' /etc/php/7.3/apache2/php.ini

sudo sed -i 's/^(User|Group).*/1 asterisk/' /etc/apache2/apache2.conf

sudo sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf

sudo a2enmod rewrite

sudo systemctl enable apache2

sudo rm /var/www/html/index.html

sudo systemctl restart apache2

Шаг 6. Настройка ODBC

Внесите изменения в файлы /etc/odbc.ini и /etc/odbcinst.ini для подключения Asterisk и FreePBX к MariaDB через коннектор ODBC так, как приведено ниже:

sudo vi /etc/odbc.ini

[MariaDB Unicode]
Driver=libmaodbc.so
Description=MariaDB Connector/ODBC(Unicode)
Threading=0
UsageCount=1

sudo vi /etc/odbc.ini

[MySQL-asteriskcdrdb]
Description = MySQL connection to 'asteriskcdrdb' database
Driver = MySQL
Server = localhost
Database = asteriskcdrdb
Port = 3306
Socket = /var/run/mysqld/mysqld.sock
Option = 3

Шаг 6. Настройки MariaDB

Запустите утилиту первоначальной настройки MariaDB:

sudo mysql_secure_installation

Для единственного сервера цифровой телефонии, хранящего исключительно базы данных Asterisk и FreePBX можно не устанавливать пароль суперпользователя. Однако на рабочей машине, подключенной к Интернет настоятельно рекомендую установить все пароли. Вывод команды и ответы на вопросы, касающиеся обеспечения безопасности установки MariaDB приведу ниже:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n]

На этом все необходимые настройки в конфигурацию Debian 10 внесены.

Шаг 7. Установка FreePBX

Теперь осталась установка freepbx. Перейдите в каталог, в котором хранятся исходные файлы системы:

cd /usr/src

Закачайте архив с пактом FreePBX версии 14:

wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Распакуйте архив и удалите скачанный файл:

tar vxfz freepbx-14.0-latest.tgz
rm -f freepbx-14.0-latest.tgz

Перезагрузите машину, чтобы продолжить установку FreePBX. Если перезагрузки не произойдёт, вы не сможете управлять Asterisk из дистрибутива FreePBX:

reboot

После перезагрузки откройте терминал и продолжайте настройку FreePBX:

cd /usr/scr/freepbx*

sudo ./start_asterisk start

Проверьте, удалось ли запустить Asterisk из дистрибутива FreePBX:

ps ax | grep asterisk

Создайте директорию для установки веб-интерфейса FreePBX, задайте ее права:

sudo mkdir /var/www/freepbx

sudo chown asterisk:asterisk /var/www/freepbx

Если планируется использовать WEB-сервер apache для работы только FreePBX, то установите директорию /var/www/freepbx основной для сервера apache

sed -i 's//var/www/html//var/www/freepbx/g' /etc/apache2/sites-available/000-default.conf

sed -i 's//var/www/html//var/www/freepbx/g' /etc/apache2/sites-available/default-ssl.conf

Находясь в директории /usr/src/freepbx запустите утилиту инсталляции веб-интерфейса FreePBX в созданное расположение /var/www/freepbx. Ключ -n говорит о том, что все остальные параметры установки по-умолчанию, в том числе пароль суперпользователя root MariaDB пустой:

./install --webroot=/var/www/freepbx -n

В процессе установки FreePBX подгружает необходимые модули:

Шаг 8. Подключение к веб-интерфейсу FreePBX

В результате FreePBX будет установлен, к нему можно будет подключиться, введя с машины адрес http://127.0.0.1/ или с любого другого устройства с доступом по сети. Для этого определим «внешний» IP-адрес устройства:

sudo ip a

В моем случае это адрес 192.168.31.57, поэтому после ввода в браузере http://192.168.31.57/ откроется окно настройки FreePBX.

В финале рекомендую установить все необходимые расширения FreePBX из терминала с помощью команды fwconsole

fwconsole ma installall

По завершении установки перезагрузите FreePBX:

fwconsole reload

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


Выводы

Теперь вы знаете как выполняется установка freepbx на Debian 10.В результате установки FreePBX вы смогли получить полностью готовую к работе Цифровую АТС с установленной системой управления звонками, голосовыми функциями, функциями фиксации переговоров и возможностью обработки и управления звонками с помощью функциональности AGI Asterisk и функций FreePBX.

Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA