Загрузка asterisk на сервер
Я буду устанавливать LTS версию Asterisk 16. Советую для долгосрочного использования всегда использовать LTS версии. Они в целом стабильнее и дольше срок поддержки. Идем на страницу https://www.asterisk.org/downloads/asterisk/all-asterisk-versions и копируем ссылку на нужную версию. Загружаем ее на сервер.
# cd /usr/src # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
После загрузки, сразу распаковываем.
# tar xzvf asterisk-16-current.tar.gz
Переходим в директорию с исходниками asterisk 16.
# cd asterisk-16.*
Установка зависимостей для asterisk 16
Установим теперь все необходимые зависимости в debian. Перебирать вручную их нет необходимости. Все зависимости собраны в скрипте, который надо запустить, находясь в директории с исходниками.
# contrib/scripts/install_prereq install
В процессе установки вам могут задавать различные вопросы. Везде можно выбирать дефолтные значения. Дальше скачаем исходники mp3, которые нужны для сборки mp3 модуля.
# contrib/scripts/get_mp3_source.sh
Это все необходимые зависимости. Можно приступать к сборке и установке asterisk 16
Установка Asterisk 16 на Debian 10
Запускаем скрипт подготовки исходников asterisk к компиляции.
# ./configure
Успешное завершение подготовки будет ознаменовано следующим выводом в консоль.
На следующем этапе мы будем выбирать компоненты астериска для установки.
# make menuselect
К тому, что установлено по-умолчанию, я добавляю:
- На первой вкладке format_mp3.
- В Core Sound Packages указываю русские звуки RU-WAV.
- В Extras Sound Packages выбираю английский EN-WAV, русского, к сожалению, нет.
Продолжаю, после принятия настроек, нажатием на Save & Exit. Компилируем, добавляя ключ j4. В данном случае у меня 4 ядра на сервере, сборка будет происходить с участием всех ядер.
# make -j4
Успешное окончание сборки будет обозначено сообщением в консоли.
Теперь устанавливаем asterisk 16 и все его модули.
# make install
В процессе установки инсталлятор будет загружать некоторые файлы, к примеру wav файлы, из интернета. По окончании установки, увидите сообщение.
Формируем образцы файлов конфигурации, чтобы не писать их с нуля самим.
# make samples
В завершении установки, создаем init скрипт.
# make config
Можно еще обновить кэш используемых динамических библиотек.
# ldconfig
На этом непосредственно установка asterisk 16 закончена.
Запуск asterisk
По-умолчанию, asterisk установлен от root и будет запускаться от него же. Я предлагаю для этого создать отдельного пользователя и запускать астериск от него. Для этого создаем пользователя и добавляем его в некоторые группы.
# adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk" asterisk # usermod -a -G dialout,audio asterisk
Настраиваем Asterisk на запуск под этим пользователем. Для этого добавляем в конфиг /etc/default/asterisk параметры:
AST_USER="asterisk" AST_GROUP="asterisk"
Назначаем новому пользователю права на директории астериска.
# chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
Пробуем запустить asterisk:
# systemctl start asterisk
Если нет сообщений об ошибке, скорее всего все в порядке. Проверяем статус службы.
# systemctl status asterisk
Asterisk запустился, но у меня ошибка:
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory
Не может найти необходимый конфиг. Я проверил глазами, директории /etc/radiusclient-ng действительно нет, но есть /etc/radcli, где находится указанный в ошибке конфиг radiusclient.conf. Подозреваю, что это он и есть. Посмотрел, где в конфигах астериска используется этот путь. Оказалось, что в /etc/asterisk/cdr.conf и /etc/asterisk/cel.conf. Я там раскомментировал параметры, где указан ошибочный путь и указал правильный.
В /etc/asterisk/cdr.conf раскомментировал и отредактировал строки:
[radius] radiuscfg => /etc/radcli/radiusclient.conf
То же самое в /etc/asterisk/cel.conf:
[radius] radiuscfg => /etc/radcli/radiusclient.conf
После этого перезапустил астериск и проверил, все было в порядке.
# systemctl restart asterisk # systemctl status asterisk
Добавим астериск в автозагрузку:
# systemctl enable asterisk
Запускаем консоль астериск и убеждаемся, что он работает:
# rasterisk
Все в порядке, сервер телефонии asterisk установлен и готов к работе. Можно заниматься настройкой.
Заключение
Мы установили оригинальную версию asterisk 16 на сервер под управлением debian 10 без каких-либо дополнений и web панелей. Дальше можно приступать к настройке. Я рекомендую воспользоваться моей инструкцией по базовой настройке asterisk с нуля. Там подробно рассказано как сконфигурировать основной функционал, который удовлетворит потребности в телефонии для среднестатистического офиса. Настройка включает в себя так же запись разговоров и подробную статистику звонков.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Свежие комментарии