Asterisk и IP-телефония

Установка FreePBX 14 в связке с Asterisk 16 на Debian 9 Stretch | IT-блог Жаконды

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

IT-блог Жаконды
Поиск
Поддержи автора блога и полезный материал будет появляться чаще
Вы здесь :
IT-блог Жаконды
Asterisk
Установка FreePBX 14 в связке с Asterisk 16 на Debian 9 Stretch
09.12.2019
Автор:
Жаконда
1 962 Просмотров
20 комментариев
Содержание статьи:
Подготовка системы
Устанавливаем DAHDI, LibPRI
Установка Asterisk
Установка FreePBX
Рассмотрим как установить FreePBX 14 в связке с Asterisk 16 на Debian 9 Stretch.
Подготовка системы
Перед началом установки обновляем систему до актуального состояния:
apt-get update && apt-get upgrade -y
Устанавливаем необходимые зависимости:
apt-get install build-essential linux-image-amd64 linux-headers-* apt-transport-https bison flex 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 subversion libtool-bin python-dev unixodbc dirmngr sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev -y
ВНИМАНИЕ. Обязательно перезагружаем систему и после этого продолжаем установку.
Устанавливаем PHP версии 5.6 (для корректной работы FreePBX fwconsole):
curl https://packages.sury.org/php/apt.gpg | apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/deb.sury.org.list
apt-get update && apt-get install php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-mbstring php5.6-gd php5.6-xml php-pear -y
Устанавливаем NodeJS :
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
apt-get install nodejs -y
pear install Console_Getopt
Устанавливаем поддержку MariaDB ODBC
wget https://downloads.mariadb.com/Connectors/odbc/connector-odbc-2.0.15/mariadb-connector-odbc-2.0.15-ga-debian-x86_64.tar.gz
tar -zxvf mariadb*
cp -v mariadb-connector-odbc-2.0.15-ga-debian-x86_64/lib/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/
Устанавливаем DAHDI, LibPRI
Для удобства дальнейшей инсталляции скачиваем все необходимые исходники (dahdi, libpri, asterisk, freepbx) и распаковываем их:
10
cd /opt/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
tar -zxvf dahdi-linux-complete-current.tar.gz
tar -zxvf libpri-current.tar.gz
tar -zxvf asterisk-16-current.tar.gz
tar -zxvf freepbx-14.0-latest.tgz
Собираем по очереди (dahdi, libpri) из исходников и устанавливаем:
cd dahdi-linux-complete-3.*
make all
make install
make config
cd ..
cd libpri-1.*
make
make install
cd ..
Установка Asterisk
Выполняем скрипт, который проверит какие еще необходимо установить зависимости, для работы Asterisk:
cd asterisk-16.*
contrib/scripts/install_prereq install
contrib/scripts/get_mp3_source.sh
В процессе установки, необходимо будет задать телефонный код, оставляем по-умолчанию 7 (Россия).
Выполняем конфигурацию с поддержкой pjproject, jansson, mysqlclient, добавляем поддержку mp3 и запускаем меню выбора устанавливаемых компонентов:
./configure --with-pjproject-bundled --with-jansson-bundled --with-mysqlclient
make menuselect
Выбираем:
Add-ons
— поддержка format_mp3, res_config_mysql, app_mysql, cdr_mysq.
Applications
— поддержка app_macro (необходимый модуль для работы FreePBX)
Core Sound Packeges
— CORE-SOUNDS-EN-ULAW, CORE-SOUNDS-EN-ALAW, CORE-SOUNDS-EN-GSM, CORE-SOUNDS-EN-G729, CORE-SOUNDS-RU-ULAW, CORE-SOUNDS-RU-ALAW, CORE-SOUNDS-RU-GSM, CORE-SOUNDS-RU-G729
Остальное я оставляю по-умолчанию.
Выполняем компиляцию исходников asterisk, затем выполняем установку astersik и завершаем установку asterisk:
make
make install
make config
ldconfig
update-rc.d -f asterisk remove
cd ..
Добавляем asterisk в автозагрузку:
systemctl enable asterisk
Создаем пользователя (asterisk), от которого будет работать asterisk. Назначаем права на каталоги asterisk и удаляем каталог сайта (apache2) по-умолчанию:
useradd -m asterisk
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
rm -rf /var/www/html
touch /etc/asterisk/{modules,cdr}.conf
Установка FreePBX
Вносим необходимые правки в файлы конфигураций php, apache и применяем сделанные изменения в них:
sed -i 's/\(^upload_max_filesize = \).*/\1 256M/' /etc/php/5.6/apache2/php.ini
sed -i 's/\(^memory_limit = \).*/\1 256M/' /etc/php/5.6/apache2/php.ini
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
a2enmod rewrite
service apache2 restart
Создаем файл конфигурации /etc/odbcinst.ini:
cat <<EOF > /etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL (MariaDB)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so
FileUsage = 1
EOF
Создаем файл конфигурации /etc/odbc.ini
10
11
cat <<EOF > /etc/odbc.ini
[MySQL-asteriskcdrdb]
Description = MySQL connection to 'asteriskcdrdb' database
Driver = MySQL
Server = localhost
Database = asteriskcdrdb
Port = 3306
Charset = utf8
Socket = /var/run/mysqld/mysqld.sock

Материал сокращён при переносе в новую базу знаний. Полная версия сохранена в архиве старого сайта.

Позвонить +7 (343) 382-33-16