Установка Asterisk и Asterisk GUI на Ubuntu 20.04
Короткое описание
Asterisk — свободный VoIP‑сервер для построения телефонии на базе TCP/IP. В этом руководстве показано, как собрать Asterisk из исходников, установить Asterisk GUI и выполнить базовую настройку и защиту сервера на Ubuntu 20.04.
Важно: инструкции предполагают, что у вас есть доступ к серверу с правами root и статический IP. Перед началом сделайте полную резервную копию важных данных.
Предварительные требования
- Сервер с Ubuntu 20.04.
- Настроенный статический IP‑адрес на сервере.
- Доступ root или эквивалент (sudo).
Начало работы
Обновите список пакетов:
apt-get update -yУстановите зависимости, необходимые для сборки Asterisk:
apt-get install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev -yПосле установки зависимостей переходите к загрузке исходников.
Установка Asterisk (сборка из исходников)
По умолчанию в репозиториях Ubuntu может не быть последней версии Asterisk. Скачиваем и собираем из исходников.
Скачивание архива (пример для ветки 17):
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gzРаспаковка архива:
tar -xvzf asterisk-17-current.tar.gzПерейдите в распакованный каталог и скачайте исходники MP3 (необходимы некоторые дополнения):
cd asterisk-17.7.0
contrib/scripts/get_mp3_source.shВы увидите файлы из каталога addons/mp3, как в примере вывода.
Установите дополнительные зависимости через скрипт:
contrib/scripts/install_prereq installЗапустите конфигурацию сборки:
./configureЗатем откройте меню выбора модулей для включения рекомендуемых пакетов:
make menuselectВ меню отметьте нужные плагины, дополнения звуковых пакетов и MOH (музыка при ожидании). После выбора нажмите Save & Exit.
Примеры экранов выбора (для ориентира):




После сохранения запустите сборку:
makeОжидаемый итог сборки:
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+Установите бинарники, примеры конфигураций и системные файлы:
make install
make samples
make config
ldconfigСоздание системного пользователя для Asterisk
Создайте группу и системного пользователя, назначьте права на аудио и портовые устройства:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
usermod -aG audio,dialout asteriskИзмените владельца каталогов Asterisk на созданного пользователя:
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asteriskКонфигурация работы от пользователя asterisk
Отредактируйте файл /etc/default/asterisk и назначьте пользователя и группу:
nano /etc/default/asteriskРаспакуйте и раскомментируйте:
AST_USER="asterisk"
AST_GROUP="asterisk"Отредактируйте файл /etc/asterisk/asterisk.conf и установите runuser/rungroup:
nano /etc/asterisk/asterisk.confРаспакуйте и раскомментируйте:
runuser = asterisk
rungroup = asteriskПерезапустите службу и включите автозапуск:
systemctl restart asterisk
systemctl enable asteriskПроверьте статус службы:
systemctl status asteriskВы можете подключиться к CLI Asterisk:
asterisk -rvvОжидаемый приветственный вывод укажет версию и пользователя, под которым запущен Asterisk.
Включение веб‑GUI Asterisk
Чтобы управлять Asterisk через веб, включите HTTP‑сервер в конфигурации.
Отредактируйте /etc/asterisk/http.conf:
nano /etc/asterisk/http.confУбедитесь, что параметры соответствуют (раскомментируйте и при необходимости поправьте):
enabled = yes
bindaddr = 0.0.0.0
bindport = 8088
prefix = asterisk
enable_static = yes
enablestatic = yes
redirect = / /static/config/index.html
uploads = /var/lib/asterisk/uploads/Затем добавьте менеджерский аккаунт в /etc/asterisk/manager.conf:
nano /etc/asterisk/manager.confПример минимальной конфигурации для доступа GUI (замените секрет на надёжный пароль):
enabled = yes
webenabled = yes
port = 5038
bindaddr = 0.0.0.0
[admin]
secret = admin1234
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config,originateВажно: не используйте простой пароль в продакшене. Ограничьте доступ по IP‑фильтру или VPN.
Установка Asterisk GUI
Загрузите репозиторий GUI (пример через SVN):
svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0Перейдите в каталог и соберите GUI:
cd 2.0/
./configure
make
make installПосле установки менеджер уведомит о необходимости внести изменения в конфигурационные файлы для корректной работы GUI.
Перезапустите Asterisk:
systemctl restart asteriskДоступ к веб‑GUI
Откройте в браузере:
http://your-server-ip:8088/asterisk/static/config/index.html
Вход: укажите admin и пароль, который вы прописали в manager.conf.

После успешного входа вы увидите панель управления GUI.

Мини‑методология развёртывания (короткий план)
- Подготовка ОС: обновления, базовые пакеты, резервные копии.
- Установка зависимостей и инструментов сборки.
- Скачивание и сборка Asterisk в тестовом окружении.
- Настройка пользователей и прав, проверка запуска сервиса.
- Включение GUI, проверка доступа, смена паролей.
- Базовая безопасность: firewall, fail2ban, ограничение менеджера по IP.
- Перенос в продакшен после тестов и мониторинга.
Роли и чек‑листы
Администратор системы:
- Выполнить обновление и установить зависимости.
- Настроить системного пользователя asterisk.
- Настроить автозапуск и мониторинг службы.
Сетевой инженер:
- Открыть порты 5060 (SIP, если используется), 5061 (SIPS), 8088 (GUI) и 5038 (AMI) в firewall, только при необходимости.
- Настроить NAT и проброс RTP (диапазон портов для аудио).
Инженер безопасности:
- Заменить пароли в manager.conf на сложные.
- Ограничить доступ к AMI по IP или через VPN.
- Установить fail2ban для защиты SIP/AMI от перебора.
Рекомендации по безопасности
- Измените admin1234 на сильный и уникальный пароль.
- Разрешайте доступ к 5038 и 8088 только из доверенных сетей.
- Используйте TLS/SRTP для защиты сигнализации и медиапотока.
- Включите логирование и периодически проверяйте необычные попытки доступа.
- Подключение к PSTN через доверенного провайдера с шифрованием.
Когда этот подход не подходит
- Если вам нужен быстрый тестовый стенд — проще использовать готовые пакеты из репозиториев или Docker‑образ.
- Для высоконагруженных продакшен‑инстансов может лучше подойти коммерческая поддержка или дистрибутивы с готовыми оптимизациями.
- Если вы не хотите поддерживать сборку из исходников и ручные обновления, используйте пакеты и контейнеры с регулярными обновлениями.
Альтернативные подходы
- Установка из дистрибутивных пакетов (speed, проще обновлять).
- Развёртывание в Docker-контейнере: удобно для тестов и агрегации версий.
- Использование готовых дистрибутивов на базе Asterisk с GUI (например FreePBX) для сокращения ручной конфигурации.
Отладка и типичные проблемы
- Сервис не запускается: проверьте логи в /var/log/asterisk и status systemd.
- Отсутствие аудио: проверьте проброс RTP‑диапазона и NAT, порты UDP.
- GUI не доступен: убедитесь, что http.conf включает enabled и порт 8088 открыт во внешнем firewall.
- Невозможно подключиться к AMI: проверьте bindaddr и права в manager.conf.
Критерии приёмки
- Сервис Asterisk запущен и отвечает на asterisk -rvv.
- Веб‑GUI доступен по адресу и удачно авторизует администратора.
- Базовая телефония (SIP‑регистрация/вызов внутри сети) работает.
- Ограничен доступ к менеджеру AMI и GUI для посторонних сетей.
Глоссарий
- VoIP: передача голоса по IP‑сетям.
- AMI: Asterisk Manager Interface, API для управления сервером.
- MOH: music on hold, музыка ожидания.
- RTP: протокол реального времени для передачи аудио/видео.
Резюме
- Сборка из исходников даёт гибкость и контроль, но требует поддержки обновлений.
- Для быстрой установки используйте пакеты или контейнеры.
- Обязательно применяйте базовые меры безопасности: сложные пароли, firewall, ограничение по IP.
Короткие шаги после установки: смените секреты, настройте firewall, протестируйте SIP/RTP и настройте резервное копирование конфигураций.