Установка Asterisk в CentOS 7 - инструкция

Установка Asterisk в CentOS 7 - инструкция

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

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

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

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

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

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

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

  1. Все дальнейшие действия будут осуществляться в «Терминале», поэтому запустите его удобным для вас образом.
  2. Здесь в первую очередь введите команду: sudo yum update Она должна проверить наличие обновлений уже установленных компонентов и добавить их в ОС, чтобы обеспечить корректность взаимодействия с остальными утилитами.
  3. Данная команда, как и все последующие, запускается от имени суперпользователя, а это значит, что ее требуется подтвердить, введя в новой строке пароль. Учитывайте, что символы, написанные таким образом, в строке не отображаются.
  4. При обнаружении апдейтов подтвердите их добавление на сервер, выбрав вариант y.
  5. После этого можно смело инсталлировать все недостающие утилиты. Делается это всего через одну команду sudo yum install gcc wget ntpdate automake libtool Останавливаться на каждой из них мы не будем, поскольку более детальный разбор вы увидите далее.
  6. Некоторые из перечисленных выше утилит уже могут находиться в системе, поэтому при появлении строки «Установка» иногда отображается всего одна или две программы, а остальные элементы являются зависимостями. Подтвердите их установку, выбрав соответствующий вариант ответа.

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

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

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

  1. Используйте команду sudo \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime для выбора временной зоны. В этом варианте устанавливается московский пояс. Если необходим другой, следует изменить указанную ссылку, поменяв путь к файлу.
  2. Командой sudo ntpdate ru.pool.ntp.org синхронизируйте время с сетью.
  3. Введите sudo crontab -e для перехода к конфигурационному файлу времени.
  4. Здесь задайте скрипт на автоматическую синхронизацию, вставив строку 0 0 * * * /sbin/ntpdate ru.pool.ntp.org После сохраните изменения и закройте редактор.

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

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

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

  1. В «Терминале» укажите firewall-cmd --permanent --new-service=asterisk для создания нового сервиса.
  2. Подтвердите создание, указав пароль суперпользователя.
  3. Вы будете уведомлены об успешном выполнении операции сообщением «Success».
  4. После этого можно поочередно вводить приведенные ниже команды, чтобы открыть все нужные порты.

    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 для создания разрешенного сервиса.

  5. Все эти команды так же в обязательном порядке подтверждаются путем ввода пароля суперпользователя.
  6. После внесения изменений следует перезагрузить межсетевой экран, чтобы применить настройки: firewall-cmd --reload

На этом все подготовительные действия закончены — можно переходить к установке дополнительных компонентов для корректного функционирования 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. Его скачивание займет около минуты, поскольку хранилища передают данные не с такой большой скоростью, как хотелось бы. После этого вставьте tar -xvf dahdi-linux-complete-current.tar.gz для распаковки полученных объектов.
  3. Это действие осуществляется через аргумент sudo, поэтому подтвердите его, написав пароль суперпользователя.
  4. По окончании распаковки перейдите к полученной папке через cd dahdi-linux-complete-*.
  5. Здесь начните компиляцию, напечатав sudo make
  6. После этого остается только произвести инсталляцию: sudo make install
  7. Дополнительно можно набрать sudo make config чтобы проверить текущие настройки.
  8. Покиньте каталог исходника через cd .., чтобы приступить к установке следующей утилиты.
  9. Принцип инсталляции LibPRI практически такой же, как рассмотренный только что, а различия наблюдаются лишь в ссылках и названиях директорий. Начинается все с получения архива:

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

  10. Затем осуществляется его распаковка: sudo tar -xvf libpri-current.tar.gz
  11. После успешного извлечения нужно перейти к полученному каталогу через cd libpri-*
  12. Здесь начните сборку утилиты sudo make
  13. По завершении следует установить библиотеку, введя sudo make install
  14. Покиньте текущую папку (cd ..), поскольку больше она нам не понадобится.

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

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

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

  1. В «Терминале» введите wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz для скачивания последней стабильной версии инструмента. Вы можете заменить ссылку, если желаете получить другую сборку, предварительно скопировав ее с официального сайта.
  2. По тому же принципу распакуйте файлы, написав sudo tar -xvf asterisk-*.tar.gz
  3. Через cd asterisk-* переместитесь в полученную директорию.
  4. Для инсталляции зависимостей используется встроенный скрипт ./contrib/scripts/install_prereq install
  5. Далее вставьте вторую примерно такую же команду ./contrib/scripts/install_prereq install-unpackaged
  6. По завершении удалите ненужные остаточные файлы sudo make distclean
  7. Если вы заранее знаете, что необходимо будет работать с файлами формата MP3, надо добавить соответствующую библиотеку, написав ./contrib/scripts/get_mp3_source.sh
  8. Осталось только создать конфигурацию исходных файлов ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --with-dahdi --with-pri --with-iconv --with-libcurl --with-speex --with-mysqlclient
  9. Запустите окно настройки самой утилиты через sudo make menuselect и выставьте там параметры, отталкиваясь от своих потребностей.
  10. Вы уже знаете, что после распаковки и настройки исходников осуществляется их компиляция. Повторите поочередно представленные ниже команды, чтобы завершить эту операцию.

    sudo make
    make install
    make config
    make samples

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

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

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

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

  3. Сохраните изменения и завершите работу с объектом.
  4. Только что мы указали в файле главного пользователя утилиты, поэтому придется добавить его в систему. Осуществляется это через sudo useradd asterisk -m
  5. Далее установите права доступа к папкам, поочередно вставив команды ниже.

    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

  6. По окончании проверьте настройки sudo asterisk -c чтобы убедиться в работоспособности утилиты.
  7. Осталось только запустить Asterisk в качестве службы через systemctl enable asterisk и systemctl start asterisk

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

15:32
19