Обзор развертывания ISPConfig на сервере¶
Предварительные требования¶
Для успешной установки и работы панели управления требуются следующие условия:
-
Операционная система: Ubuntu или Debian.
-
Права доступа: права суперпользователя (root) для выполнения установочных скриптов и настройки системных служб.
-
Доступные порты (TCP):
-
22— SSH -
80— HTTP -
443— HTTPS -
8080— Интерфейс управления ISPConfig
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | ispconfig |
| Домен | hostkey.in |
| Полный шаблон | ispconfig{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
В процессе развертывания создаются и используются следующие директории:
-
/root/nginx— рабочая директория для конфигурации прокси-сервера Docker. -
/data/nginx/user_conf.d/— директория с пользовательскими конфигурациями Nginx. -
/usr/local/ispconfig/interface— основная директория установленного приложения ISPConfig. -
/tmp/ispconfig-ai— временная директория для установочных файлов.
Процесс установки приложения¶
Развертывание выполняется комбинированным методом: через автоматизированный скрипт установки и настройку системных зависимостей.
-
Подготовка системы:
-
Настройка FQDN (полного доменного имени) в системе и файле
/etc/hosts. -
Установка базовых утилит (
wget,curl,ca-certificates,tar,unzipи др.). -
Обновление кэша пакетов APT.
-
Установка зависимостей:
-
Установка веб-сервера Nginx, PHP-CLI и сервера DNS (bind9).
-
Настройка MariaDB через специализированный Docker-образ
docker-srv.hostkey.com/docker-anonymous/bitnami/mariadb:latest. -
Установка ISPConfig:
-
Загрузка официального архива с
https://www.ispconfig.org/downloads/ispconfig-ai.tar.gz. -
Выполнение установочного скрипта
php /tmp/ispconfig-ai/ispconfig.ai.phpс параметрами для автоматической настройки (без почты, DNS и FTP в минимальной конфигурации). -
Настройка веб-сервера:
-
Создание виртуального хоста Nginx для ISPConfig, работающего на порту
8080. -
Настройка проксирования запросов через Docker-контейнер с SSL.
Права доступа и безопасность¶
-
Брандмауэр (UFW): Включен по умолчанию. Разрешены входящие соединения на портах
22,80,443и8080. -
Безопасность веб-пользователя: Пользователь
www-dataполучает права на чтение конфигурационного файла/usr/local/ispconfig/interface/lib/config.inc.php(режим0640) и доступ к временным директориям приложения. -
Безопасность базы данных: Установлены пароли для пользователя
rootи администратора панели.
Базы данных¶
Для работы панели используется база данных MariaDB:
-
Имя базы данных:
dbispconfig. -
Пользователь:
ispconfig. -
Метод подключения: Локальное подключение через сокет или
localhost.
Контейнеры Docker и их запуск¶
В системе развернут один основной контейнер для обеспечения работы HTTPS:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим перезапуска | unless-stopped |
| Сеть | host (режим хоста) |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d |
| Переменные окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Скрипт модификации установщика: Временное изменение файла
/tmp/ispconfig-ai/lib/os/class.ISPConfigDebianOS.inc.phpдля корректного определения версии при установке. -
Настройка Nginx (Host): Удаление стандартных конфигураций
defaultи999-acme.vhost, а также настройка проксирования (proxy_pass) на локальный порт127.0.0.1:8080.
Инструкция по обновлению приложения¶
Для обновления основного приложения используется стандартная процедура обновления через пакетный менеджер и перезапуск сервисов:
-
Обновление системных пакетов:
apt update && apt upgrade. -
Перезапуск веб-сервера для применения изменений:
systemctl reload nginx.
Расположение конфигурационных файлов и данных¶
-
Конфигурация ISPConfig:
/usr/local/ispconfig/interface/lib/config.inc.php -
Виртуальный хост Nginx (локальный):
/etc/nginx/sites-available/ispconfig.vhost -
Лог установки приложения:
/root/ispconfig-ai-run.log
Доступные порты для подключения¶
| Порт | Назначение | Протокол |
|---|---|---|
80 | HTTP (через прокси) | TCP |
443 | HTTPS (защищенный интерфейс) | TCP |
8080 | Внутренний порт управления ISPConfig | TCP |
Запуск, остановка приложения¶
Управление контейнером прокси-сервера:
-
Запуск:
docker compose up -d(в директории/root/nginx). -
Остановка:
docker compose down.