Как установить FreePBX на CentOS 8 / RHEL 8

Как установить FreePBX на CentOS 8 / RHEL 8

 

Как я могу установить FreePBX на CentOS 8 / RHEL 8 ?. FreePBX — это инструмент с открытым исходным кодом для управления системами АТС Asterisk с открытым исходным кодом. Он в основном написан на PHP и может быть установлен как в дистрибутивах семейства Red Hat, так и в Debian Linux.

В этом сообщении блога мы рассмотрим этапы установки и настройки FreePBX на RHEL / CentOS 8. Эта установка предполагает, что у вас есть работающая установка сервера Asterisk PBX. Если у вас нет сервера АТС Asterisk, обратитесь к нашему руководству ниже.

 

Как установить Asterisk 16 LTS на CentOS / RHEL 8

Шаг 1. Обновите систему и установите SELinux в принудительный режим.

Начать работу по современной системе.

sudo dnf -y update

Если вас не устраивает, что SELinux работает в принудительном режиме, переведите его в разрешающий режим.

sudo setenforce 0
sudo sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config

Добавьте репозиторий EPEL, используя Как установить репозиторий EPEL на RHEL / CentOS 8

Шаг 2. Установите зависимости

Установите средства разработки на сервер RHEL / CentOS.

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

Шаг 3: Установите сервер базы данных MariaDB:

FreePBX требует сервера базы данных для конфигурации и хранения данных. Используйте руководство по ссылке ниже, чтобы установить и настроить сервер базы данных MariaDB.

Как установить MariaDB на RHEL / CentOS 8

Шаг 4: Установка Node.js 10 LTS

FreePBX имеет Node.js в качестве зависимости, установите его в своей системе, используя наше руководство ниже:

Как установить Node.js 10 LTS на RHEL / CentOS 8

Шаг 5: Установите и настройте веб-сервер Apache

Установите  httpd пакет с помощью диспетчера пакетов yum:

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

Шаг 6. Установите PHP и необходимые расширения.

FreePBX зависит от 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
Измените максимальный размер загружаемого файла php:
sudo sed -i 's/\(^upload_max_filesize = \).*/\10M/' /etc/php.ini

Запустите php-fpm и httpd.

sudo systemctl enable --now php-fpm httpd
sudo systemctl restart php-fpm httpd

Проверьте статус двух служб.

$ sudo systemctl status php-fpm httpdphp-fpm.service - The PHP FastCGI Process Manager
    Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
    Active: active (running) since Sat 2019-03-23 21:26:53 EAT; 11s ago
  Main PID: 29086 (php-fpm)
    Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
     Tasks: 6 (limit: 11510)
    Memory: 22.8M
    CGroup: /system.slice/php-fpm.service
            ├─29086 php-fpm: master process (/etc/php-fpm.conf)
            ├─29087 php-fpm: pool www
            ├─29088 php-fpm: pool www
            ├─29089 php-fpm: pool www
            ├─29090 php-fpm: pool www
            └─29091 php-fpm: pool www
 Mar 23 21:26:53 rhel8.local systemd[1]: Starting The PHP FastCGI Process Manager…
 Mar 23 21:26:53 rhel8.local systemd[1]: Started The PHP FastCGI Process Manager.
 ● httpd.service - The Apache HTTP Server
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Drop-In: /usr/lib/systemd/system/httpd.service.d
            └─php-fpm.conf
    Active: active (running) since Sat 2019-03-23 21:26:54 EAT; 10s ago
      Docs: man:httpd.service(8)
  Main PID: 29095 (httpd)
    Status: "Running, listening on: port 443, port 80"
     Tasks: 213 (limit: 11510)
    Memory: 31.0M
    CGroup: /system.slice/httpd.service
            ├─29095 /usr/sbin/httpd -DFOREGROUND
            ├─29096 /usr/sbin/httpd -DFOREGROUND
            ├─29097 /usr/sbin/httpd -DFOREGROUND
            ├─29098 /usr/sbin/httpd -DFOREGROUND
            └─29099 /usr/sbin/httpd -DFOREGROUND
 Mar 23 21:26:54 rhel8.local systemd[1]: Starting The Apache HTTP Server…
 Mar 23 21:26:54 rhel8.local httpd[29095]: Server configured, listening on: port 443, port 80
 Mar 23 21:26:54 rhel8.local systemd[1]: Started The Apache HTTP Server.

Шаг 7: Загрузите и установите FreePBX на CentOS 8 / RHEL 8

Загрузите последнюю версию FreePBX 14 LTS:

wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Распакуйте файл:

tar xfz freepbx-14.0-latest.tgz

Установите FreePBX на CentOS / RHEL 8.

cd freepbx
sudo ./start_asterisk start
sudo ./install -n

Если у вас есть пароль root для сервера базы данных, используйте:

sudo ./install -n --dbuser root --dbpass password

Замените  пароль паролем корневой базы данных. Ниже приведен пример вывода установки:

Перезапустите httpd.

sudo systemctl restart httpd

Шаг 8: доступ к веб-интерфейсу FreePBX

Откройте свой веб-браузер и подключитесь к  IP-адресу или имени хоста  вашего нового сервера FreePBX.

1. Создайте первую учетную запись администратора

2. Когда закончите вводить данные пользователя-администратора, нажмите «Создать учетную запись»,  чтобы создать учетную запись. На следующей странице вы получите консоль входа в систему.

Вы попадете в панель управления FreePBX, где сможете управлять своей АТС Asterisk. Теперь у вас установлен FreePBX на сервере RHEL / CentOS 8.