Опыт установки Asterisk + FreePBX на сервер Altlinux Light 6 платформы.
Часто при повторной установке какой-либо системы либо пакета приходится наступать на одни и те же грабли. Приходится заново читать документацию, разбираться в сообщениях об ошибках. Чтобы упростить процесс установки и облегчить путь идущих за мной, я решил публиковать свой опыт.
Поскольку являюсь старым поклонником Altlinux-а, то установку Asterisk + FreePBX буду производить на него. Не стал дожидаться выхода финального релиза и загрузил бетту Platform6-1.1.7-20110616-server-light-i586-ru-install-cd.iso.
Ставлю ее на комп Pentium(R) Dual-Core CPU E5300 @ 2.60GHz, 512 Мб озу, 10 Гб Hdd.
Во время установки выбираем установку сервисов MySQL, почтового сервера, сервера HTTP, остальное по вкусу.
Правим один из источников /etc/apt/sources.list.d для того, чтобы выкачивать обновления из депозитария Alilinux.
Делаем обновление система:
apt-get update
apt-get upgrade
Попытка поставить из депозитария asterisk 1.8, и на него поставить FreePBX не увенчалась успехом из-за разных пользователей asterisk-а (_asterisk) и FreePBX (asterisk). После долгих мучений, в конце-концов запутался и решил ставить Asterisk из исходников.
Для того, чтобы не создавать пользователей Астерикса и скрипты инициализации вручную устанавливаем пакет asterisk-initscript
apt-get install asterisk-initscript
затем правим в файлах /etc/passwd, /etc/group, /etc/init.d/asterisk _asterisk на asterisk.
Качаем исходники астерикса asterisk-1.8.5.0.tar.gz и разархивируем их в каталог /usr/src/
Чтобы не нарываться на сообщения об ошибках сразу доустанавливаем недостающие пакеты:
apt-get install make gcc cpp4.5 gcc4.5-c++ libxml2-devel ncurses-devel
Теперь запускаем команду:
# /usr/src/asterisk-1.8.5.0/configure
# make menuconfig
# make
Можно переходить к установке FreePBX.
Берем последнюю версию на данный момент freepbx-2.9.0.tar.gz и разархивируем ее в директорию /usr/src/.
По требованию инструкции по установке FreePBX INSTALL устанавливаем следующие пакеты:
apt-get install libtiff-devel lame liblame mysql-devel openssl-devel perl-CPAN bison audiofile audiofile-devel sox
apt-get install pear-DB
apt-get install php5-mysql
Надо подправить параметр data.timezone в файле /etc/php/5.3/cli/php.ini
data.timezone='Europe/Samara'
для своего региона.
Если параметр не установлен, выдается вот такое сообщение об ошибке:
PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Samara' for 'SAMST/4.0/DST' instead in /usr/src/freepbx-2.9.0/amp_conf/htdocs/admin/libraries/utility.functions.php on line 71
Создаем базы данных:
mysql_install_db
mysqladmin -u root
mysqladmin create asteriskcdrdb -p
mysql asteriskcdrdb < /usr/src/freepbx-2.9.0/SQL/cdr_mysql_table.sql
mysqladmin create asterisk -p
mysql --user root -p asterisk < /usr/src/freepbx-2.9.0/SQL/newinstall.sql
mysql --user root
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Прошу заметить что amp109 — это пароль базы данных по умолчанию, каждый набирает свой.
Нужно разкомментировать строку с пользователем root в файле
/etc/sudoers
Это необходимо для правильной работы инсталятора FreePBX
# User privilege specification
root ALL=(ALL) ALL
Теперь запускаем инсталяцию FreePBX
/usr/src/freepbx-2.9.0/install_amp
Правим файл конфигурации Апача
/etc/httpd2/conf/httpd2.conf
User asterisk
Group asterisk
Прописываем доступ к базе данных из Астериска
/etc/asterisk/cdr_mysql.conf
[global]
hostname = localhost
dbname=asteriskcdrdb
password = asteriskuser
user = amp109
userfield=1
;port=3306
;sock=/tmp/mysql.sock
Редактируем файл /etc/freepbx.conf
vi /etc/freepbx.conf
<?php
$amp_conf['AMPDBUSER'] = asteriskuser;
$amp_conf['AMPDBPASS'] = amp109;
$amp_conf['AMPDBHOST'] = localhost;
$amp_conf['AMPDBNAME'] = asterisk;
$amp_conf['AMPDBENGINE'] = mysql;
$amp_conf['datasource'] = ; //for sqlite3
require_once('/var/www/html/admin/bootstrap.php');
Для того, чтобы полноценно заработала флешь панель, нужно запустить на компьютере с веб сервером демон:
/var/www/html/panel/op_server.pl -d
Всё. FreePBX должен работать. Запускаем браузер, и приступаем к настройкам Астериска.
Игорь Головичев, 15.08.2011.
www.myipats.ru