Обзор развертывания FreePBX на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Debian 12.
-
Права доступа: Права суперпользователя (root) для выполнения установочных скриптов и управления системными службами.
-
Сетевые параметры: Доступ к репозиториям
deb.debian.org. -
Доменное имя: Настроенный DNS для работы через SSL.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу управления используется следующий шаблон домена:
| Параметр | Значение |
|---|---|
| Префикс | freepbx |
| Домен | hostkey.in |
| Полный шаблон | freepbx{Server_ID}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Подготовка системы: Обновление списка репозиториев (переключение на зеркала
deb.debian.org), обновление кэша APT и установка утилитwgetиcurl. -
Настройка сетевой идентификации: Установка системного имени хоста (hostname) согласно шаблону FQDN и внесение соответствующих записей в файл
/etc/hosts. -
Установка основного ПО: Загрузка и запуск установочного скрипта
sng_freepbx_debian_install.shиз репозитория GitHub. Процесс сопровождается логированием всех действий в файл/root/freepbx-install.log. -
Завершение установки: После выполнения основного скрипта сервер перезагружается для применения изменений. После загрузки системы выполняется команда
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 |