Как установить Asterisk на CentOS 7
Как установить Asterisk на CentOS 7
How To Install Asterisk on CentOS 7
Это руководство проведет вас через шаги, необходимые для установки Asterisk 15 на CentOS 7.

Asterisk является самой популярной и широко распространенной платформой PBX с открытым исходным кодом, которая обеспечивает работу систем IP PBX, серверов конференций и шлюзов VoIP. Он используется частными лицами, малыми предприятиями, крупными предприятиями и правительствами по всему миру.
Функции Asterisk включают голосовую почту, музыку в режиме удержания, конференц-связь, очередь вызовов, запись вызовов, интерактивный голосовой ответ и многое другое.
-
Прежде чем продолжить этот урок, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
-
Обновите систему CentOS и установите инструменты разработки, необходимые для компиляции исходного кода Asterisk:
sudo yum update
sudo yum groupinstall core base "Development Tools"
Отключить Селинукс
Если SELinux установлен в enforcing
режим, Asterisk не будет работать правильно.
Чтобы отключить функции безопасности SELinux, откройте /etc/selinux/config
файл и установите SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Сохраните файл и перезагрузите систему CentOS:
sudo shutdown -r now
Как только машина загрузится, убедитесь, что getenforce
команда возвращает Disabled
:
getenforce
Disabled
Скачать Asterisk
Мы собираемся скачать исходный код Asterisk в /usr/src
каталоге, который является общим местом для размещения исходных файлов.
Перейдите в /usr/src
каталог, набрав:
cd /usr/src/
Загрузите последнюю версию Asterisk 15 с помощью следующей команды wget :
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
После завершения загрузки извлеките загруженный файл, используя следующую команду:
sudo tar zxf asterisk-15-current.tar.gz
Прежде чем продолжить выполнение следующих шагов, убедитесь, что вы перешли в исходный каталог Asterisk, набрав:
cd asterisk-15.*/
Установите Asterisk Dependencies
Загрузите источники MP3, необходимые для сборки модуля MP3 и использования файлов MP3 на Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Далее установите все недостающие зависимости с помощью install_prereq
скрипта:
sudo contrib/scripts/install_prereq install
Скрипт установит все необходимые пакеты и после успешного завершения выведет следующее сообщение:
#############################################
## install completed successfully
#############################################
Установка Аsterisk
configure
Скрипт выполнит ряд проверок , чтобы убедиться , что все зависимости, которые необходимы сборки и установки процесса присутствуют, запустите скрипт, набрав:
sudo ./configure --libdir=/usr/lib64
После успешного завершения вы увидите следующий вывод:

Следующим шагом является выбор модулей, которые вы хотите скомпилировать и установить.
Большинство модулей уже включены. Войдите в систему Menuselect, набрав:
sudo make menuselect
Мы уже загрузили исходные файлы MP3, и теперь нам нужно указать Asterisk для сборки модуля MP3, выбрав format_mp3
:

Когда вы закончите, нажмите, F12
чтобы сохранить и выйти, или переключитесь на Save and Exit
кнопку и нажмите Enter
.
Запустите процесс компиляции с помощью make
команды:
sudo make -j2
Сборка может занять некоторое время, в зависимости от вашей системы. Вы можете изменить
-j
флаг в соответствии с количеством ядер вашего процессора.
После завершения процесса сборки вам будет представлено следующее сообщение:

Следующим шагом является установка Asterisk и его модулей, набрав:
sudo make install
После завершения установки скрипт отобразит следующее сообщение:

Теперь, когда Asterisk установлен, нам нужно установить примеры файлов конфигурации.
Установите либо общие файлы конфигурации со справочной документацией, набрав:
sudo make samples
Или установите основные файлы конфигурации:
sudo make basic-pbx
Последний шаг - установить скрипт инициализации Asterisk, набрав:
sudo make config
Наконец, запустите ldconfig
для обновления кеша общих библиотек:
sudo ldconfig
Создать пользователя Asterisk
По умолчанию Asterisk работает от имени пользователя root. По соображениям безопасности мы создадим нового системного пользователя и настроим Asterisk для запуска в качестве вновь созданного пользователя.
Чтобы создать нового системного пользователя с именем, asterisk
выполните следующую команду:
sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk
Чтобы настроить Asterisk для запуска от имени asterisk
пользователя, откройте /etc/sysconfig/asterisk
файл и раскомментируйте следующие две строки:
AST_USER="asterisk"
AST_GROUP="asterisk"
Добавьте asterisk
пользователя в dialout
и audio
группы:
sudo usermod -a -G dialout,audio asterisk
Нам также необходимо изменить владельца и права доступа ко всем файлам и каталогам asterisk , чтобы Asterisk мог получить доступ к этим файлам:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
Запустить Asterisk
Теперь, когда мы все настроены, мы можем запустить службу Asterisk с помощью следующей команды:
sudo systemctl start asterisk
Чтобы убедиться, что Asterisk работает, подключитесь к интерфейсу командной строки Asterisk (CLI), введя:
sudo asterisk -vvvr
Вы увидите приглашение Asterisk CLI по умолчанию:
Последний шаг - запуск службы Asterisk при загрузке с:
sudo systemctl enable asterisk
Настройте правила брандмауэра
Теперь, когда Asterisk установлен и работает, вам нужно настроить брандмауэр, чтобы разрешить трафик через определенные порты Asterisk.
Откройте выбранный вами текстовый редактор и создайте следующий сервис Firewalld:
<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<short>asterisk</short>
<description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
<port protocol="udp" port="10000-10100"/>
<port protocol="udp" port="4569"/>
<port protocol="udp" port="2727"/>
<port protocol="udp" port="5060-5061"/>
</service>
Сохраните файл и примените новые правила брандмауэра, набрав:
sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload
Наконец, проверьте, успешно ли применяются новые правила брандмауэра:
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client asterisk
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Не стесняйтесь настроить брандмауэр в соответствии с вашими потребностями.
Вывод
В этом руководстве мы показали, как установить последнюю версию Asterisk из исходного кода в вашей системе CentOS.
Теперь вы должны проверить документацию Asterisk и узнать больше о том, как настроить и использовать Asterisk.