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