Хочу поделится с вами способом установки 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