Главная >> Инструкции >> Установка 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.

Реклама
Посмотреть детали

Proton Drive — это облачное хранилище со сквозным шифрованием от компании, которая создала Proton Mail, которое может стать хорошей заменой Google Диску. Все файлы шифруются на вашем устройстве, поэтому они недоступны даже для самой компании Proton. Вы получаете синхронизацию между устройствами, общий доступ к файлам, автоматическое резервное копирование фото и удобные приложения для всех платформ, но с гарантией, что ваши данные останутся исключительно вашими и никто не будет тренировать на них AI. В бесплатной версии доступно 5 ГБ места на диске. Посмотреть детали

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
    #сам встал на этом месте. может, кто подскажет, что делать?

    Ответить

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