Установка 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#
Всё установлено и работает.
Комментарии
Пока комментариев нет.