Asterisk - одне з найвідоміших рішень комп'ютерної телефонії, активно встановлюється на найрізноманітніші сервери. Воно підтримує практично всі сучасні кодеки і протоколи, а також показує хорошу стабільність роботи, тому і завоювало таку популярність серед системних адміністраторів. Однак початківці юзери при спробі інтегрувати Asterisk можуть зіткнутися з найрізноманітнішими труднощами, пов'язаними з безпосередньою операцією інсталяції. Щоб уникнути подібного, ми рекомендуємо вивчити наш сьогоднішній матеріал, в якому за приклад взято дистрибутив CentOS 7.
Встановлюємо Asterisk в CentOS 7
Вся складність здійснення поставленого завдання полягає в тому, що Asterisk не працюватиме без додаткових компонентів, а їх знадобиться встановлювати вручну, розпаковуючи архіви і компілюючи отримані файли. Цей процес займе чимало часу, тому довелося розділити всі інструкції на кроки, щоб спростити їх розуміння. Давайте почнемо з підготовчих дій.
Крок 1: Попередні дії
Для початку потрібно підготувати сервер, оскільки не завжди в CentOS є необхідні утиліти, використовувати які знадобиться при здійсненні наступних дій, а також не виконано конфігурація Firewall і часу. Цей крок найпростіший, оскільки вимагає лише точного введення команд, але він теж поділяється на кілька пунктів.
Інсталяція необхідних утиліт
Всього для інсталяції Asterisk і допоміжних компонентів потрібно п'ять різних утиліт, які спочатку можуть бути відсутні в операційній системі. Пропонуємо в точності виконати наведене нижче керівництво, щоб встановити всі оновлення і відсутню ПО.
- Всі подальші дії будуть здійснюватися в «Терміналі», Тому запустіть його зручним для вас чином.
- Тут в першу чергу введіть команду
sudo yum update
. Вона повинна перевірити наявність оновлень вже встановлених компонентів і додати їх в ОС, щоб забезпечити коректність взаємодії з іншими утилітами. - Дана команда, як і всі наступні, запускається від імені користувача root, а це значить, що її потрібно підтвердити, ввівши в новому рядку пароль. Враховуйте, що символи, написані таким чином, в рядку не відображаються.
- При виявленні апдейтів підтвердіть їх додавання на сервер, вибравши варіант 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
для створення дозволеного сервісу. - Всі ці команди так само в обов'язковому порядку підтверджуються шляхом введення пароля користувача root.
- Після внесення змін слід перезавантажити міжмережевий екран, щоб застосувати настройки:
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 і необхідних допоміжних компонентів. Вам залишається тільки уважно виконувати кожну дію і звертатися до офіційної документації утиліти, щоб отримати відомості про невідомих функціях програми.