Установка Asterisk из исходников. Настройка корпоративной телефонии — часть №1

Данный материал открывает цикл статей по настройке корпоративной телефонии на основе программного пакета Asterisk с открытым исходным кодом. Проект Asterisk динамично развивается — он очень функционален и позволяет реализовать сложную конфигурацию сети и полностью отказаться от использования традиционных телефонов и АТС.



Также продукт бесплатен, что обуславливает его широкое распространение в компаниях малого и среднего бизнеса. Установка Asterisk из исходников позволяет получить самую свежую версию пакета, которой нет в репозиториях. Из исходников собирать также нужно когда нужна какая-то особенная конфигурация.

Установка Asterisk из исходников

Для демонстрации используется ОС Ubuntu 14.04 и пакет Asterisk 11 — LTS (Long Term Support).
 
 

Установка Asterisk из исходников на Ubuntu

Прежде всего пакет необходимо скачать с официального сайта компании http://www.asterisk.org. Находим нужную версию и копируем ссылку на скачивание при помощи правой кнопки мыши.

Скачиваем пакет

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Устанавливаем ПО, необходимое для сборки и компиляции

apt-get install build-essential wget libssl-dev libncurses-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev

Конструкция linux-headers-$(uname -r) позволяет скачать версию linux-headers соотносящуюся с используемой версией ядра ОС.

Разархивируем основной скачанный пакет:

tar zxvf asterisk-11-current.tar.gz

 

Переходим в каталог и изучаем инструкцию по сборке и установке

 

cd asterisk-11.25.1

 

less README.txt

 

Конфигурируем

./configure

Выполняем make menuconfig и, при необходимости, включаем  или выключаем определенные опции установки

Компилируем пакет

make

 

Устанавливаем

make install

 

После установки каталог /etc/asterisk с конфигурационными файлами пуст — их можно создавать вручную, можно также создать файлы с тестовой конфигурацией — так и поступим:

make samples

Убедимся в том, что файлы создались успешно

ls

Теперь asterisk можно запустить из консоли выполнив

asterisk -cvvv

CTRL+C завершит процесс

 

Пакет на данном этапе уже работоспособен, но для его нормального использования необходимо создание инициализационного скрипта

Копируем его из директории с распакованным пакетом, который скачали изначально, при этом переименовывая

cd /asterisk-package/contrib/init.d/

 

cp rc.debian.asterisk /etc/init.d/asterisk

 

Чтобы инициализационный скрипт работал в него необходимо внести некоторые изменения

which asterisk

Увидим asterisk /usr/sbin/asterisk

Соответственно, задаем параметры в конфиге

mcedit /etc/init.d/asterisk

DEAMON=/usr/sbin/asterisk
ASTVARRINDIR=/var/run/asterisk
ASTETCDIR=/etc/asterisk

 

/etc/init.d/asterisk start

 

Сейчас скрипт отрабатывает корректно, однако выдает ошибку об эскаляции прав «privilege escalation protection desabled»

Исправляем:

mcedit /etc/asterisk/asterisk.conf

 

live_dangeroulsy=no

Требуется просто снять знак комментария

 

Создадим системного пользователя astertisk и заставим пакет работать от его имени

 

astertisk -r

 

ps aux

Сейчас работает от имени root

/etc/init.d/asterisk stop

 

useradd -d /var/lib/asterisk asterisk

 

chown -R asterisk /var/spool/asterisk /var/lib/asterisk /var/run/asterisk

 

Переходим в каталог с распакованным пакетом

cd contrib/init.d

 

cp etc_default_asterisk /etc/default/asterisk

 

Задаем в скопированном и переименованном скрипте пользователя и группу снимая знаки комментария

mcedit /etc/default/asterisk

 

AST_USER=»asterisk»
AST_GROUP=»asterisk»

 

/etc/init.d/asterisk start

 

ps aux

Сейчас процесс выполняется от имени пользователя asterisk

asterisk -r

Перзапускаем корректно работающий сервис

/etc/init.d/asterisk restart

Последним шагом добавляем процесс в автозагрузку.

update-rc.d asterisk defaults

 

Теперь при рестарте системы asterisk будет запускаться автоматически.

 

 

Следующая статья цикла по настройке офисной телефонии:

Asterisk настройка сети. Корпоративная телефония часть №2