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

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

  • Наличие компилятора 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#

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

Далее

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

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

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