Встановлення Asterisk на CentOS 7

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

Встановлення Asterisk на CentOS 7

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

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

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

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

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

  1. Всі подальші дії будуть здійснюватися в &171;терміналі&187; , тому запустіть його зручним для Вас чином.
  2. Запуск терминала для выполнения подготовительных действий перед инсталляцией Asterisk в CentOS 7
  3. Тут спочатку введіть команду sudo yum update . Вона повинна перевірити наявність оновлень вже встановлених компонентів і додати їх в ОС, щоб забезпечити коректність взаємодії з іншими утилітами.
  4. Команда для проверки обновлений перед инсталляцией Asterisk в CentOS 7
  5. Дана команда, як і всі наступні, запускається від імені суперкористувача, а це значить, що її потрібно ПІДТВЕРДИТИ, ввівши в новому рядку пароль. Враховуйте, що Символи, написані таким чином, в рядку не відображаються.
  6. Подтверждение команды проверки обновлений перед инсталляцией Asterisk в CentOS 7
  7. При виявленні апдейтів підтвердіть їх додавання на сервер, вибравши варіант y .
  8. Подтверждение установки обновлений перед инсталляцией Asterisk в CentOS 7
  9. Після цього можна сміливо інсталювати всі відсутні утиліти. Робиться це всього через одну команду sudo yum install gcc wget ntpdate automake libtool . Зупинятися на кожній з них ми не будемо, оскільки більш детальний розбір ви побачите далі.
  10. Скачивание дополнительных утилит перед инсталляцией Asterisk в CentOS 7
  11. Деякі з перерахованих вище утиліт вже можуть перебувати в системі, тому при появі рядка &171; встановлення&187; іноді відображається лише одна або дві програми, а решта елементів є залежностями. Підтвердіть їх установку, вибравши відповідний варіант відповіді.
  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.

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

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

  1. В &171;терміналі&187; вкажіть firewall-cmd --permanent --new-service=asterisk для створення нового сервісу.
  2. Создание новой службы межсетевого экрана перед инсталляцией Asterisk в CentOS 7
  3. Підтвердьте створення, вказавши пароль суперкористувача.
  4. Подтверждение создания новой службы межсетевого экрана перед инсталляцией Asterisk в CentOS 7
  5. Ви будете повідомлені про успішне виконання операції повідомленням &171;Success&187; .
  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. Всі ці команди так само в обов'язковому порядку підтверджуються шляхом введення пароля суперкористувача.
  10. Подтверждение создания новой разрешенной службы перед инсталляцией Asterisk в CentOS 7
  11. Після внесення змін слід перезавантажити брандмауер, щоб застосувати налаштування: firewall-cmd --reload .
  12. Перезагрузка межсетевого экрана после внесения изменений Asterisk в CentOS 7

На цьому всі підготовчі дії закінчені &8212; можна переходити до установки додаткових компонентів для коректного функціонування 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. В &171;терміналі&187; введіть 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 после успешной настройки

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

більше статей на цю тему: