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


Данный материал открывает цикл статей по настройке корпоративной телефонии на основе программного пакета Asterisk с открытым исходным кодом. Проект 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

Сказать спасибо