Зміст
Asterisk &8212; одне з найвідоміших рішень комп'ютерної телефонії, активно встановлюється на самі різні сервери. Воно підтримує практично всі сучасні кодеки і протоколи, а також показує хорошу стабільність роботи, тому і завоювало таку популярність серед системних адміністраторів. Однак початківці користувачі при спробі інтегрувати Asterisk можуть зіткнутися з найрізноманітнішими труднощами, пов'язаними з безпосередньою операцією інсталяції. Щоб уникнути подібного, ми рекомендуємо вивчити наш сьогоднішній матеріал, в якому за приклад взято дистрибутив CentOS 7.
Встановлення Asterisk на CentOS 7
Вся складність здійснення поставленого завдання полягає в тому, що Asterisk не буде працювати без додаткових компонентів, а їх знадобиться встановлювати вручну, розпаковуючи архіви і компілюючи отримані файли. Цей процес займе чимало часу, тому довелося розділити всі інструкції на кроки, щоб спростити їх розуміння. Давайте почнемо з підготовчих дій.
Крок 1: попередні дії
Для початку потрібно підготувати сервер, оскільки не завжди в CentOS є необхідні утиліти, використовувати які знадобиться при здійсненні наступних дій, а також не виконана конфігурація Firewall і часу. Цей крок найпростіший, оскільки вимагає лише точного введення команд, але він теж розділяється на кілька пунктів.
Інсталяція необхідних утиліт
Всього для інсталяції Asterisk і допоміжних компонентів потрібно п'ять різних утиліт, які спочатку можуть бути відсутні в операційній системі. Пропонуємо в точності виконати наведене нижче керівництво, щоб встановити всі оновлення і відсутню по.
- Всі подальші дії будуть здійснюватися в &171;терміналі&187; , тому запустіть його зручним для Вас чином.
- Тут спочатку введіть команду
sudo yum update
. Вона повинна перевірити наявність оновлень вже встановлених компонентів і додати їх в ОС, щоб забезпечити коректність взаємодії з іншими утилітами. - Дана команда, як і всі наступні, запускається від імені суперкористувача, а це значить, що її потрібно ПІДТВЕРДИТИ, ввівши в новому рядку пароль. Враховуйте, що Символи, написані таким чином, в рядку не відображаються.
- При виявленні апдейтів підтвердіть їх додавання на сервер, вибравши варіант y .
- Після цього можна сміливо інсталювати всі відсутні утиліти. Робиться це всього через одну команду
sudo yum install gcc wget ntpdate automake libtool
. Зупинятися на кожній з них ми не будемо, оскільки більш детальний розбір ви побачите далі. - Деякі з перерахованих вище утиліт вже можуть перебувати в системі, тому при появі рядка &171; встановлення&187; іноді відображається лише одна або дві програми, а решта елементів є залежностями. Підтвердіть їх установку, вибравши відповідний варіант відповіді.
По завершенні операції ви будете повідомлені, що все пройшло успішно, і залишається перейти до наступного етапу підготовчих дій.
Синхронізація часу
Якщо є впевненість, що час на сервері вже було синхронізовано, сміливо пропускайте цей крок, переходячи до налаштування брандмауера. В іншому випадку знадобиться вручну задати часовий пояс і редагувати конфігураційний файл, що виглядає так:
- Використовуйте команду
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.
Налаштування брандмауера
Конфігурація міжмережевого екрану &8212; один з найважливіших процесів перед інсталяцією будь-якої Утиліти, яка буде функціонувати через локальну або глобальну мережу. Asterisk не стає винятком в цьому плані, тому виконайте такі дії:
- В &171;терміналі&187;
вкажіть
firewall-cmd --permanent --new-service=asterisk
для створення нового сервісу. - Підтвердьте створення, вказавши пароль суперкористувача.
- Ви будете повідомлені про успішне виконання операції повідомленням &171;Success&187; .
- Після цього можна по черзі вводити наведені нижче команди, щоб відкрити всі потрібні порти.
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
.
На цьому всі підготовчі дії закінчені &8212; можна переходити до установки додаткових компонентів для коректного функціонування 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 на офіційному сайті, а його інсталяція відбувається наступним чином:
- В &171;терміналі&187;
введіть
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
.
Сьогодні ви вивчили поетапне керівництво, основна мета якого &8212; показати початківцям користувачам принцип інсталяції Asterisk і необхідних допоміжних компонентів. Вам залишається тільки уважно виконувати кожну дію і звертатися до офіційної документації утиліти, щоб отримати відомості про невідомі функції програми.