Установка Asterisk 1.8.x + FreePBX 2.9.0 (Debian Squeeze)

Asterisk — свободное решение компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium.
Возможностей у Asterisk много, главные из них:
- Голосовая почта;
- Запись разговоров (Call Detail Record);
- Интерактивное голосовое меню (IVR);
- Конференции;
- Центр обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы).

Ну в общем кто знает для чего нужен Asterisk, то приступим к подготовке ОС и установки нужного ПО для Asterisk.

1. Установка ОС Debian Squeeze x64.
Установка описывалась ранее по ссылке.

2. Что нужно перед началом установки.

aptitude install linux-source-2.6 kernel-package make g++ libncurses5-dev
cd /usr/src/
tar xvjf /usr/src/linux-source-2.6.32.tar.bz2
ln -s /usr/src/linux-source-2.6.32 /usr/src/linux
cp /boot/config-`uname -r` /usr/src/linux/.config
cd linux/
yes "" | make oldconfig
make prepare
make prepare scripts

3. Установка Dahdi-Linux

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar zxvf dahdi-linux-complete-current.tar.gz
cd /usr/src/dahdi-linux-complete-<version>/linux/
make
make install

4. Установка Dahdi-Tools

cd /usr/src/dahdi-linux-complete-<version>/tools/
./configure
make
make install
make config

5. Установка libpri

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
tar zxvf libpri-1.4-current.tar.gz
cd /usr/src/libpri-<version>/
make
make install

6. Установка mp3 lame
Для установки mp3lame надо добавить репозиторий:

echo "deb http://www.deb-multimedia.org squeeze main non-free" >> /etc/apt/sources.list.d/mmedia.list

Теперь нам требуется установить ключ для работы с данным репозиторием, предварительно зайдем на сайт и проверим не обновился ли кейринг:
wget "http://deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2012.05.10-dmo4_all.deb" \
-O /tmp/deb-multimedia-keyring_2012.05.10-dmo4_all.deb
dpkg -i /tmp/deb-multimedia-keyring_2012.05.10-dmo4_all.deb

Теперь обновим системные репозитории
apt-get update

И установим сам пакет
apt-get install lame libmp3lame-dev

7. Установка Asterisk
Требуется установить несколько дополнительных пакетов

apt-get install libxml2-dev unixodbc-dev libmyodbc subversion libmysqlclient-dev \
libsqlite0-dev libsnmp-dev

Теперь скачаем и скомпилируем сам Asterisk

cd /usr/src/
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
tar zxvf asterisk-1.8-current.tar.gz
cd /usr/src/asterisk-<version>/
./contrib/scripts/get_mp3_source.sh
./configure
make menuconfig

Выбор модулей в menuconfig:
1. Заходим "Add-ons" и в нём выбираем: app_mysql, app_saycountpl, cdr_mysql, format_mp3, res_config_mysql;
2. Заходим теперь "Extras Sound Packages" и тут выберем EXTRAS-SOUNDS-EN-GSM;
3. Нажимаем кнопку Esc и после кнопку S, где кнопка S делает сохранения и применяет наши изменения.

И скомпилируем

make
make install
make samples

8. Установка дополнительных пакетов и настройка PHP и MySQL
Установим дополнительные пакеты

apt-get install libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 libapache2-mod-php5 \
php5-mysql php5-gd php-pear mysql-server openssl libssl-dev linux-source-2.6.32 bison \
libncurses5-dev libaudiofile-dev curl sox sudo

Изменим настройки в файле /etc/php5/cli/php.ini

upload_max_filesize = 120M
memory_limit = 1024M

Создадим группу и пользователя asterisk

groupadd asterisk
useradd -c "asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk

Создадим MySQL базу и пользователей (пароль amp109 на данном шаге не меняйте, т.к. при установке FreePBX могут возникнуть проблемы и не все установится как требуется)

mysql -u root -p
Enter password: ******
mysql> create database asteriskcdrdb;
mysql> create database asterisk;
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
mysql> quit;

9. Установка FreePBX
Скачаем и распакуем FreePBX

cd /usr/src/
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
tar zxvf freepbx-2.9.0.tar.gz
cd /usr/src/freepbx-2.9.0/

Зальем базы данных в MySQL

mysql -u asteriskuser -pamp109 asteriskcdrdb < /usr/src/freepbx-2.9.0/SQL/cdr_mysql_table.sql
mysql -u asteriskuser -pamp109 asterisk < /usr/src/freepbx-2.9.0/SQL/newinstall.sql

Скомпилируем FreePBX

mv /etc/asterisk/sip_notify.conf /etc/asterisk/sip_notify.conf.backup
/usr/src/freepbx-2.9.0/start_asterisk start
pear install DB
/usr/src/freepbx-2.9.0/install_amp

Почти везде нажимаем enter, меняем только путь к web каталогу и IP.
 
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/html] /var/www
Enter the IP address or hostname Used To access the AMP web-admin: [xx.xx.xx.xx] 192.168.10.1
Enter a PASSWORD to perform call transfers with the Flash Operator Panel: [passw0rd]
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]
Enter directory in Which to store super-user scripts: [/usr/local/sbin]

Изменяем в конфиге apache пользователя и группу, для этого редактируем файл /etc/apache2/apache2.conf и меняем в нем два параметра

User asterisk
Group asterisk

Теперь перезапустим apache

service apache2 restart

На этом установка астериска и freepbx в общем то законченна и теперь можно зайти в web интерфейс FreePBX по IP сервера, в моем случае так http://192.168.10.1/admin с логином и паролем admin.

10. Смена паролей установленных по умолчанию.

Теперь приступим к смене дефолтных паролей на наши, я выберу для настройки пароль "0123456789".

Замена пароля для подключения к БД MySQL (amp109 - по умолчанию).
Для этого требуется отредактировать 3 файла:
1. /etc/amportal.conf изменить пароль на свой в строке "AMPDBPASS=amp109"
2. /etc/asterisk/cdr_mysql.conf изменить пароль на свой в строке "password = amp109"
3. /etc/freepbx.conf изменить пароль на свой в строке "$amp_conf['AMPDBPASS'] = 'amp109'"

NEWPASS='0123456789';
sed -i "s/\(^AMPDBPASS=*\)\(.*\)/\1$NEWPASS/" /etc/amportal.conf
sed -i "s/\(^password = *\)\(.*\)/\1$NEWPASS/" /etc/asterisk/cdr_mysql.conf
sed -i "s/\($amp_conf\['AMPDBPASS'\]\\t= '*\)\(.*\)/\1$NEWPASS';/" /etc/freepbx.conf

Ну и также надо поменять пароль к пользователю asteriskuser в БД MySQL:
echo "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('$NEWPASS');" | mysql -u root -p

Замена паролей для Администратора Астериска (amp111 - по умолчанию).
Для этого требуется отредактировать 2 файла:
1. /etc/amportal.conf изменить пароль на свой в строке "AMPMGRPASS=amp111"
2. /etc/asterisk/manager.conf изменить пароль на свой в строке "secret = amp111"

NEWPASS='0123456789';
sed -i "s/\(^secret = *\)\(.*\)/\1$NEWPASS/" /etc/asterisk/manager.conf
sed -i "s/\(^AMPMGRPASS=*\)\(.*\)/\1$NEWPASS/" /etc/amportal.conf

И также заменить в БД "asterisk" в таблице "freepbx":
echo "UPDATE freepbx_settings SET value='$NEWPASS' WHERE keyword='AMPMGRPASS';" | mysql -u root -p asterisk

Остальные пароли меняются из админки FreePBX.

11. Создание скрипта для автозапуска

Создадим файл amportal-startup в папке /etc/init.d/:

touch /etc/init.d/amportal-startup

Теперь откроем файл для редактирования:

nano /etc/init.d/amportal-startup

И вставим в него следующий скрипт:
#!/bin/sh
# /etc/init.d/amportal-startup
#
 
### BEGIN INIT INFO
# Provides:          Asterisk
# Required-Start:    $remote_fs $syslog $all
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start Asterisk at boot time
# Description:       Enable Asterisk.
### END INIT INFO
 
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 
export PATH
 
case "$1" in
  start)
        amportal start
    ;;
  stop)
        amportal stop
    ;;
  restart)
	amportal stop
	amportal start
    ;;
  *)
    echo "Usage: /etc/init.d/amportal-startup {start|stop|restart}"
    exit 1
    ;;
esac
 
exit 0

Выставим права на файл:
chmod +x /etc/init.d/amportal-startup

Также добавим файл в автозагрузку сервисов
insserv amportal-startup

Теперь перезагрузим систему:
reboot

На этом установка Asterisk+FreePBX завершена.

Если есть вопросы, то просим Вас посетить наш форум, на котором Вы сможете попросить описание совершенно бесплатно...

Отличная статья, спасибо!

Отличная статья, спасибо! После установки столкнулся с проблемой: при входе по адресу http://@myserver@/admin/config.php отображалась только пустая страница. Помогло обновление freepbx. Взял отсюда: wget http://mirror.freepbx.org/freepbx-2.11.0.25.tgz

help

Приветствую, я тоже столкнулся с проблемой: при входе по адресу http://@myserver@/admin/config.php отображается только пустая страница. Но обновления нет для freePBX т.к. я устанавливал самую последнюю версию на сегодняшний день freepbx-2.11.0.42.tgz

Help pls. ))))

Пробуйте установить версии

Пробуйте установить версии которые вышли раньше.
Не всегда самое последнее работает как надо.



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов