Установка Asterisk в CentOS 7

Asterisk — одно из известнейших решений компьютерной телефонии, активно устанавливаемое на самые различные серверы. Оно поддерживает практически все современные кодеки и протоколы, а также показывает хорошую стабильность работы, поэтому и завоевало такую популярность среди системных администраторов. Однако начинающие юзеры при попытке интегрировать Asterisk могут столкнуться с самыми разнообразными трудностями, связанными с непосредственной операцией инсталляции. Чтобы избежать подобного, мы рекомендуем изучить наш сегодняшний материал, в котором за пример взят дистрибутив CentOS 7.

Устанавливаем Asterisk в CentOS 7

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

Шаг 1: Предварительные действия

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

Инсталляция необходимых утилит

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

  1. Все дальнейшие действия будут осуществляться в «Терминале», поэтому запустите его удобным для вас образом.
  2. Запуск терминала для выполнения подготовительных действий перед инсталляцией Asterisk в CentOS 7

  3. Здесь в первую очередь введите команду sudo yum update. Она должна проверить наличие обновлений уже установленных компонентов и добавить их в ОС, чтобы обеспечить корректность взаимодействия с остальными утилитами.
  4. Команда для проверки обновлений перед инсталляцией Asterisk в CentOS 7

  5. Данная команда, как и все последующие, запускается от имени суперпользователя, а это значит, что ее требуется подтвердить, введя в новой строке пароль. Учитывайте, что символы, написанные таким образом, в строке не отображаются.
  6. Подтверждение команды проверки обновлений перед инсталляцией Asterisk в CentOS 7

  7. При обнаружении апдейтов подтвердите их добавление на сервер, выбрав вариант y.
  8. Подтверждение установки обновлений перед инсталляцией Asterisk в CentOS 7

  9. После этого можно смело инсталлировать все недостающие утилиты. Делается это всего через одну команду sudo yum install gcc wget ntpdate automake libtool. Останавливаться на каждой из них мы не будем, поскольку более детальный разбор вы увидите далее.
  10. Скачивание дополнительных утилит перед инсталляцией Asterisk в CentOS 7

  11. Некоторые из перечисленных выше утилит уже могут находиться в системе, поэтому при появлении строки «Установка» иногда отображается всего одна или две программы, а остальные элементы являются зависимостями. Подтвердите их установку, выбрав соответствующий вариант ответа.
  12. Подтверждение скачивания дополнительных утилит перед установкой Asterisk в CentOS 7

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

Синхронизация времени

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

  1. Используйте команду sudo \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime для выбора временной зоны. В этом варианте устанавливается московский пояс. Если необходим другой, следует изменить указанную ссылку, поменяв путь к файлу.
  2. Команда для выбора часового пояса перед инсталляцией Asterisk в CentOS 7

  3. Командой sudo ntpdate ru.pool.ntp.org синхронизируйте время с сетью.
  4. Команда для автоматической синхронизации времени через интернет перед установкой Asterisk в CentOS 7

  5. Введите sudo crontab -e для перехода к конфигурационному файлу времени.
  6. Команда для открытия конфигурационного файла времени перед инсталляцией Asterisk в CentOS 7

  7. Здесь задайте скрипт на автоматическую синхронизацию, вставив строку 0 0 * * * /sbin/ntpdate ru.pool.ntp.org. После сохраните изменения и закройте редактор.
  8. Добавление задачи автмоматической проверки времени перед инсталляцией Asterisk в CentOS 7

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

Настройка межсетевого экрана

Конфигурация межсетевого экрана — один из важнейших процессов перед инсталляцией любой утилиты, которая будет функционировать через локальную или глобальную сеть. Asterisk не становится исключением в этом плане, поэтому выполните такие действия:

  1. В «Терминале» укажите firewall-cmd --permanent --new-service=asterisk для создания нового сервиса.
  2. Создание новой службы межсетевого экрана перед инсталляцией Asterisk в CentOS 7

  3. Подтвердите создание, указав пароль суперпользователя.
  4. Подтверждение создания новой службы межсетевого экрана перед инсталляцией Asterisk в CentOS 7

  5. Вы будете уведомлены об успешном выполнении операции сообщением «Success».
  6. Успешное создание новой службы перед инсталляцией Asterisk в CentOS 7

  7. После этого можно поочередно вводить приведенные ниже команды, чтобы открыть все нужные порты.

    firewall-cmd --permanent --service=asterisk --add-port=5060/tcp
    firewall-cmd --permanent --service=asterisk --add-port=5060/udp
    firewall-cmd --permanent --service=asterisk --add-port=5061/tcp
    firewall-cmd --permanent --service=asterisk --add-port=5061/udp
    firewall-cmd --permanent --service=asterisk --add-port=4569/udp
    firewall-cmd --permanent --service=asterisk --add-port=5038/tcp
    firewall-cmd --permanent --service=asterisk --add-port=10000-20000/udp

    В конце напишите firewall-cmd --permanent --add-service=asterisk для создания разрешенного сервиса.

  8. Создание новой разрешенной службы межсетевого экрана перед инсталляцией Asterisk в CentOS 7

  9. Все эти команды так же в обязательном порядке подтверждаются путем ввода пароля суперпользователя.
  10. Подтверждение создания новой разрешенной службы перед инсталляцией Asterisk в CentOS 7

  11. После внесения изменений следует перезагрузить межсетевой экран, чтобы применить настройки: firewall-cmd --reload.
  12. Перезагрузка межсетевого экрана после внесения изменений Asterisk в CentOS 7

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

Шаг 2: Добавление дополнительных компонентов

Как известно, Asterisk не будет работать на сервере, если предварительно не установить важные утилиты, отвечающие за нормализацию взаимодействия с драйверами и TDM-интерфейсами. Драйверы плат реализованы через DAHDI, а для работы интерфейсов нужен LibPRI. Загрузка и сборка этих компонентов займет много времени и потребует активного подключения к интернету, поэтому учитывайте это перед тем, как приниматься за дело.

  1. Начнем с DAHDI. Загрузите архив с файлами, введя команду wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz.
  2. Команда для получения архива DAHDI в CentOS 7 с официального сайта

  3. Его скачивание займет около минуты, поскольку хранилища передают данные не с такой большой скоростью, как хотелось бы. После этого вставьте tar -xvf dahdi-linux-complete-current.tar.gz для распаковки полученных объектов.
  4. Команда для распаковки полученного архива DAHDI в CentOS 7 с официального сайта

  5. Это действие осуществляется через аргумент sudo, поэтому подтвердите его, написав пароль суперпользователя.
  6. Подтверждение распаковки DAHDI в CentOS 7 путем ввода пароля

  7. По окончании распаковки перейдите к полученной папке через cd dahdi-linux-complete-*.
  8. Переход к папке DAHDI в CentOS 7 для дальнейшей его компиляции

  9. Здесь начните компиляцию, напечатав sudo make.
  10. Команда для компиляции компонента DAHDI в CentOS 7

  11. После этого остается только произвести инсталляцию: sudo make install.
  12. Команда для установки компонента DAHDI в CentOS 7 после его компиляции

  13. Дополнительно можно набрать sudo make config, чтобы проверить текущие настройки.
  14. Команда для настройки DAHDI в CentOS 7 после его успешной установки

  15. Покиньте каталог исходника через cd .., чтобы приступить к установке следующей утилиты.
  16. Выход из папки DAHDI в CentOS 7 после завершения установки

  17. Принцип инсталляции LibPRI практически такой же, как рассмотренный только что, а различия наблюдаются лишь в ссылках и названиях директорий. Начинается все с получения архива:

    wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz.

  18. Команда для получения архива LibPRI в CentOS 7 с официального сайта

  19. Затем осуществляется его распаковка: sudo tar -xvf libpri-current.tar.gz.
  20. Распаковка архива LibPRI в CentOS 7 после скачивания с официального сайта

  21. После успешного извлечения нужно перейти к полученному каталогу через cd libpri-*.
  22. Переход к папке с LibPRI в CentOS 7 для компиляции компонента

  23. Здесь начните сборку утилиты sudo make.
  24. Компиляция компонента LibPRI в CentOS 7 после перехода к его папке

  25. По завершении следует установить библиотеку, введя sudo make install.
  26. Установка компонента LibPRI в CentOS 7 по завершении его компиляции

  27. Покиньте текущую папку (cd ..), поскольку больше она нам не понадобится.
  28. Выход из папки LibPRI в CentOS 7 по завершении компиляции

На весь процесс скачивания и компиляции указанных программ уйдет около получаса, что связано с огромным объемом архивов и их долгой распаковкой. Если вы все сделали правильно, никаких ошибок во время этого возникнуть не должно.

Шаг 3: Инсталляция Asterisk

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

  1. В «Терминале» введите wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz для скачивания последней стабильной версии инструмента. Вы можете заменить ссылку, если желаете получить другую сборку, предварительно скопировав ее с официального сайта.
  2. Команда для скачивания последней версии Asterisk в CentOS 7 с официального сайта

  3. По тому же принципу распакуйте файлы, написав sudo tar -xvf asterisk-*.tar.gz.
  4. Команда для распаковки скачанного архива Asterisk в CentOS 7

  5. Через cd asterisk-* переместитесь в полученную директорию.
  6. Переход к полученной директории утилиты Asterisk в CentOS 7

  7. Для инсталляции зависимостей используется встроенный скрипт ./contrib/scripts/install_prereq install.
  8. Первая команда для установки зависимостей утилиты Asterisk в CentOS 7

  9. Далее вставьте вторую примерно такую же команду ./contrib/scripts/install_prereq install-unpackaged.
  10. Вторая команда для установки зависимостей Asterisk в CentOS 7

  11. По завершении удалите ненужные остаточные файлы sudo make distclean.
  12. Команда для удаления остаточных файлов при установке зависимостей Asterisk в CentOS 7

  13. Если вы заранее знаете, что необходимо будет работать с файлами формата MP3, надо добавить соответствующую библиотеку, написав ./contrib/scripts/get_mp3_source.sh.
  14. Установка библиотеки для работы с аудио в Asterisk в CentOS 7

  15. Осталось только создать конфигурацию исходных файлов ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --with-dahdi --with-pri --with-iconv --with-libcurl --with-speex --with-mysqlclient.
  16. Команда для базовой конфигурации Asterisk в CentOS 7 перед установкой

  17. Запустите окно настройки самой утилиты через sudo make menuselect и выставьте там параметры, отталкиваясь от своих потребностей.
  18. Команда для запуска окна настройки Asterisk в CentOS 7 перед инсталляцией

  19. Вы уже знаете, что после распаковки и настройки исходников осуществляется их компиляция. Повторите поочередно представленные ниже команды, чтобы завершить эту операцию.

    sudo make
    make install
    make config
    make samples

  20. Команды для установки Asterisk в CentOS 7 после успешной настройки

Шаг 4: Базовая настройка и запуск

Сегодня мы не будем останавливаться на общей настройке Asterisk, поскольку это не входит в тематику материала и выполняется каждым системным администратором индивидуально, отталкиваясь от самого сервера и потребностей в использовании компьютерной телефонии. Однако есть базовые параметры, которые надо указать для запуска Asterisk, чтобы проверить его работоспособность. Давайте рассмотрим их более детально.

  1. Запустите конфигурационный файл /etc/asterisk/asterisk.conf через любой удобный текстовый редактор.
  2. Запуск конфигурационного файла Asterisk в CentOS 7 для базовой настройки

  3. Вставьте в него приведенные далее строки.

    runuser = asterisk
    rungroup = asterisk
    defaultlanguage = ru
    documentation_language = ru_RU

  4. Установка базовой настройки Asterisk в CentOS 7 через конфигурационный файл

  5. Сохраните изменения и завершите работу с объектом.
  6. Сохранение изменений в конфигурационном файле Asterisk в CentOS 7

  7. Только что мы указали в файле главного пользователя утилиты, поэтому придется добавить его в систему. Осуществляется это через sudo useradd asterisk -m.
  8. Создание нового пользователя для работы с Asterisk в CentOS 7

  9. Далее установите права доступа к папкам, поочередно вставив команды ниже.

    chown -R asterisk:asterisk /var/run/asterisk
    chown -R asterisk:asterisk /etc/asterisk
    chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk
    chown -R asterisk:asterisk /usr/lib64/asterisk
    chown -R asterisk:asterisk /var/log/asterisk

  10. Установка настроек доступа к папке Asterisk в CentOS 7 при настройке утилиты

  11. По окончании проверьте настройки sudo asterisk -c, чтобы убедиться в работоспособности утилиты.
  12. Проверка текущего состояния Asterisk в CentOS 7 после настройки

  13. Осталось только запустить Asterisk в качестве службы через systemctl enable asterisk и systemctl start asterisk.
  14. Команда для запуска утилиты Asterisk в CentOS 7 после успешной настройки

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

Автор статьи Виктор Бухтеев Вам помогли мои советы?
Получить ответ на Email
Уведомить о

1 Ответ
По рейтингу
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Аноним
19 октября 2023 14:13

Спасибо большое за помощь. Помог последний совет. А то уже просто не знала что делать)))

Рекомендуем: