Asterisk - одне з найвідоміших рішень комп'ютерної телефонії, активно встановлюється на найрізноманітніші сервери. Воно підтримує практично всі сучасні кодеки і протоколи, а також показує хорошу стабільність роботи, тому і завоювало таку популярність серед системних адміністраторів. Однак початківці юзери при спробі інтегрувати Asterisk можуть зіткнутися з найрізноманітнішими труднощами, пов'язаними з безпосередньою операцією інсталяції. Щоб уникнути подібного, ми рекомендуємо вивчити наш сьогоднішній матеріал, в якому за приклад взято дистрибутив CentOS 7.

Встановлюємо Asterisk в CentOS 7

Вся складність здійснення поставленого завдання полягає в тому, що Asterisk не працюватиме без додаткових компонентів, а їх знадобиться встановлювати вручну, розпаковуючи архіви і компілюючи отримані файли. Цей процес займе чимало часу, тому довелося розділити всі інструкції на кроки, щоб спростити їх розуміння. Давайте почнемо з підготовчих дій.

Крок 1: Попередні дії

Для початку потрібно підготувати сервер, оскільки не завжди в CentOS є необхідні утиліти, використовувати які знадобиться при здійсненні наступних дій, а також не виконано конфігурація Firewall і часу. Цей крок найпростіший, оскільки вимагає лише точного введення команд, але він теж поділяється на кілька пунктів.

Інсталяція необхідних утиліт

Всього для інсталяції Asterisk і допоміжних компонентів потрібно п'ять різних утиліт, які спочатку можуть бути відсутні в операційній системі. Пропонуємо в точності виконати наведене нижче керівництво, щоб встановити всі оновлення і відсутню ПО.

  1. Всі подальші дії будуть здійснюватися в «Терміналі», Тому запустіть його зручним для вас чином.
  2. Запуск терміналу для виконання підготовчих дій перед інсталяцією Asterisk в CentOS 7

  3. Тут в першу чергу введіть команду sudo yum update. Вона повинна перевірити наявність оновлень вже встановлених компонентів і додати їх в ОС, щоб забезпечити коректність взаємодії з іншими утилітами.
  4. Команда для перевірки оновлень перед інсталяцією Asterisk в CentOS 7

  5. Дана команда, як і всі наступні, запускається від імені користувача root, а це значить, що її потрібно підтвердити, ввівши в новому рядку пароль. Враховуйте, що символи, написані таким чином, в рядку не відображаються.
  6. Підтвердження команди перевірки оновлень перед інсталяцією Asterisk в CentOS 7

  7. При виявленні апдейтів підтвердіть їх додавання на сервер, вибравши варіант y.
  8. Підтвердження установки оновлень перед інсталяцією Asterisk в CentOS 7

  9. Після цього можна сміливо інсталювати всі відсутні утиліти. Робиться це все через одну команду sudo yum install gcc wget ntpdate automake libtool. Зупинятися на кожній з них ми не будемо, оскільки більш детальний розбір ви побачите далі.
  10. Завантаження додаткових утиліт перед інсталяцією Asterisk в CentOS 7

  11. Деякі з перерахованих вище утиліт вже можуть знаходитися в системі, тому при появі рядка «Установка» іноді відображається лише одна або дві програми, а інші елементи є залежностями. Підтвердіть їх установку, вибравши відповідний варіант відповіді.
  12. Підтвердження скачування додаткових утиліт перед установкою Asterisk в CentOS 7

По завершенні операції ви будете повідомлені, що все пройшло успішно, і залишається перейти до наступного етапу підготовчих дій.

Синхронізація часу

Якщо є впевненість, що час на сервері вже було синхронізовано, сміливо пропускайте цей крок, переходячи до налаштування брандмауера. В іншому випадку знадобиться вручну часовий пояс і редагувати конфігураційний файл, що виглядає так:

  1. використовуйте команду sudo cp / usr / share / zoneinfo / Europe / Moscow / etc / localtime для вибору часового поясу. У цьому варіанті встановлюється московський пояс. Якщо необхідний інший, слід змінити зазначену посилання, помінявши шлях до файлу.
  2. Команда для вибору часового поясу перед інсталяцією Asterisk в CentOS 7

  3. командою sudo ntpdate ru.pool.ntp.org синхронізуйте час з мережею.
  4. Команда для автоматичної синхронізації часу через інтернет перед установкою Asterisk в CentOS 7

  5. Введіть sudo crontab -e для переходу до конфігураційного файлу часу.
  6. Команда для відкриття конфігураційного файлу часу перед інсталяцією Asterisk в CentOS 7

  7. Тут задайте скрипт на автоматичну синхронізацію, вставивши рядок 0 0 * * * / sbin / ntpdate ru.pool.ntp.org. Після збережіть зміни і закрийте редактор.
  8. Додавання завдання автмоматіческой перевірки часу перед інсталяцією Asterisk в CentOS 7

Тепер можна не турбуватися про те, що колись доведеться самостійно синхронізувати час, адже завдяки створеному завданням автоматичної настройки ми домоглися необхідного результату. Залишається тільки останній крок підготовчих робіт перед інсталяцією Asterisk.

Налаштування брандмауера

Конфігурація брандмауера - один з найважливіших процесів перед інсталяцією будь утиліти, яка буде функціонувати через локальну або глобальну мережу. Asterisk не стає винятком у цьому плані, тому виконайте такі дії:

  1. В «Терміналі» вкажіть firewall-cmd --permanent --new-service = asterisk для створення нового сервісу.
  2. Створення нової служби брандмауера перед інсталяцією Asterisk в CentOS 7

  3. Підтвердіть створення, вказавши пароль суперкористувача.
  4. Підтвердження створення нової служби брандмауера перед інсталяцією Asterisk в CentOS 7

  5. Ви будете повідомлені про успішне виконання операції повідомленням «Success».
  6. Успішне створення нової служби перед інсталяцією Asterisk в CentOS 7

  7. Після цього можна по черзі вводити наведені нижче команди, щоб відкрити всі потрібні порти.

    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 для створення дозволеного сервісу.

  8. Створення нової дозволеної служби брандмауера перед інсталяцією Asterisk в CentOS 7

  9. Всі ці команди так само в обов'язковому порядку підтверджуються шляхом введення пароля користувача root.
  10. Підтвердження створення нової дозволеної служби перед інсталяцією Asterisk в CentOS 7

  11. Після внесення змін слід перезавантажити міжмережевий екран, щоб застосувати настройки: firewall-cmd --reload.
  12. Перезавантаження брандмауера після внесення змін Asterisk в CentOS 7

На цьому всі підготовчі дії закінчені - можна переходити до установки додаткових компонентів для коректного функціонування Asterisk і бути впевненим, що ніяких помилок під час додавання файлів не виникне.

Крок 2: Додавання додаткових компонентів

Як відомо, Asterisk не працюватиме на сервері, якщо попередньо встановити важливі утиліти, що відповідають за нормалізацію взаємодії з драйверами і TDM-інтерфейсами. Драйвери плат реалізовані через DAHDI, а для роботи інтерфейсів потрібен LibPRI. Завантаження та збирання цих компонентів займе багато часу і зажадає активного підключення до інтернету, тому враховуйте це перед тим, як братися за справу.

  1. Почнемо з DAHDI. Завантажте архів з файлами, ввівши команду wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz.
  2. Команда для отримання архіву DAHDI в CentOS 7 з офіційного сайту

  3. Його скачування займе близько хвилини, оскільки сховища передають дані не з такою великою швидкістю, як хотілося б. Після цього вставте tar -xvf dahdi-linux-complete-current.tar.gz для розпакування отриманих об'єктів.
  4. Команда для розпакування отриманого архіву DAHDI в CentOS 7 з офіційного сайту

  5. Ця дія здійснюється через аргумент sudo, Тому підтвердити його, написавши пароль суперкористувача.
  6. Підтвердження розпакування DAHDI в CentOS 7 шляхом введення пароля

  7. Після закінчення розпакування перейдіть до отриманої папці через cd dahdi-linux-complete- *.
  8. Перехід до папки DAHDI в CentOS 7 для подальшої його компіляції

  9. Тут почніть компіляцію, надрукувавши sudo make.
  10. Команда для компіляції компонента DAHDI в CentOS 7

  11. Після цього залишається тільки провести інсталяцію: sudo make install.
  12. Команда для установки компонента DAHDI в CentOS 7 після його компіляції

  13. Додатково можна набрати sudo make config, Щоб перевірити поточні налаштування.
  14. Команда для настройки DAHDI в CentOS 7 після його успішної установки

  15. Покиньте каталог исходника через cd .., Щоб приступити до установки наступній утиліти.
  16. Вихід з папки DAHDI в CentOS 7 після завершення установки

  17. Принцип інсталяції LibPRI практично такий же, як розглянутий тільки що, а відмінності спостерігаються лише в посиланнях і назвах директорій. Починається все з отримання архіву:

    wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz.

  18. Команда для отримання архіву LibPRI в CentOS 7 з офіційного сайту

  19. Потім здійснюється його розпакування: sudo tar -xvf libpri-current.tar.gz.
  20. Розпакування архіву LibPRI в CentOS 7 після скачування з офіційного сайту

  21. Після успішного вилучення потрібно перейти до отриманого каталогу через cd libpri- *.
  22. Перехід до папки з LibPRI в CentOS 7 для компіляції компонента

  23. Тут почніть збірку утиліти sudo make.
  24. Компіляція компонента LibPRI в CentOS 7 після переходу до його папці

  25. По завершенні слід встановити бібліотеку, ввівши sudo make install.
  26. Установка компонента LibPRI в CentOS 7 по завершенні його компіляції

  27. Покиньте поточну папку (cd ..), Оскільки більше вона нам не знадобиться.
  28. Вихід з папки LibPRI в CentOS 7 по завершенні компіляції

На весь процес завантаження та компіляції зазначених програм піде близько півгодини, що пов'язано з величезним обсягом архівів і їх довгої розпакуванням. Якщо ви все зробили правильно, ніяких помилок під час цього виникнути не повинно.

Крок 3: Інсталяція Asterisk

Прийшов час встановити інструмент комп'ютерної телефонії Asterisk, оскільки всі потрібні допоміжні компоненти вже додані на сервер. Поширюється програмне забезпечення у вигляді архіву TAR.GZ на офіційному сайті, а його інсталяція відбувається наступним чином:

  1. В «Терміналі» введіть wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz для скачування останньої стабільної версії інструменту. Ви можете замінити посилання, якщо бажаєте отримати іншу збірку, попередньо скопіювавши її з офіційного сайту.
  2. Команда для скачування останньої версії Asterisk в CentOS 7 з офіційного сайту

  3. За тим же принципом розпакуйте файли, написавши sudo tar -xvf asterisk - *. tar.gz.
  4. Команда для розпакування завантаженого архіву Asterisk в CentOS 7

  5. через cd asterisk- * переміститеся в отриману директорію.
  6. Перехід до отриманої директорії утиліти Asterisk в CentOS 7

  7. Для інсталяції залежностей використовується вбудований скрипт ./contrib/scripts/install_prereq install.
  8. Перша команда для установки залежностей утиліти Asterisk в CentOS 7

  9. Далі вставте другу приблизно таку ж команду ./contrib/scripts/install_prereq install-unpackaged.
  10. Друга команда для установки залежностей Asterisk в CentOS 7

  11. По завершенні видаліть непотрібні залишкові файли sudo make distclean.
  12. Команда для видалення залишкових файлів при установці залежностей Asterisk в CentOS 7

  13. Якщо ви заздалегідь знаєте, що необхідно буде працювати з файлами формату MP3, треба додати відповідну бібліотеку, написавши ./contrib/scripts/get_mp3_source.sh.
  14. Установка бібліотеки для роботи з аудіо в Asterisk в CentOS 7

  15. Залишилося тільки створити конфігурацію вихідних файлів ./configure --prefix = / usr --sysconfdir = / etc --localstatedir = / var --libdir = / usr / lib64 --with-dahdi --with-pri --with-iconv --with-libcurl - -with-speex --with-mysqlclient.
  16. Команда для базової конфігурації Asterisk в CentOS 7 перед установкою

  17. Запустіть вікно налаштування самої утиліти через sudo make menuselect і виставте там параметри, відштовхуючись від своїх потреб.
  18. Команда для запуску вікна настройки Asterisk в CentOS 7 перед інсталяцією

  19. Ви вже знаєте, що після розпакування і налаштування початкових кодів здійснюється їх компіляція. Повторіть по черзі представлені нижче команди, щоб завершити цю операцію.

    sudo make
    make install
    make config
    make samples

  20. Команди для установки Asterisk в CentOS 7 після успішного налаштування

Крок 4: Базова настройка і запуск

Сьогодні ми не будемо зупинятися на загальній налаштування Asterisk, оскільки це не входить в тематику матеріалу і виконується кожним системним адміністратором індивідуально, відштовхуючись від самого сервера і потреб у використанні комп'ютерної телефонії. Однак є базові параметри, які треба вказати для запуску Asterisk, щоб перевірити його працездатність. Давайте розглянемо їх більш детально.

  1. Запустіть конфігураційний файл /etc/asterisk/asterisk.conf через будь-який зручний текстовий редактор.
  2. Запуск конфігураційного файлу Asterisk в CentOS 7 для базової налаштування

  3. Вставте в нього наведені далі рядки.

    runuser = asterisk
    rungroup = asterisk
    defaultlanguage = ru
    documentation_language = ru_RU

  4. Установка базової налаштування Asterisk в CentOS 7 через конфігураційний файл

  5. Збережіть зміни і закрийте з об'єктом.
  6. Збереження змін в файлі конфігурації Asterisk в CentOS 7

  7. Тільки що ми вказали у файлі головного користувача утиліти, тому доведеться додати його в систему. Здійснюється це через sudo useradd asterisk -m.
  8. Створення нового користувача для роботи з Asterisk в CentOS 7

  9. Далі встановіть права доступу до папок, по черзі вставивши команди нижче.

    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

  10. Установка налаштувань доступу до папки Asterisk в CentOS 7 при налаштуванні утиліти

  11. Після закінчення перевірте налаштування sudo asterisk -c, Щоб переконатися в працездатності утиліти.
  12. Перевірка поточного стану Asterisk в CentOS 7 після настройки

  13. Залишилося тільки запустити Asterisk в якості служби через systemctl enable asterisk і systemctl start asterisk.
  14. Команда для запуску утиліти Asterisk в CentOS 7 після успішного налаштування

Сьогодні ви вивчили поетапне керівництво, основна мета якого - показати початківцям користувачам принцип інсталяції Asterisk і необхідних допоміжних компонентів. Вам залишається тільки уважно виконувати кожну дію і звертатися до офіційної документації утиліти, щоб отримати відомості про невідомих функціях програми.