Установка Asterisk и FreePBX на Ubuntu 10.04

Asterisk

Asterisk это свободная АТС (PBX)для IP-телефонии. Это то, что большие и не очень компании используют для управления внутренними и внешними телефонными звонками. Asterisk применяется как движок для АТС с разнообразными оболочками управления, одну из ни используют для создания коробочной АТС под названием Trixbox. Возможно использование Asterisk и без оболочек, но это довольно-таки не просто. Специально для того, чтобы облегчить жизнь пользователям и администратору используется такая оболочка, как FreePBX.

FreePBX

FreePBX это графический интерфейс для Asterisk. FreePBX использует web интерфейс, которым можно управлять звёздочкой с любого места и гораздо проще чем из командной строки. Он использует модули, которые расширяют функционал, как, например, Firefox.

Для серверов, рекомендуется обновить релиз Ubuntu:

apt-get install update-manager-core

отредактировать /etc/update-manager/release-upgrades и установить Prompt=normal

Обновить релиз, следуя инструкциям на экране:

do-release-upgrade

УстановкаAsterisk And FreePBX

Переключитесь в режим суперпользователя командой:

sudo su

Выполняем обновление:

apt-get update
apt-get upgrade

Установите MySQL:

apt-get install mysql-server

Введите пароль по запросу.

Устанавливаем MySQL, PHP, заголовки ядра для компиляции Asterisk

apt-get install 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 phpmyadmin g++ libxml2-dev
ncurses-dev php5-cli php-pear php-db

Заходим в каталог, куда будем скачивать исходники:

cd /usr/src

Скачиваем последнюю стабильную версию на данный момент (скачать и проверить можно тут:
http://downloads.asterisk.org/pub/telephony/asterisk/releases/

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.20.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.3.tar.gz

Распаковываем все исходники в /usr/src/

tar -vxzf asterisk-1.6.2.20.tar.gz
tar -vxzf asterisk-addons-1.6.2.3.tar.gz

Компилируем Asterisk в следующем порядке:

cd asterisk-1.6.2.20
./configure
make && make install
make samples
cd asterisk-addons-1.6.2.1
./configure
make && make install
make samples

Скачиваем и распаковываем дополнительные звуки:

cd /var/lib/asterisk/sounds
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-alaw-current.tar.gz
tar -vxzf asterisk-extra-sounds-en-alaw-current.tar.gz

Создаём пользователя Asterisk в Linux:

adduser asterisk --disabled-password --no-create-home --gecos "asterisk PBX user"

Добавляем пользователя в группы:

adduser www-data asterisk

Резирвируем конфигурационный файл Apache:

cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig

Настраиваем конфиг Apache и разрешения:

sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
chown -R asterisk:asterisk /var/www
chown -R asterisk:asterisk /etc/phpmyadmin
chown -R asterisk:asterisk /var/lib/phpmyadmin
chown -R asterisk:asterisk /usr/share/phpmyadmin

Создаём сценарий запуска/остановки сервиса Asterisk:

cd /usr/src/asterisk-1.6.2.20/contrib/init.d/
cp rc.debian.asterisk /etc/init.d/asterisk

Отредактируем конфигурационный файл: /etc/init.d/asterisk

DAEMON=/usr/sbin/asterisk
ASTVARRUNDIR=/var/run/asterisk
ASTETCDIR=/etc/asterisk

Проверьте правильность разрешений:

chmod 755 /etc/init.d/asterisk
chmod +x /etc/init.d/asterisk
chown asterisk:asterisk /etc/init.d/asterisk

Настройте запуск Asterisk при старте компьютера:

update-rc.d asterisk defaults 90 10

Скачиваем и распаковываем свежую FreePBX:

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

Копируем настройки Amportal:

cp amportal.conf /etc/

Устнаваливаем переменные окружение. Эти переменные будут содержать пароль для MySQL, для того чтобы скрипты срабатывали автоматически. Один – это администраторский пароль, а второй – пароль к базе данных Asterisk. Эти переменные исчезнут, как только терминальная сессия закроется. Но я рекомендую вычистить их из файла ~/.bash_history

export MYSQL_ROOT_PW=abcd
export ASTERISK_DB_PW=wxyz

Запускаем скрипты базы данных:

mysqladmin -u root -p${MYSQL_ROOT_PW} create asterisk
mysqladmin -u root -p${MYSQL_ROOT_PW} create asteriskcdrdb
mysql -u root -p${MYSQL_ROOT_PW} asterisk < SQL/newinstall.sql
mysql -u root -p${MYSQL_ROOT_PW} asteriskcdrdb < SQL/cdr_mysql_table.sql
mysql -u root -p${MYSQL_ROOT_PW} <<-END_PRIVS
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY "${ASTERISK_DB_PW}";
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY "${ASTERISK_DB_PW}";
flush privileges;
END_PRIVS

Добавляем пароль из базы данных в конфигурационный файл amportal:

sed -i "s/# \(AMPDBUSER=.*\)/\1/" /etc/amportal.conf
sed -i "s/# \(AMPDBPASS=\).*/\1${ASTERISK_DB_PW}/" /etc/amportal.conf
sed -i "s@\(AMPWEBROOT=\).*@\1/var/www/@" /etc/amportal.conf
sed -i "s@\(FOPWEBROOT=\).*@\1/var/www/panel@" /etc/amportal.conf
sed -i "s@\(FOPWEBADDRESS=\).*@PUTIPADDRESS@" /etc/amportal.conf

Устанавливаем максимальный размер файла для загрузки в 120МБ.

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini

Изменяем разрешения для файлов и каталогов к которым Asterisk должен иметь доступ:

chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /var/www/

Небольшой твик в конфигурационном файле:

sed -i '1 s/\(\[directories\]\).*/\1/' /etc/asterisk/asterisk.conf

Запускаем Asterisk

./start_asterisk start

Устанавливаем (наконец-то) FreePBX (в случае с 2.8.0-rc1 надо запустить этот файл два раза):

./install_amp --username=asteriskuser --password=xyzdbfrt

Перезапускаем Apache

/etc/init.d/apache2 restart

Делаем симлинк для файлов «Music On Hold»:

ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3

Запускаем FreePBX

amportal start

Теперь можно подключаться через веб-интерфейс http://ваш_IP_адрес:

Если логин/пароль не подходят, то сбрасываем аутентификацию:

amportal admin auth_none

Заходим через веб-интерфейс и включаем возможность аутентификации:

http://ваш_IP_адрес/admin/config.php?type=tool&display=advancedsettings

Allow Login With DB Credentials=TRUE

Включаем аутентификацию в FreePBX:

amportal admin auth_database

При ошибке:
Symlink from modules failed

retrieve_conf failed to sym link:
/etc/asterisk/sip_notify.conf from core/etc
This can result in FATAL failures to your PBX. If the target file exists and not identical, the symlink will not occur and you should rename the target file to allow the automatic sym link to occur and remove this error, unless this is an intentional customization.
Added 15 minutes ago
(retrieve_conf.SYMLINK)

Нужно удалить файл /etc/asterisk/sip_notify.con и перезапустить FreePBX (amportal restart)

Не переключается язык в freepbx
Проблема возникает в web-интерфейсе при выборе языка (любого) ничего не происходит. Язык с Английского не меняется ни на какой другой. При это модуль languages установлен.

Решение:
Открываем список локализаций

vim /usr/share/locale/locale.alias

Удаляем строку с кодировкой для russian и добавляем 3 строки вместо нее:

russian ru
ru ru_RU
ru_RU ru_RU.UTF-8

Затем:

# locale-gen ru_RU
# /etc/init.d/apache2 restart

Меняем default asterisk manager password:

sed -i -e 's/amp111/10asterisk10/g' /etc/asterisk/extensions_additional.conf /etc/asterisk/manager.conf /etc/asterisk/phpagi.conf /etc/amportal.conf

Заходим в веб-интерфейс (FreePBX Advanced Settings) и открываем скрытые настройки:
Display Readonly Settings=TRUE
Override Readonly Settings=TRUE

Меняем дефоултный пароль amp111 на свой!
Перезагружаем

amportal restart

Related posts:

  1. Installing Asterisk and FreePBX on Ubuntu Server 6.06 LTS This document assumes prior knowledge of how to use Linux...
  2. Установка FreePBX + Asterisk Проект компании Digium – Asterisk. Известен многим, как и вэб...
  3. Asterisk – храним CDR в БД MySQL. Asterisk. Настройка. Статья#1. Складываем CDR в MySQL. Должны быть установлены...
  4. Установка Netams-3.4.5 под Centos. Настройка и тюнинг Бесплатное программное обеспечение NETAMS 4.0 (релиз 489 от 4 марта)...
  5. Взлом и защита вашего сервера Asterisk Сегодня я наткнулся на интересную программу – sipvicious. Это SIP...
You can leave a response, or trackback from your own site.

One Response to “Установка Asterisk и FreePBX на Ubuntu 10.04”

  1. Sergey:

    Добрый вечер помогите кто в теме пытаюсь по статье поставить астерикса – дошол до команды openssh-server bison flex apache2 php5 php5-curl а система говорит что команда не найдена….перед этим ручками отдельно поставил сервер Заранее спасибо…

Оставить комментарий

*