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

Сервер телефонии Asterisk #Asterisk

Материал упоминает устаревшие версии и утилиты: init.d (сейчас — systemd). Проверьте актуальность для вашей системы.

Предварительные требования

  • Наличие компилятора GCC
  • Библиотека OpenSSL (криптография)
  • Библиотека ncurses (вывод "красивостей" на терминал Asterisk)
  • Библиотека newt (библиотека Asterisk для работы с ncurses)
  • Библиотека libxml2 (для анализа файлов с XML)

Создаём директорию для исходников в домашней директории и переходим в неё

host$ pwd
/home/user

host$ mkdir source && mkdir source/asterisk && cd source/asterisk

host$ pwd
/home/user/source/asterisk

host$

Скачиваем исходный код выбранной версии

Выбрал старую популярную версию 11, которая часто стоит на сетевых накопителях типа QNAP или Synology.

host$ wget https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-11.13.1.tar.gz
Распознаётся downloads.asterisk.org (downloads.asterisk.org)... 76.164.171.238, 2001:470:e0d4::ee
Подключение к downloads.asterisk.org (downloads.asterisk.org)|76.164.171.238|:443...
соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 34959077 (33M) [application/x-gzip]
Сохранение в каталог: ««asterisk-11.13.1.tar.gz»».

100%[===================================================================>] 34 959 077  9,52M/s   за 4,6s

2019-03-03 23:15:57 (7,20 MB/s) - «asterisk-11.13.1.tar.gz» saved [34959077/34959077]

host$

Исходный код Asterisk 11 содержится примерно в 1500 файлах.

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

host$ tar -zxvf asterisk-11.13.1.tar.gz
asterisk-11.13.1/
asterisk-11.13.1/Makefile.moddir_rules
...
... тут идут строки с именами файлов, распакованных из архива ...

host$ cd asterisk-11.13.1

host$ pwd
/home/user/source/asterisk/asterisk-11.13.1

Производим предварительные проверки перед установкой

Проверки и установку надо производить с правами root.

host$ su
Пароль: ******

host# pwd
/home/user/source/asterisk/asterisk-11.13.1

host# ./configure

Проверка может длиться до нескольких минут и она предупредит вас о любых недостающих системных библиотеках или других зависимостях. До тех пор пока всё необходимое для вашей версии Asterisk не будет установлено, скрипт конфигурации будет прерываться.

Компиляция и установка

host# make
...

host# make install
...

host#

Установка конфигурационных файлов с примерами настройки

Этот шаг необязателен. Вы можете самостоятельно поместить свои файлы конфигураций с нужную директорию (обычно это /etc/asterisk). Если вы уже поместили в директорию с конфигурациями свои файлы, то они получат приставку .old к своему названию, а файлы конфигурации с примерами настройки займут их место.

host# make samples
...

host#

Установка скрипта инициализации

Теперь, когда Asterisk скомпилирован и установлен, последний шаг это установка скрипта инициализации (или initscript). Этот скрипт запускает Asterisk при запуске сервера, он будет отслеживать процесс Asterisk на случай возникновения внештатных ситуаций и также может быть использован для остановки или перезапуска Asterisk.

host# make config
...

host#

Во время работы Asterisk будут создаваться журналы операций. Рекомендуется установить скрипт для ротации и архивирования логов, что сохранит вам много дискового пространства.

host# make install-logrotate
...

host#

Запустим и проверим работу Asterisk

host# /etc/init.d/asterisk status
asterisk is stopped

host# /etc/init.d/asterisk start
Starting asterisk:
...

host# /etc/init.d/asterisk status
asterisk (pid 32117) is running...

host#

Всё установлено и работает.

Далее

Сценарии действий

Оценка статьи 0

Комментарии

Пока комментариев нет.