Абонентское обслуживание компьютеров

База знаний - Linux

Установка сервера 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