В настоящее время большую популярность получил сервер голосовой связи 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