Asterisk + FreePBX на Debian 8

asreisk-and-freepbx В настоящее время большую популярность получил сервер голосовой связи Asterisk. Удобнее всего им управлять с помощью web панели администрирования Freepbx. Вопросом установки и настройки этого инструмента я бы и хотел заняться в этой статье. За основу возьмем сервер Debian 8.

1. Устанавливаем зависимости:

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3

2. Устанавливаем PearDB:

root@debian:/# pear install db-1.7.14
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
downloading DB-1.7.14.tgz ...
Starting to download DB-1.7.14.tgz (134,864 bytes)
.............................done: 134,864 bytes
install ok: channel://pear.php.net/DB-1.7.14

3. Перезагружаем сервер

4. Устанавливаем Asterisk

# cd /usr/src
# 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-1.5.0.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
# git clone https://github.com/akheron/jansson.git

5. Сборка и установка DAHDI:

# tar xvfz dahdi-linux-complete-current.tar.gz
# cd dahdi-linux-complete-*
# make all
# make install
# make config

6. Собираем и ставим LIBPRI:

# cd /usr/src
# tar xvfz libpri-1.4.0.tar.gz
# cd libpri-*
# make
# make install

7. Компилируем и устанавливаем pjproject:

# cd /usr/src
# tar -xjvf pjproject-2.2.1.tar.bz2
# cd pjproject-2.2.1
# CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
# make dep
# make
# make install

8. Компилируем и устанавливаем jansson:

# cd /usr/src/jansson
# autoreconf -i
# ./configure
# make
# make install

9. Собираем и ставим Astersik 13:

# cd /usr/src
# tar xvfz asterisk-13-current.tar.gz
# cd asterisk-13.9.1
# ./configure
# contrib/scripts/get_mp3_source.sh
# make menuselect

В Addons выбираем

[*]format_mp3
[*]res_config_mysql
[*]app_mysql
[*]cdr_mysql


# make
# make install
# make config
# ldconfig

10. Устанавливаем дополнительные звуки:

# mkdir -p /var/lib/asterisk/sounds
# cd /var/lib/asterisk/sounds
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
# tar xfz asterisk-extra-sounds-en-wav-current.tar.gz
# rm -f asterisk-extra-sounds-en-wav-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz
# tar xfz asterisk-extra-sounds-en-g722-current.tar.gz
# rm -f asterisk-extra-sounds-en-g722-current.tar.gz

11. Установка Freepbx 12

# cd /usr/src
# wget http://mirror.freepbx.org/freepbx-12.0.43.tgz
# tar xvfz freepbx-12.0.43.tgz

12. Создаем нового пользователя Asterisk:

# 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

13. Вносим изменения в конфиг apache:

# sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# service apache2 restart

14. Настраиваем базу данный mysql:

# mysqladmin -u root -p create asterisk
# mysqladmin -u root -p create asteriskcdrdb
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '123';"
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '123';"
# mysql -u root -p -e "flush privileges;"

15. Стартуем asterisk:

# /usr/src/freepbx/start_asterisk start

16. Продолжаем установку FreePBX:

# cd /usr/src/freepbx
# ./install_amp --installdb --username=asteriskuser --password=123

В процессе установки отвечаем на вопросы. В конце получите сообщение
****************************************
* At This Time Please Restart Asterisk *
****************************************

Продолжаем:

# amportal chown
# amportal a ma installall

Получил ошибку:
Module digiumaddoninstaller successfully downloaded
This Module Requires The Digium RPM to be installed (php-digium_register-3.0.5-1_centos6.i686.rpm).

Все из-за того что этот пакет не поддерживается в Debiad, только в Centos и т.п. (Этот пакет отвечает за управлениями лицензиями).
Необходимо удалить digiumaddoninstaller следующей командой ну или переходить на Centos:

# amportal a ma delete digiumaddoninstaller

Запустить команду amportal a ma installall так и не получилось, поэтому будем устанавливать только необходимые модули для FreePBX 12, иначе телефон не сможет зарегистрироваться в системе:

amportal a ma upgrade framework
amportal a ma upgrade core
amportal a ma upgrade voicemail
amportal a ma upgrade sipsettings
amportal a ma upgrade infoservices
amportal a ma upgrade featurecodeadmin
amportal a ma upgrade logfiles
amportal a ma upgrade callrecording
amportal a ma upgrade cdr
amportal a ma upgrade dashboard

Продолжаем:

# amportal a reload
# amportal a ma refreshsignatures
# amportal chown
# ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3
# amportal restart

Установка закончена. Дальше можно заняться конфигурированием FreePBX.

Материал найден на сайте serveradmin(dot)ru

Добавить комментарий