Обзор развертывания ISPConfig на сервере¶
Предварительные требования¶
Для корректной работы панели управления необходимо обеспечить следующие параметры системы:
-
Операционная система: Ubuntu или Debian.
-
Права доступа: Полный доступ root для выполнения установочных скриптов.
-
Порты (TCP):
-
22(SSH) -
80(HTTP) -
443(HTTPS) -
8080(Интерфейс панели управления)
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | ispconfig |
| Домен | hostkey.in |
| Полный шаблон | ispconfig{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
В процессе развертывания создаются и используются следующие директории:
-
/usr/local/ispconfig/interface— основные файлы приложения ISPConfig. -
/root/nginx— конфигурация контейнера для управления SSL-сертификатами. -
/data/nginx/user_conf.d/— пользовательские конфигурации Nginx. -
/tmp/ispconfig-ai— временные файлы дистрибутива во время установки.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов с использованием автоматизированного скрипта установки:
-
Подготовка системы: Обновление кэша APT, установка базовых утилит (
wget,curl,ca-certificates,tar,unzipи др.) и настройка параметров ядра/пакетов (например, выравнивание версийgcc-12-base). -
Настройка сети: Установка и конфигурация
bind9, настройка имени хоста (FQDN) в/etc/hosts. -
Установка Docker: Подготовка среды для запуска контейнера управления сертификатами.
-
Развертывание MariaDB: Загрузка корпоративного образа
bitnami/mariadbчерез Docker. -
Основная установка ISPConfig:
-
Загрузка официального архива с сайта ispconfig.org.
-
Выполнение скрипта автоматической установки (
ispconfig.ai.php) с параметрами: использование Nginx, отключение модулей почты, DNS и FTP (на этапе базовой настройки), включение обновлений без участия пользователя. -
Настройка веб-сервера: Создание конфигурационного файла виртуального хоста для ISPConfig, который перенаправляет трафик на внутренний порт
8080.
Права доступа и безопасность¶
Безопасность системы обеспечивается следующими мерами:
-
Брандмауэр (UFW): Включен по умолчанию. Разрешены входящие соединения на порты SSH, HTTP, HTTPS и 8080.
-
Ограничение прав: Пользователь
www-dataполучает права на чтение конфигурационного файла/usr/local/ispconfig/interface/lib/config.inc.php(права0640) и доступ к временным директориям приложения. -
Безопасность базы данных: Пароли администратора БД и панели управления задаются в процессе установки.
Базы данных¶
Для работы панели используется база данных MariaDB:
-
Образ:
docker-srv.hostkey.com/docker-anonymous/bitnami/mariadb:latest. -
Имя базы данных:
dbispconfig. -
Пользователь БД:
ispconfig(с паролем, указанным в конфигурации). -
Место хранения: Данные хранятся внутри контейнера MariaDB.
Контейнеры Docker и их запуск¶
В системе развернут один основной контейнер для управления SSL-сертификатами:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим сети | host |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d |
| Переменные окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
| Политика перезапуска | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Настройка конфигурации Nginx: Скрипт модифицирует файлы в
/etc/nginx/sites-available/, чтобы перенаправить трафик с порта 80/443 на внутренний порт127.0.0.1:8080. -
Управление паролями: Выполняется SQL-запрос к базе данных для установки MD5-хеша пароля администратора ISPConfig.
-
Очистка портов: Перед запуском контейнеров выполняется скрипт, который останавливает любые процессы или Docker-контейнеры, занимающие порты 80 и 443, чтобы избежать конфликтов.
Инструкция по обновлению приложения¶
Для обновления основного приложения ISPConfig необходимо выполнить:
-
Запустить процесс обновления через официальный механизм (если применимо).
-
Если используется Docker для вспомогательных сервисов, обновите контейнер Nginx-Certbot командой:
Расположение конфигурационных файлов и данных¶
-
Конфигурация ISPConfig:
/usr/local/ispconfig/interface/lib/config.inc.php -
Виртуальный хост Nginx (ISPConfig):
/etc/nginx/sites-enabled/000-ispconfig.vhost -
Данные Certbot: В томе
nginx_secrets.
Доступные порты для подключения¶
-
8080— Веб-интерфейс управления ISPConfig (внутренний/локальный). -
443— Защищенный доступ к веб-сервисам через прокси. -
80— Незащищенный доступ к веб-сервисам.
Запуск, остановка приложения¶
Управление основным приложением осуществляется через системные службы:
-
Перезагрузка конфигурации Nginx:
-
Проверка целостности конфигурации Nginx: