Архив за день: 18.02.2015

Установка Asterisk 11 и FreePBX платформу Banana Pi.

Хочу поделится с вами способом установки Asterisk 11.16 и FreePBX2.11. Установка производилась на платформу Banana Pi, операционная система Bananian.

Актуальные версии на момент публикации.

Bananian 15.01
Asterisk 11.16
FreePBX 2.11

Для начала обновимся

# bananian-update

По желанию можно настроить время, сменить пароль root и язык консоли.

# bananian-config

На установленную систему ставим необходимые пакеты для asterisk и freepbx.

# apt-get install -y apache2 mysql-server mysql-client libgnutls26 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 mc

Переустанавливаем PearDB
# pear uninstall db
# pear install db-1.7.14

Перегружаемся:

# reboot

Качаем исходники

# cd /usr/src
# wget https://iksemel.googlecode.com/files/iksemel-1.4.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Ставим iksemel (Google Talk)

# tar xf iksemel-1.4.tar.gz
# cd iksemel-1.4
# ./configure
# make
# make install

Ставим LIBPRI

# cd /usr/src
# tar xvfz libpri-1.4-current.tar.gz
# cd libpri-1.4.15
# make
# make install

Компиляция и установка Asterisk

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

Выбираем модули в категории Add-ons — app_mysql, cdr_mysql, format_mp3, res_config_mysql

# make
# make install
# make config

При установке , после выполнения команды «make install» система выдаст сообщение

+—- Asterisk Installation Complete ——-+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ make samples +
+ +
+—————— or ———————+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+——————————————-+
make install 8,03s user 3,26s system 30% cpu 37,513 total
root@bananapi ~src/asterisk-11.16.0 # make config
update-rc.d: using dependency based boot sequencing

Это значит что установка выполнена, при этом оговаривается, что для установки файлов конфигурации следует выполнить команду «make samples» Мы пока повременим с установкой файлов конфигурации. выполняем # make config

Ставим звуковые файлы

# cd /var/lib/asterisk/sounds
# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-# gsm-current.tar.gz
# tar xvfz asterisk-extra-sounds-en-gsm-current.tar.gz
# rm asterisk-extra-sounds-en-gsm-current.tar.gz

Установка и настройка FreePBX
# export VER_FREEPBX=2.11
# cd /usr/src
# git clone http://git.freepbx.org/scm/freepbx/framework.git freepbx
# cd freepbx
# git checkout release/${VER_FREEPBX}

Создадим пользователя Asterisk и назначим права.

# adduser asterisk —disabled-password —gecos «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
# chown -R asterisk. /var/www/

Редактируем конфиг 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

Создаем пользователя и базы данных в mysql для asterisk (команды выполняем находясь в каталоге usr/src/freepbx )

# mysqladmin -u root -p create asterisk
# mysqladmin -u root -p create asteriskcdrdb
# mysql -u root -p asterisk < SQL/newinstall.sql
# mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql

Установка разрешений на базе MySQL.

# mysql -u root -p -e «GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109’;»
# mysql -u root -p -e «GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘amp109’;»
# mysql -u root -p -e «flush privileges;»

Где «amp109» пароль по умолчанию к базам Mysql пользователя asterisk, вы можете назначить свой пароль. При выполнение команд система будет у вас запрашивать рутовый пароль к базам данных.

Запускаем astersik:
# /usr/src/freepbx/start_asterisk start

Продолжаем установку Freepbx

# ./install_amp —webroot /var/www

Отвечаем на вопросы:
Checking for PEAR DB..OK
Checking for PEAR Console::Getopt..OK
Using Webroot at /var/www
Checking user..OK
Checking if Asterisk is running..running with PID: 28133..OK
Creating new /etc/amportal.conf
Enter your USERNAME to connect to the ‘asterisk’ database:
[asteriskuser]
Enter your PASSWORD to connect to the ‘asterisk’ database:
[amp109]
Enter the hostname of the ‘asterisk’ database:
[localhost]
Enter a USERNAME to connect to the Asterisk Manager interface:
[admin]
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111]
Enter the path to use for your AMP web root:
[/var/www]Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[192.168.1.1] # ваш ip устройсва на текущий момент
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions]
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin]
Created /var/lib/asterisk/bin
Enter directory in which to store super-user scripts:
[/usr/local/sbin]

Продолжаем установку

# amportal a ma installall

Если вы получаете в конце ошибку:
Failed to install due to the following missing required module(s): < br / > < br /> manager <br /> < br / > The following error(s) occured:
— Failed to run installation scripts

а в выводе следующей команды

# amportal a reload

получаем сообщение:

[FATAL] Unable to connect to Asterisk Manager from /var/lib/asterisk/bin/retrieve_conf, aborting

То нужно сделать следующее:

Остановить asterisk:

# /etc/init.d/asterisk stop

Отредактировать файл /etc/asterisk/manager.conf
В последний двух строчках вместо символов # поставить ; Asterisk не понимает привычный символ решетки, в его синтаксисе комментарии выделяются точкой с запятой.
Было:
#include manager_additional.conf
#include manager_custom.conf
Стало:
;include manager_additional.conf
;include manager_custom.conf

Теперь запускаем asterisk.

# /usr/src/freepbx/start_asterisk start
И снова выполняем:

# amportal a reload

Please wait…Successfully reloaded

Останавливаем asterisk.
# /etc/init.d/asterisk stop

Запускам файловый менеджер # mc и перемещаем все конфигурационные файлы из каталога /etc/asterisk в любой вновь созданный каталог (каталог /etc/asterisk остается пустым)

Переходим в установочный каталог астериска. и создаем файлы конфигурации

# cd /usr/src/asterisk-11.16.0
# make samples

Возвращаем файлы из вновь созданного каталога в каталог /etc/asterisk ,копируем с заменой.
Запускаем asterisk:

# /usr/src/freepbx/start_asterisk start

Заходим через браузер по адресу http://ip.сервера/
готово

Источники:
http://zeroxzed.ru/asterisk-11-i-freepbx-ustanovka-na-debian-7-wheezy/
http://wiki.freepbx.org/display/HTGS/Installing+FreePBX+on+Debian+Wheezy