Перейти к содержанию

Обзор развертывания FreePBX на сервере

Предварительные требования

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Debian 12.

  • Права доступа: Права суперпользователя (root) для выполнения установочных скриптов и управления системными службами.

  • Сетевые параметры: Доступ к репозиториям deb.debian.org.

  • Доменное имя: Настроенный DNS для работы через SSL.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу управления используется следующий шаблон домена:

Параметр Значение
Префикс freepbx
Домен hostkey.in
Полный шаблон freepbx{Server_ID}.hostkey.in

Процесс установки приложения

Процесс развертывания включает в себя несколько этапов:

  1. Подготовка системы: Обновление списка репозиториев (переключение на зеркала deb.debian.org), обновление кэша APT и установка утилит wget и curl.

  2. Настройка сетевой идентификации: Установка системного имени хоста (hostname) согласно шаблону FQDN и внесение соответствующих записей в файл /etc/hosts.

  3. Установка основного ПО: Загрузка и запуск установочного скрипта sng_freepbx_debian_install.sh из репозитория GitHub. Процесс сопровождается логированием всех действий в файл /root/freepbx-install.log.

  4. Завершение установки: После выполнения основного скрипта сервер перезагружается для применения изменений. После загрузки системы выполняется команда fwconsole chown для корректной настройки прав доступа к файлам приложения.

Права доступа и безопасность

  • Брандмауэр: Должен разрешать входящий трафик на порты 80 (HTTP), 443 (HTTPS) и 3000 (внутренний порт управления).

  • SSL/TLS: Приложение настроено на использование сертификатов Let's Encrypt. Сертификаты генерируются через встроенную утилиту fwconsole и автоматически подставляются в конфигурацию Apache (default-ssl.conf).

Базы данных

База данных интегрирована в состав FreePBX и управляется внутренними механизмами приложения. Данные хранятся в системных директориях, установленных в процессе работы установочного скрипта.

Контейнеры Docker и их запуск

Для обеспечения работы прокси-сервера и автоматического получения SSL-сертификатов используется контейнер:

Nginx Certbot Proxy

  • Образ: jonasal/nginx-certbot:latest

  • Режим сети: host

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt (хранение сертификатов)

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d (пользовательские конфигурации Nginx)

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com

  • Политика перезапуска: unless-stopped

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия:

  • Настройка Apache: После получения SSL-сертификатов через Let's Encrypt, конфигурационный файл /etc/apache2/sites-available/default-ssl.conf модифицируется для использования новых путей к ключам и сертификатам (/etc/asterisk/keys/{FQDN}.crt и .key).

  • Настройка проксирования: В конфигурации Nginx настраивается перенаправление трафика (proxy_pass) с порта 443 на внутренний порт приложения http://127.0.0.1:3000.

Инструкция по обновлению приложения

Для обновления основного программного обеспечения FreePBX необходимо использовать встроенные инструменты управления приложением через командную строку (например, fwconsole). Рекомендуется выполнять команды в контексте установленного окружения после проверки целостности конфигураций.

Расположение конфигурационных файлов и данных

  • Лог установки: /root/freepbx-install.log

  • Сертификаты Asterisk: /etc/asterisk/keys/

  • Конфигурации Nginx (пользовательские): /data/nginx/user_conf.d/

  • Конфигурация Apache: /etc/apache2/sites-available/default-ssl.conf

Доступные порты для подключения

Порт Назначение Протокол
443 Веб-интерфейс (HTTPS) TCP
3000 Внутренний порт управления TCP
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×