Установка Asterisk 13 (PBX) на Centos 7.x и подключение Web GUI
Содержание
- Подготовка к установке
- Установка Asterisk
- Установка модулей
- После установки
- Установка GUI для Asterisk
Asterisk — это свободное ПО, которое позволяет с минимально приемлемым аппаратным обеспечением организовать аналог классической АТС. Astterisk поддерживает множество VoIP-протоколов и предоставляет богатые функции управления звонками (Голосовая почта, Конференц-связь, интерактивное голосовое меню, постановка звонков в очередь и распределение их по абонентам, и т. д.).
В данной статье рассмотрим установку Asterisk 13 на Centos 7 с дальнейшей настройкой визуального web-интерфейса.
Подготовка к установке
1. Обновление системы
Залогиньтесь от имени root и обновите всё, что установлено в системе.
2. Установка требуемых пакетов
После того, как система обновлена, нужно установить несколько нужных пакетов с помощью следующей команды, которая содержит все необходимые пакеты и все зависимости.
]# yum install gcc gcc-c++ php-xml php php-mysql php-pear php-mbstring mariadb-devel mariadb-server mariadb sqlite-devel lynx bison gmime-devel psmisc tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim
Проверьте список пакетов, которые будут установлены и нажмите "Y" для продолжения. Обновление займет около 125 Мб в зависимости от того, какие пакеты были установлены ранее. После успешной операции вы увидите список установленных пакетов и обновлений, включая все необходимые зависимости.
3. Настройка MariaDB
После установки можно подключиться к базе данных с настройками по умолчанию, без пароля. Начнем с настройки и запуска:
]# systemctl enable mariadb [root@centos-7
]# systemctl start mariadb [root@centos-7
]# systemctl status mariadb
Следующая команда установит пароль root на базу, удалит анонимного пользователя, тестовую базу данных и запретит удаленный вход в систему пользователя.
4. Установка libjansson
Jansson — это C-библиотека для кодирования, декодирования и манипулирования данными в формате JSON. Скачайте самый актуальный пакет с сайта разработчика:
]# tar -zxvf jansson-2.7.tar.gz
]# cd jansson-2.7 [root@centos-7
Для компиляции настроенного пакета используем связку команд make и make install в папке, куда был распакован архив.
[root@centos-7 jansson-2.7]# make clean [root@centos-7 jansson-2.7]# make make install [root@centos-7 jansson-2.7]# ldconfigУстановка Asterisk
Когда подготовка сервера завершена, начнем установку самого Asterisk. Скачайте самый свежий пакет с сайта разработчика в разделе Download, или воспользуйтесь командой wget.
Распакуйте архив, перейдите в созданную папку и сконфигурируйте пакет перед сборкой:
]# tar -zxvf asterisk-13.5.0.tar.gz [root@centos-7
]# cd asterisk-13.5.0 [root@centos-7 asterisk-13.5.0]# ./configure —libdir=/usr/lib64
Если все прошло успешно, вы увидите такой логотип в стиле ASCII Art:
Установка модулей
Чистый Asterisk конечно работоспособен, но не зря он расширяется плагинами и модулями. Добавим пару полезных функций.
1. Главное меню настройки
Чтобы попасть в меню настройки и выбора модулей, выполните следующую команду и выберите нужные параметры.
[root@centos-7 asterisk-13.5.0]# make menuselectКак мы видим, большинство нужных модулей включено по умолчанию. Можно отключить ненужные модули или добавить что-то на свой вкус. У каждого пункта краткое описание его задачи.
Полезно будет включить, например, модуль поддержки mp3. Для этого выберите "format_mp3", как показано ниже.
Затем перейдите в секцию Core Sound Packages и отметьте аудио-пакеты как показано на скриншоте:
Затем выберите все пакеты из "Music On Hold Packages", и из "Extra Sound Packages" выберите те, которые содержат в названии EN. Нажмите "Save Exit", чтобы перейти к следующему шагу.
2. Загрузка mp3 библиотек
Теперь запустите следующую команду для загрузки библиотеки mp3-декодера.
[root@centos-7 asterisk-13.5.0]# contrib/scripts/get_mp3_source.sh3. Установка модулей
Когда все нужное включено, а ненужное выключено, выполним сборку и установку. Сначала make, после успешного результата — make install.
[root@centos-7 asterisk-13.5.0]# make [root@centos-7 asterisk-13.5.0]# make installЕсли все успешно установилось, Asterisk предложит вам установить демонстранционные конфиги:
[root@centos-7 asterisk-13.5.0]# make samples [root@centos-7 asterisk-13.5.0]# make configПосле установки
1. Добавление Asterisk пользователя
Вы можете создать отдельного пользователя и дать ему право работать с Asterisk, чтобы службы запускались от его имени. Для этого выполните следующие команды:
[root@centos-7 asterisk-13.5.0]# useradd -m asterisk [root@centos-7 asterisk-13.5.0]# chown asterisk.asterisk /var/run/asterisk [root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /etc/asterisk [root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /var//asterisk [root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /usr/lib64/asterisk [root@centos-7 asterisk-13.5.0]# systemctl restart asterisk [root@centos-7 asterisk-13.5.0]# systemctl status asterisk2. Настройка правил файрволла
Теперь займемся безопасностью. По умолчанию на CentOS 7 вместо iptables используется FirewallD. Запустим его.
]# systemctl start firewalld [root@centos-7
]# systemctl enable firewalld
Теперь разрешите доступ к портам, которые используются в Asterisk, добавив следующие правила:
]# firewall-cmd —zone=public —add-port=5060/udp —permanent [root@centos-7
]# firewall-cmd —zone=public —add-port=5060/tcp —permanent [root@centos-7
]# firewall-cmd —zone=public —add-port=5061/udp —permanent [root@centos-7
]# firewall-cmd —zone=public —add-port=5061/tcp —permanent [root@centos-7
]# firewall-cmd —zone=public —add-port=4569/udp —permanent [root@centos-7
]# firewall-cmd —zone=public —add-port=5038/tcp —permanent [root@centos-7
]# firewall-cmd —zone=public —add-port=10000-20000/udp —permanent
Проверить, что правила применились корректно, можно командой:
]# firewall-cmd —zone=public —list-all
3. Настройка базы Asterisk
Подключимся к MySQL MariaDB, создадим нового пользователя и базу и предоставим ему привилегии:
]# mysql -u root -p MariaDB [(none)] create user ‘asterisk’@’localhost’ identified by ‘yourpassword’; MariaDB [(none)] create database asterisk; MariaDB [(none)] create database cdrdb; MariaDB [(none)] GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY ‘yourpassword’; MariaDB [(none)] GRANT ALL PRIVILEGES ON cdrdb.* TO asterisk@localhost IDENTIFIED BY ‘yourpassword’; MariaDB [(none)] flush privileges; MariaDB [(none)]
4. Запуск Asterisk
Первый запуск выполняем следующей командой. Проверяем, что ничего не отпало.
Установка GUI для Asterisk
1. Загрузка и настройка
Загрузите исходные файлы последней версии, используя svn. (yum install subversion)
]# cd /usr/src [root@centos-7
]# svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui [root@centos-7
]# cd asterisk-gui [root@centos-7
Сделайте резервную копию файлов конфигурации. Для этого достаточно скопировать /etc/asterisk под другими именем:
]# cp -r /etc/asterisk /etc/asterisk.backup
Два файла измените вручную:
Включите следующие настройки
enabled = yes webenabled = yes
Теперь добавим нового пользователя в manager.conf:
[administrator] secret = mypassword read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,configТеперь обновим конфиг http
enabled=yes enablestatic=yes bindaddr=0.0.0.0 bindport = 8088 prefix = gui enablestatic = yes
bindaddr 0.0.0.0 означает, что вы можете получить доступ из любого места. Если вам требуется доступ только с локального компьютера, то тогда используйте адрес 127.0.0.1.
Проверьте конфигурацию Asterisk-GUI, выполнив из каталога /usr/src/asterisk-gui команду
[root@centos-7 asterisk-gui]#make checkconfig2. Запуск asterisk-gui
Чтобы загрузить asterisk-gui, необходимо перезапустить Asterisk. Перезапустить сервер Asterisk можно из с консоли CLI, выполнив команду reload
Источник: