Установка Asterisk 16 и FreePBX 15 на Centos 8
Перед установкой
Желательно что бы установка OS была произведена с полного образа, вместо netinstall
Проверьте правильность установленной тайм-зоны и при необходимости измените ее.
Переведите SELinux в «разрешающий» (Permissive) режим следующими командами:
sudo setenforce 0 sudo sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config
Либо полностью отключите его:
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
Перезапустите сервер и проверьте статус:
sestatus
Убедитесь, что репозиторий EPEL добавлен в вашу систему:
dnf repolist epel
Если он не обнаружен добавьте его:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf config-manager --set-enabled PowerTools
Установите:
dnf update dnf install openssl openssl-devel dnf install libedit-devel dnf install libuuid-devel
Установите Development tools:
sudo dnf group -y install "Development Tools" dnf install git wget vim net-tools sqlite-devel psmisc ncurses-devel libtermcap-devel newt-devel libxml2-devel libtiff-devel gtk2-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) crontabs cronie-anacron
Загрузите и установите Jansson:
cd /usr/src/ git clone https://github.com/akheron/jansson.git cd jansson autoreconf -i ./configure --prefix=/usr/ make && make install
Загрузите и установите PJSIP:
cd /usr/src/ git clone https://github.com/pjsip/pjproject.git cd pjproject ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr make dep make make install ldconfig
Установка Asterisk
Загрузите Asterisk:
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz tar xvfz asterisk-16-current.tar.gz rm -f asterisk-16-current.tar.gz cd asterisk-16*/
Конфигурация:
./configure --libdir=/usr/lib64
Если каких-то зависимостей нехватает то можно запустить скрипт install_prereq для их установки:
contrib/scripts/install_prereq
Запустите меню настройки:
make menuselect
В разделе «Add-ons» выберите «chan_ooh323» и «format_mp3»
В разделе «Core Sound Packages» выберите необходимые аудиопакеты (опционально)
В разделе «Music On Hold» выберите нужные форматы музыки на удержании (опционально)
В разделе «Extra Sound Packages» выберите дополнительные аудиопакеты (опционально)
В разделе «Applications» выберите «app_macro» (в — Deprecated —)
Затем нажмите save and exit
Сборка и установка:
Загрузите библиотеку mp3-декодера:
sudo contrib/scripts/get_mp3_source.sh
Соберите и установите Asterisk:
make make install make samples make config make install-logrotate ;Если требуется установка logrotate для ротации лог-файлов ldconfig
Настройка и запуск
Создайте отдельного пользователя и группу для запуска asterisk, а так же настройке права:
sudo groupadd asterisk sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk sudo usermod -aG audio,dialout asterisk sudo chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Настройте запуск asterisk из под соответствующего пользователя:
Откройте файл /etc/sysconfig/asterisk и раскоментируйте следующие строки:
AST_USER="asterisk" AST_GROUP="asterisk"
Откройте файл /etc/asterisk/asterisk.conf и раскоментируйте следующие строки:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Перезапустите службу asterisk:
sudo systemctl restart asterisk
Включите asterisk в автозапуск при загрузке системы:
sudo systemctl enable asterisk
Проверьте статус asterisk:
systemctl status asterisk
Проверьте соединение с astierisk:
asterisk -vvvr
На этом установка asterisk закончена.
Установка FreePBX 15
Подготовка
Обновите систему:
sudo dnf -y update
Установите зависимости:
sudo dnf -y groupinstall "Development Tools" sudo dnf install -y @php tftp-server ncurses-devel sendmail sendmail-cf newt-devel libxml2-devel libtiff-devel gtk2-devel subversion kernel-devel git crontabs cronie cronie-anacron wget vim php-xml sqlite-devel net-tools gnutls-devel unixODBC
Установка и настройка сервера базы данных MariaDB
Установите MariaDB:
sudo dnf module install mariadb
Проверьте версию MariaDB:
rpm -qi mariadb-server
Включите MariaDB в автозапуск при загрузке системы:
sudo systemctl enable --now mariadb
Настройте параметры безопасности командой:
mysql_secure_installation
Убедитесь, что вы:
- Установили пароль пользователя базы данных root
- Удалили анонимных пользователей
- Запретили удаленный доступ пользователю root
- Удалили тестовую базу данных и доступ к ней
Затем проверьте доступ для пользователя root:
mysql -u root -p
Установка Node.js 10 LTS
Проверьте доступные версии Node.js:
sudo dnf module list | grep nodejs
Установите версию по умолчанию (если необходимо можно вручную указать другую версию):
sudo dnf module install nodejs:10
Проверьте установленную версию:
node --version
Установка и настройка Apache Web Server
Установите httpd:
sudo dnf -y install @httpd
Удалите страницу по умолчанию index.html:
sudo rm -f /var/www/html/index.html
Включите httpd в автозапуск при загрузке системы:
sudo systemctl enable --now httpd
Если у вас есть активная служба межсетевого экрана firewalld, откройте порты http и https:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Установка и настройка PHP
Установите PHP и необходимые расширения:
sudo dnf -y install wget @php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysqlnd php-gettext php-bcmath php-zip php-xml php-json php-process php-snmp
Скорректируйте настройки httpd
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
В /etc/php-fpm.d/www.conf пропишите:
listen.acl_users = asterisk
Запустите php-fpm и httpd:
sudo systemctl enable --now php-fpm httpd sudo systemctl restart php-fpm httpd
Проверьте статус обоих служб:
sudo systemctl status php-fpm httpd
Загрузка и установка FreePBX
Загрузите последнюю версию FreePBX 15:
cd /usr/src wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
Распакуйте скачанный файл:
tar xfz freepbx-15.0-latest.tgz
Установите FreePBX:
cd freepbx sudo ./start_asterisk start sudo ./install -n
Если у вас есть root пароль для сервера базы данных, запустите:
sudo ./install -n --dbuser root --dbpass password
Перезапустите httpd:
sudo systemctl restart httpd
Доступ к веб-интерфейсу FreePBX
Откройте веб-браузер и подключитесь к IP-адресу или имени хоста вашего нового сервера FreePBX. Когда вы укажите данные администратора, нажмите «Создать учетную запись». На следующей странице откроется окно входа. После логина Вы попадете на панель управления FreePBX, где сможете управлять своей АТС Asterisk.
Установка FreePBX завершена.