Установка сервера IP телефонии asterisk 1.8 с web интерфейсом freePBX 2.9.0 на Debian 6
Несколько замечаний:
- Asterisk ставится из отдельных репозиториев
- для freePBX нужен apache, php, mysql
Устанавливаем Asterisk
Добавляем репозитории и устанавливаем для них ключ
echo "deb http://packages.asterisk.org/deb squeeze main" >> /etc/apt/sources.list
echo "deb-src http://packages.asterisk.org/deb squeeze main" >> /etc/apt/sources.list
apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF
Применяем внесенные изменения, обновив список пакетов:
apt-get update
Устанавливаем необходимые пакеты.
apt-get install python-software-properties build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev binutils gcc g++ libxml2-dev ncurses-dev php5-cli php-pear php-db mysql-server sudo
Устанавливаем asterisk:
apt-get install asterisk-1.8 asterisk-dahdi
Устанавливаем freePBX.
Поскольку freePBX работает от имени сервера apache и должен иметь доступ к настройкам asterisk, делаем запуск apsche от имени пользователя asterisk. Внимание!! если у Вас на сервере есть другие сайты, то это скажется на их работе.
Правим конфиг apache /etc/apache2/apache2.conf, меняя пользователя и группу от имени которых он запускается:
User asterisk
Group asterisk
Перезапускаем apache, чтобы применить изменения
/etc/init.d/apache2 restart
Скачиваем и распаковываем freePBX
cd /usr/local/src/
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
tar zxvf freepbx-2.9.0.tar.gz
cd freepbx-2.9.0/
Заходим в командную строку mysql чтобы создать базу данных.
mysql -u root -p
Будет выдан запрос пароля root от mysql (не путать с root системы)
Создаем 2 базы: asterisk и asteriskcdrdb
create database asterisk;
create database asteriskcdrdb;
Даем права на созданные базы:
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'asterpass';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'asterpass';
mysql> flush privileges;
mysql> \q
В дистрибутиве freePBX есть 2 файла sql, содержащих наполнение для созданных баз. Вносим в базу их содержимое. После каждой команды будет запрос пароля root от mysql
mysql -u root -p asterisk < SQL/newinstall.sql
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql
Запускаем скрипт установки freePBX
./install_amp
Тут нужно внимательно читать вопросы и правильно отвечать
hecking for /etc/amportal.conf../etc/amportal.conf does not exist, copying default
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] asterpass
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]
Created /var/www/html
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[xx.xx.xx.xx] ip.ip.ip.ip
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]
В данном примере большинство параметров я оставил по умолчанию.
Поскольку apache работает от имени пользователя asterisk нужно поменять владельца каталога с сайтами
chown -R asterisk:asterisk /var/www/html
На этом установка закончена. Открываем браузер и заходим на <ip сервера asterisk>/html
Логин/пароль
admin/admin
Русификация FreePBX 2.9
Изменить строки в файле FREEPBX_ROOT/admin/views/freepbx_admin.php
< option value="ru_RU" < ?php echo ($_COOKIE['lang']=="ru_RU" ? "selected" : "") ?> >Russki
на
< option value="ru_RU.utf8" < ?php echo ($_COOKIE['lang']=="ru_RU.utf8" ? "selected" : "") ?> >Russian