Главная >> Инструкции >> Установка FreePBX в Debian 10

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

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

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

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

Для целей демонстрации установки 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

4DSYE+l0AAAAAElFTkSuQmCC

Шаг 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

wQJbawEA6AHqUwLqs+3Pc147F039P4IWb0SS+6KVAAAAAElFTkSuQmCC

 

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

module show

rkxEf9KOn0AAAAASUVORK5CYII=

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

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/

gcc0+FKOWBbVwAAAABJRU5ErkJggg==

Введите последовательно команды по настройке конфигурации 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

wM541GQaxYaQwAAAABJRU5ErkJggg==

sudo a2enmod rewrite

sudo systemctl enable apache2

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

sudo systemctl restart apache2

o95S+voC5C4AAAAASUVORK5CYII=

Шаг 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

YlubCZUBA5EAAAAASUVORK5CYII=

Шаг 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]

AUvR2DOWBg3wAAAAAElFTkSuQmCC

На этом все необходимые настройки в конфигурацию 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

Awp+CIpzpNnaAAAAAElFTkSuQmCC

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

sudo mkdir /var/www/freepbx

sudo chown asterisk:asterisk /var/www/freepbx

8zSSAAAAAElFTkSuQmCC

Если планируется использовать 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

v87iTiGPwi7EQAAAABJRU5ErkJggg==

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

mX09ty6osMAAAAASUVORK5CYII=

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

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

sudo ip a

7rP+2sgZQAAAABJRU5ErkJggg==

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

DsKoSARpPvUAAAAASUVORK5CYII=

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

fwconsole ma installall

tGJaLgx5iggAAAAASUVORK5CYII=

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

fwconsole reload

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


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

Выводы

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

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

2 комментария к “Установка FreePBX в Debian 10”

  1. Я извиняюсь, делал всё в точности, но так не работает - сперва непонятно зачем понатыканное везде sudo.
    Его в пустом Deb10 нету

    "sudo curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -"
    =>## Defer setup until we have the complete script setup
    Фиг с ним:
    curl -sL https://deb.nodesource.com/setup_11.x -o nodesource_setup.sh
    bash nodesource_setup.sh
    apt-get update && sudo apt-get install yarn
    apt-get upgrade
    node -v
    #v11.15.0

    Дальнейшая установка всего и сразу выдала:
    Package 'libsrtp0-dev' has no installation candidate
    Фиг с ним, какой то "кусок циски" ... пробуем без него

    The following packages have unmet dependencies:
    asterisk-voicemail : Conflicts: asterisk-voicemail-storage
    asterisk-voicemail-odbcstorage : Conflicts: asterisk-voicemail-storage
    E: Unable to correct problems, you have held broken packages.

    Либо Ваш дистрибутив имел какие то отличия от чистого, либо это просто непроверенная "локализация" ВИКИ freePBX"

    Ответить
  2. К предыдущему комменту - да, это невычитанный и неопробованный вариант с WIKI

    Ставим сами curl и sudo (или работаем под рутом)
    Если ставите на Проксмоксе - не устанавливаем linux-headers-`uname -r`
    Пакет libsrtp0-dev меняем на libsrtp2-dev

    asterisk-voicemail : Conflicts: asterisk-voicemail-storage
    asterisk-voicemail-odbcstorage : Conflicts: asterisk-voicemail-storage
    #сам встал на этом месте. может, кто подскажет, что делать?

    Ответить

Оставьте комментарий