Как установить Asterisk на Almalinux 10

Дата публикации: 2025-09-03T09:21:59

Теги: ["Asterisk", "Almalinux"]

⏪ Вернуться домой
⏪ В Gemlog

Asterisk - это open-source для создания приложений связи. Кроме того, Asterisk превращает обычный компьютер в сервер связи, и он запускает системы IP PBX и VoIP-шлюзы и серверы конференций и другие пользовательские приложения. Малые и крупные бизнес-компании, колл-центры, перевозчики и правительственные учреждения по всему миру используют его. В этом посте мы шаг за шагом объясним, как установить Asterisk на AlmaLinux 10.

Предпосылки

Конвенции

# — данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ – данные команды должны выполняться от имени обычного пользователя.

Шаг 1. Обновите систему

Мы предполагаем, что у вас установлена ​​новая версия AlmaLinux 10. Нам необходимо обновить системные пакеты до последних доступных версий. Для этого выполните следующие команды:

sudo dnf update -y && sudo dnf upgrade -y

Шаг 2. Настройте SELinux и Firewall

Я собираюсь отключить SElinux, чтобы не предотвращать любые установки.

sudo sed -i -e "s/^SELINUX=.*/SELINUX=disabled/" /etc/selinux/config

После этого перезагрузите свой сервер.

Шаг 3. Установите EPEL и необходимые пакеты

Существует ряд пакетов, которые Asterisk требует установки. Запустите следующие команды для их установки:

sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
##OR
sudo dnf install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm

Установите другие требуемые пакеты следующим образом:

sudo dnf -y install git wget vim net-tools sqlite-devel psmisc ncurses-devel newt-devel libxml2-devel libtiff-devel gtk2-devel libtool libuuid-devel subversion kernel-devel crontabs cronie-anacron libedit libedit-devel

Также установите пакеты групповых инструментов разработки со следующей командой:

sudo dnf group -y install "Development Tools"

Шаг 4. Установите Jansson

Jansson - это C библиотека для кодирования, декодирования и манипулирования данными JSON.

cd /usr/src/ 
sudo git clone https://github.com/akheron/jansson.git 
cd jansson 
sudo autoreconf  -i 
sudo ./configure --prefix=/usr/ 
sudo make
sudo make install

Шаг 5. Установите PJSIP

PJSIP - это свободная и открытая мультимедийная коммуникационная библиотека. Он реализует стандартные протоколы, такие как SIP, SDP, RTP, STUN, TURN и ICE. Скачать последнюю версию с официального веб-сайта с использованием виджета, экстракта и установки следующим образом:

cd ~
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
sudo make install
sudo ldconfig

Шаг 6. Установите Asterisk 22 LTS

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

cd /usr/src
sudo wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz
sudo tar xvf asterisk-22-current.tar.gz
cd asterisk-22*/

Установка зависимостей Asterisk с помощью скрипта `install_prereq`:

sudo ./contrib/scripts/install_prereq install

Чтобы включить MP3-музыку во время ожидания, выполните следующие команды для установки необходимых зависимостей.

sudo dnf install svn
sudo ./contrib/scripts/get_mp3_source.sh

Затем настройте Asterisk следующим образом:

sudo ./configure --libdir=/usr/lib64 --with-jansson-bundled

Настройка Asterisk Меню опций, используя следующую команду:

sudo make menuselect

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

рисунок 1

На Core Sound Packages выберите форматы пакетов Audio, как показано ниже.

рисунок 2

Для Music on Hold выберите показанные пакеты.

рисунок 3

На дополнительные звуковые пакеты выберите как показано ниже.

рисунок 4

После этого нажмите на `Save & Exit`.

рисунок 5

Затем запустите команду ниже, чтобы построить Asterisk.

sudo make

Затем установите Asterisk со следующей командой.

sudo make install

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

sudo make samples
sudo make config

Теперь создайте отдельного пользователя для запуска услуг Asterisk и обновите право собственности на каталоги.

sudo groupadd asterisk 
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk 
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk 
sudo restorecon -vr {/etc/asterisk,/var/lib/asterisk,/var/log/asterisk,/var/spool/asterisk}

Установить пользователя по умолчанию Asterisk для asterisk:

$ sudo vim /etc/sysconfig/asterisk
###Uncomment these lines 
AST_USER="asterisk" 
AST_GROUP="asterisk" 

$ sudo vim /etc/asterisk/asterisk.conf
###Uncomment these lines
runuser = asterisk ; The user to run as. 
rungroup = asterisk ; The group to run as.

Шаг 7. Создайте служебный файл для автоматического запуска Asterisk

Создайте файл службы Linux.

sudo tee /etc/systemd/system/asterisk.service > /dev/null <<'EOF'
[Unit]
Description=Asterisk PBX and telephony daemon.
After=network.target

[Service]
Type=simple
Environment=HOME=/var/lib/asterisk
#if systemd do not provide hostname and you need to use ${ENV(HOSTNAME)}
#Environment=HOSTNAME=%H
WorkingDirectory=/var/lib/asterisk
User=asterisk
Group=asterisk
ExecStart=/usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf
ExecStop=/usr/sbin/asterisk -rx 'core stop now'
ExecReload=/usr/sbin/asterisk -rx 'core reload'
#if /var/run is a tmpfs, this will create /var/run/asterisk on start
RuntimeDirectory=asterisk

#Nice=0
#UMask=0002
LimitCORE=infinity
#LimitNOFILE=
Restart=always
RestartSec=4

# Prevent duplication of logs with color codes to /var/log/messages
StandardOutput=null
PrivateTmp=false

[Install]
WantedBy=multi-user.target
EOF

Включите и запустите Asterisk при загрузке.

sudo systemctl daemon-reload
sudo systemctl enable --now asterisk

Используйте следующую команду для тестирования, если вы желаете подключиться к Asterisk CLI.

sudo asterisk -rvvv

Завершение

Мы завершили наше руководство по установке Asterisk на системах AlmaLinux 10. Мы начали с подготовки сервера с необходимыми зависимостями, а затем приступили к установке и настройке Asterisk.

Если вам понравился этот пост по установке Asterisk на системах AlmaLinux 10, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.