Содержание:
Asterisk — одно из известнейших решений компьютерной телефонии, активно устанавливаемое на самые различные серверы. Оно поддерживает практически все современные кодеки и протоколы, а также показывает хорошую стабильность работы, поэтому и завоевало такую популярность среди системных администраторов. Однако начинающие юзеры при попытке интегрировать Asterisk могут столкнуться с самыми разнообразными трудностями, связанными с непосредственной операцией инсталляции. Чтобы избежать подобного, мы рекомендуем изучить наш сегодняшний материал, в котором за пример взят дистрибутив CentOS 7.
Устанавливаем Asterisk в CentOS 7
Вся сложность осуществления поставленной задачи заключается в том, что Asterisk не будет работать без дополнительных компонентов, а их понадобится устанавливать вручную, распаковывая архивы и компилируя полученные файлы. Этот процесс займет немало времени, поэтому пришлось разделить все инструкции на шаги, чтобы упростить их понимание. Давайте начнем с подготовительных действий.
Шаг 1: Предварительные действия
Для начала нужно подготовить сервер, поскольку не всегда в CentOS имеются необходимые утилиты, использовать которые понадобится при осуществлении следующих действий, а также не выполнена конфигурация Firewall и времени. Этот шаг самый простой, поскольку требует лишь точного ввода команд, но он тоже разделяется на несколько пунктов.
Инсталляция необходимых утилит
Всего для инсталляции Asterisk и вспомогательных компонентов потребуется пять различных утилит, которые изначально могут отсутствовать в операционной системе. Предлагаем в точности выполнить приведенное ниже руководство, чтобы установить все обновления и недостающее ПО.
- Все дальнейшие действия будут осуществляться в «Терминале», поэтому запустите его удобным для вас образом.
- Здесь в первую очередь введите команду
sudo yum update
. Она должна проверить наличие обновлений уже установленных компонентов и добавить их в ОС, чтобы обеспечить корректность взаимодействия с остальными утилитами. - Данная команда, как и все последующие, запускается от имени суперпользователя, а это значит, что ее требуется подтвердить, введя в новой строке пароль. Учитывайте, что символы, написанные таким образом, в строке не отображаются.
- При обнаружении апдейтов подтвердите их добавление на сервер, выбрав вариант y.
- После этого можно смело инсталлировать все недостающие утилиты. Делается это всего через одну команду
sudo yum install gcc wget ntpdate automake libtool
. Останавливаться на каждой из них мы не будем, поскольку более детальный разбор вы увидите далее. - Некоторые из перечисленных выше утилит уже могут находиться в системе, поэтому при появлении строки «Установка» иногда отображается всего одна или две программы, а остальные элементы являются зависимостями. Подтвердите их установку, выбрав соответствующий вариант ответа.
По завершении операции вы будете уведомлены, что все прошло успешно, и остается перейти к следующему этапу подготовительных действий.
Синхронизация времени
Если есть уверенность, что время на сервере уже было синхронизировано, смело пропускайте этот шаг, переходя к настройке межсетевого экрана. В противном случае понадобится вручную задать часовой пояс и редактировать конфигурационный файл, что выглядит так:
- Используйте команду
sudo \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
для выбора временной зоны. В этом варианте устанавливается московский пояс. Если необходим другой, следует изменить указанную ссылку, поменяв путь к файлу. - Командой
sudo ntpdate ru.pool.ntp.org
синхронизируйте время с сетью. - Введите
sudo crontab -e
для перехода к конфигурационному файлу времени. - Здесь задайте скрипт на автоматическую синхронизацию, вставив строку
0 0 * * * /sbin/ntpdate ru.pool.ntp.org
. После сохраните изменения и закройте редактор.
Теперь можно не беспокоиться о том, что когда-то придется самостоятельно синхронизировать время, ведь благодаря созданному заданию автоматической настройки мы добились требуемого результата. Остается только последний шаг подготовительных работ перед инсталляцией Asterisk.
Настройка межсетевого экрана
Конфигурация межсетевого экрана — один из важнейших процессов перед инсталляцией любой утилиты, которая будет функционировать через локальную или глобальную сеть. Asterisk не становится исключением в этом плане, поэтому выполните такие действия:
- В «Терминале» укажите
firewall-cmd --permanent --new-service=asterisk
для создания нового сервиса. - Подтвердите создание, указав пароль суперпользователя.
- Вы будете уведомлены об успешном выполнении операции сообщением «Success».
- После этого можно поочередно вводить приведенные ниже команды, чтобы открыть все нужные порты.
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
для создания разрешенного сервиса. - Все эти команды так же в обязательном порядке подтверждаются путем ввода пароля суперпользователя.
- После внесения изменений следует перезагрузить межсетевой экран, чтобы применить настройки:
firewall-cmd --reload
.
На этом все подготовительные действия закончены — можно переходить к установке дополнительных компонентов для корректного функционирования Asterisk и быть уверенным, что никаких ошибок во время добавления файлов не возникнет.
Шаг 2: Добавление дополнительных компонентов
Как известно, Asterisk не будет работать на сервере, если предварительно не установить важные утилиты, отвечающие за нормализацию взаимодействия с драйверами и TDM-интерфейсами. Драйверы плат реализованы через DAHDI, а для работы интерфейсов нужен LibPRI. Загрузка и сборка этих компонентов займет много времени и потребует активного подключения к интернету, поэтому учитывайте это перед тем, как приниматься за дело.
- Начнем с DAHDI. Загрузите архив с файлами, введя команду
wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
. - Его скачивание займет около минуты, поскольку хранилища передают данные не с такой большой скоростью, как хотелось бы. После этого вставьте
tar -xvf dahdi-linux-complete-current.tar.gz
для распаковки полученных объектов. - Это действие осуществляется через аргумент sudo, поэтому подтвердите его, написав пароль суперпользователя.
- По окончании распаковки перейдите к полученной папке через
cd dahdi-linux-complete-*
. - Здесь начните компиляцию, напечатав
sudo make
. - После этого остается только произвести инсталляцию:
sudo make install
. - Дополнительно можно набрать
sudo make config
, чтобы проверить текущие настройки. - Покиньте каталог исходника через
cd ..
, чтобы приступить к установке следующей утилиты. - Принцип инсталляции LibPRI практически такой же, как рассмотренный только что, а различия наблюдаются лишь в ссылках и названиях директорий. Начинается все с получения архива:
wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
. - Затем осуществляется его распаковка:
sudo tar -xvf libpri-current.tar.gz
. - После успешного извлечения нужно перейти к полученному каталогу через
cd libpri-*
. - Здесь начните сборку утилиты
sudo make
. - По завершении следует установить библиотеку, введя
sudo make install
. - Покиньте текущую папку (
cd ..
), поскольку больше она нам не понадобится.
На весь процесс скачивания и компиляции указанных программ уйдет около получаса, что связано с огромным объемом архивов и их долгой распаковкой. Если вы все сделали правильно, никаких ошибок во время этого возникнуть не должно.
Шаг 3: Инсталляция Asterisk
Пришло время установить инструмент компьютерной телефонии Asterisk, поскольку все нужные вспомогательные компоненты уже добавлены на сервер. Распространяется программное обеспечение в виде архива TAR.GZ на официальном сайте, а его инсталляция происходит следующим образом:
- В «Терминале» введите
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
для скачивания последней стабильной версии инструмента. Вы можете заменить ссылку, если желаете получить другую сборку, предварительно скопировав ее с официального сайта. - По тому же принципу распакуйте файлы, написав
sudo tar -xvf asterisk-*.tar.gz
. - Через
cd asterisk-*
переместитесь в полученную директорию. - Для инсталляции зависимостей используется встроенный скрипт
./contrib/scripts/install_prereq install
. - Далее вставьте вторую примерно такую же команду
./contrib/scripts/install_prereq install-unpackaged
. - По завершении удалите ненужные остаточные файлы
sudo make distclean
. - Если вы заранее знаете, что необходимо будет работать с файлами формата MP3, надо добавить соответствующую библиотеку, написав
./contrib/scripts/get_mp3_source.sh
. - Осталось только создать конфигурацию исходных файлов
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --with-dahdi --with-pri --with-iconv --with-libcurl --with-speex --with-mysqlclient
. - Запустите окно настройки самой утилиты через
sudo make menuselect
и выставьте там параметры, отталкиваясь от своих потребностей. - Вы уже знаете, что после распаковки и настройки исходников осуществляется их компиляция. Повторите поочередно представленные ниже команды, чтобы завершить эту операцию.
sudo make
make install
make config
make samples
Шаг 4: Базовая настройка и запуск
Сегодня мы не будем останавливаться на общей настройке Asterisk, поскольку это не входит в тематику материала и выполняется каждым системным администратором индивидуально, отталкиваясь от самого сервера и потребностей в использовании компьютерной телефонии. Однако есть базовые параметры, которые надо указать для запуска Asterisk, чтобы проверить его работоспособность. Давайте рассмотрим их более детально.
- Запустите конфигурационный файл
/etc/asterisk/asterisk.conf
через любой удобный текстовый редактор. - Вставьте в него приведенные далее строки.
runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU - Сохраните изменения и завершите работу с объектом.
- Только что мы указали в файле главного пользователя утилиты, поэтому придется добавить его в систему. Осуществляется это через
sudo useradd asterisk -m
. - Далее установите права доступа к папкам, поочередно вставив команды ниже.
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 - По окончании проверьте настройки
sudo asterisk -c
, чтобы убедиться в работоспособности утилиты. - Осталось только запустить Asterisk в качестве службы через
systemctl enable asterisk
иsystemctl start asterisk
.
Сегодня вы изучили поэтапное руководство, основная цель которого — показать начинающим пользователям принцип инсталляции Asterisk и необходимых вспомогательных компонентов. Вам остается только внимательно выполнять каждое действие и обращаться к официальной документации утилиты, чтобы получить сведения о неизвестных функциях программы.
Наш Telegram каналТолько полезная информация
Спасибо большое за помощь. Помог последний совет. А то уже просто не знала что делать)))