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

Обзор развертывания 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 — временные файлы дистрибутива во время установки.

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

Развертывание выполняется в несколько этапов с использованием автоматизированного скрипта установки:

  1. Подготовка системы: Обновление кэша APT, установка базовых утилит (wget, curl, ca-certificates, tar, unzip и др.) и настройка параметров ядра/пакетов (например, выравнивание версий gcc-12-base).

  2. Настройка сети: Установка и конфигурация bind9, настройка имени хоста (FQDN) в /etc/hosts.

  3. Установка Docker: Подготовка среды для запуска контейнера управления сертификатами.

  4. Развертывание MariaDB: Загрузка корпоративного образа bitnami/mariadb через Docker.

  5. Основная установка ISPConfig:

  6. Загрузка официального архива с сайта ispconfig.org.

  7. Выполнение скрипта автоматической установки (ispconfig.ai.php) с параметрами: использование Nginx, отключение модулей почты, DNS и FTP (на этапе базовой настройки), включение обновлений без участия пользователя.

  8. Настройка веб-сервера: Создание конфигурационного файла виртуального хоста для 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 необходимо выполнить:

  1. Запустить процесс обновления через официальный механизм (если применимо).

  2. Если используется Docker для вспомогательных сервисов, обновите контейнер Nginx-Certbot командой:

    cd /root/nginx && docker compose pull && docker compose up -d
    

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

  • Конфигурация 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:

    systemctl reload nginx
    

  • Проверка целостности конфигурации Nginx:

    nginx -t
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×