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

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

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

Развертывание выполняется комбинированным методом: через автоматизированный скрипт установки и настройку системных зависимостей.

  1. Подготовка системы:

  2. Настройка FQDN (полного доменного имени) в системе и файле /etc/hosts.

  3. Установка базовых утилит (wget, curl, ca-certificates, tar, unzip и др.).

  4. Обновление кэша пакетов APT.

  5. Установка зависимостей:

  6. Установка веб-сервера Nginx, PHP-CLI и сервера DNS (bind9).

  7. Настройка MariaDB через специализированный Docker-образ docker-srv.hostkey.com/docker-anonymous/bitnami/mariadb:latest.

  8. Установка ISPConfig:

  9. Загрузка официального архива с https://www.ispconfig.org/downloads/ispconfig-ai.tar.gz.

  10. Выполнение установочного скрипта php /tmp/ispconfig-ai/ispconfig.ai.php с параметрами для автоматической настройки (без почты, DNS и FTP в минимальной конфигурации).

  11. Настройка веб-сервера:

  12. Создание виртуального хоста Nginx для ISPConfig, работающего на порту 8080.

  13. Настройка проксирования запросов через 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.

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