Добро пожаловать в наше руководство: Установка Asterisk 16 на CentOS 8 / RHEL 8. Как обычно, использовать Asterisk версии LTS. Asterisk – это популярная и мощная система УАТС с открытым исходным кодом, функции которой аналогичны тем, которые имеются только в коммерческих системах УАТС. Asterisk поддерживает системы IP PBX, VoIP-шлюзы, серверы конференций и центры обработки вызовов (ЦОВ) как в SMB, так и на предприятиях.
Все дальнейшие команды выполняются от имени суперпользователя root
Содержание
Подготовка CentOS 8 к установке
Обновление
dnf update
Установка времени и часового пояса
hostnamectl set-hostname pro-pbx timedatectl set-timezone Europe/Moscow
Настройка синхронизации времени по NTP
yum -y install chrony systemctl enable --now chronyd
Отредактируем конфигурацию
vi /etc/chrony.conf
Закомментируйте первую строку пула и добавьте список NTP-серверов.
#pool 2.rhel.pool.ntp.org iburst server 0.ru.pool.ntp.org iburst server 1.ru.pool.ntp.org iburst server 2.ru.pool.ntp.org iburst server 3.ru.pool.ntp.org iburst
Установим синхронизацию NTP.
timedatectl set-ntp true systemctl restart chronyd firewall-cmd --add-service=ntp --permanent firewall-cmd --reload
Настройка SELinux
Мы рекомендуем вам изучать, как работать с политиками SELinux, вместо того, чтобы полностью отключать. Если вы предпочитаете установить постоянный режим Permissive, который вместо этого обеспечивает ведение журнала событий, установите этот режим с помощью команды ниже.
Если решили полностью отключить SELinux:
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
Мы будем переводить SELinux в режим Permissive, который обеспечивает ведение журнала событий с помощью команды ниже:
setenforce 0 sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config
Подготовительные работы выполнены, приступаем к установке Asterisk 16 LTS.
Включаем EPEL репозитории
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf repolist epel dnf --disablerepo="*" --enablerepo="epel" list available
Установка средств разработки
Установите средства разработки программного обеспечения и другие зависимости, необходимые для сборки и запуска Asterisk в RHEL / CentOS 8.
dnf group -y install "Development Tools" dnf install git wget vim net-tools sqlite-devel psmisc ncurses-devel libtermcap-devel mariadb mariadb-server newt-devel libxml2-devel libtiff-devel gtk2-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) crontabs cronie-anacron
Настроим MariaDB-сервер и установим пароль root:
systemctl start mariadb systemctl enable mariadb /usr/bin/mysql_secure_installation
Скачивание и установка Jansson
Jansson – это библиотека C для кодирования, декодирования и обработки данных JSON. Загрузите и установите его на сервере CentOS / RHEL 8, выполнив следующие команды:
cd /usr/src/ git clone https://github.com/akheron/jansson.git cd jansson autoreconf -i ./configure --prefix=/usr/ make && make install
Скачивание и установка PJSIP
PJSIP – это бесплатная мультимедийная библиотека с открытым исходным кодом, написанная на языке C, реализующая стандартные протоколы, такие как SIP, SDP, RTP, STUN, TURN и ICE.
Клонируйте проект из Github, затем скомпилируйте и установите:
cd /usr/src/ git clone https://github.com/pjsip/pjproject.git cd pjproject ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr make dep make && make install ldconfig
Скачивание и установка Asterisk 16
Теперь, когда у нас установлены все пакеты зависимостей, мы готовы загрузить и установить Asterisk 16 на CentOS / RHEL 8.
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz tar xvfz asterisk-16-current.tar.gz cd asterisk-16*/
Установите пакеты libedit.
dnf config-manager --set-enabled PowerTools dnf install libedit-devel
Настроим Asterisk:
./configure --libdir=/usr/lib64
Настраиваем необходимые параметры через визуальное меню:
make menuselect
Рекомендовано выбрать:
- chan_ooh323
- format_mp3
- app_macro
- CORE-SOUNDS-RU
- MOH-OPSOUND-WAV
Собираем и устанавливаем Asterisk
contrib/scripts/get_mp3_source.sh make && make install && make samples && make config && ldconfig
Настройка и запуск Asterisk
Создадим пользователя asterisk и дадим права на каталоги этому пользователю:
groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk usermod -aG audio,dialout asterisk chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Настроим запуск службы от созданного пользователя:
$ vim /etc/sysconfig/asterisk AST_USER="asterisk" AST_GROUP="asterisk" $ vim /etc/asterisk/asterisk.conf runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Перезапустим службу asterisk и добавим в автозагрузку:
systemctl start asterisk systemctl enable asterisk
Проверим статус службы:
$ systemctl status asterisk ● asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/rc.d/init.d/asterisk; generated) Active: active (running) since Wed 2019-10-09 18:52:11 EAT; 31s ago Docs: man:systemd-sysv-generator(8) Process: 13468 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS) Process: 13494 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) Main PID: 13525 Tasks: 2 (limit: 11510) Memory: 3.1M CGroup: /system.slice/asterisk.service ├─13523 /bin/sh /usr/sbin/safe_asterisk └─13614 sleep 4 Oct 09 18:52:11 rhel8.local systemd[1]: Stopped LSB: Asterisk PBX. Oct 09 18:52:11 rhel8.local systemd[1]: Starting LSB: Asterisk PBX… Oct 09 18:52:11 rhel8.local systemd[1]: Started LSB: Asterisk PBX.
На этом установка окончена!
Заключение
Теперь у вас есть работающий Asterisk 16 LTS на сервере CentOS / RHEL 8. Установка Asterisk 16 на CentOS 8 окончена. В нашем следующем руководстве мы расскажем об установке и настройке FreePBX в RHEL / CentOS 8. Оставайтесь с нами и оставляйте комментарии, если у вас возникнут какие-либо проблемы с настройкой.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.