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

Обзор развертывания CloudPanel на сервере

Предварительные требования

Для успешной установки приложения должны быть соблюдены следующие условия:

  • Операционная система: Ubuntu.

  • Свободные порты: Система должна иметь свободные порты 80, 443 и 3306. Перед установкой все службы, занимающие эти порты (например, MySQL, MariaDB, Nginx или Apache2), должны быть остановлены или удалены.

  • Права доступа: Требуются права суперпользователя (root) для выполнения установки пакетов и настройки системных служб.

FDQN итоговой панели на домене hostkey.in

Для работы панели используется следующий шаблон доменного имени:

Параметр Значение
Префикс cloudPanel
Домен hostkey.in
Полный шаблон cloudPanel{Server_ID_from_Invapi}.hostkey.in

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

Процесс развертывания CloudPanel включает в себя несколько этапов подготовки системы и непосредственной установки:

  1. Подготовка операционной системы:

  2. Остановка и отключение конфликтующих служб (MySQL, MariaDB, Nginx, Apache2).

  3. Полное удаление существующих версий CloudPanel и остаточных файлов баз данных (MySQL/Percona), если они были установлены ранее.

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

  5. Установка базовых системных компонентов: curl, wget, lsof, ca-certificates, gnupg, apt-transport-https, apt-utils.

  6. Установка основного компонента:

  7. Загрузка установочного скрипта из официального репозитория CloudPanel (install.sh).

  8. Модификация скрипта для обеспечения совместимости с MySQL 8.0 и разрешения отката версий пакетов.

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

  10. Настройка проксирования:

  11. Развертывание контейнера Nginx с поддержкой SSL (Certbot) для управления сертификатами.

Контейнеры Docker и их запуск

Для обеспечения работы веб-сервера и автоматического получения SSL-сертификатов используется следующий контейнер:

Параметр Значение
Имя образа jonasal/nginx-certbot:latest
Режим сети host
Политика перезапуска unless-stopped
Тома (volumes) nginx_secrets:/etc/letsencrypt
/data/nginx/user_conf.d:/etc/nginx/user_conf.d
Переменные окружения CERTBOT_EMAIL=hkadm@hostkey.com

Контейнер использует внешний том nginx_secrets для хранения сертификатов и монтирует локальную директорию /data/nginx/user_conf.d в качестве конфигурационных файлов Nginx.

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия:

  • Модификация установщика: Скрипт install.sh подвергается правкам для принудительного использования движка базы данных MYSQL_8.0 вместо стандартного MYSQL_8.4.

  • Настройка проксирования (Nginx): После запуска контейнера Nginx выполняется изменение конфигурации, где путь доступа по умолчанию перенаправляется с /django_client на корень /.

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

Основные данные и файлы конфигурации распределены следующим образом:

  • Конфигурация Docker Compose: /root/nginx/compose.yml

  • Файлы конфигурации Nginx: /data/nginx/user_conf.d/

  • Переменные окружения для SSL: /data/nginx/nginx-certbot.env

  • Сертификаты (Let's Encrypt): хранятся в томе nginx_secrets.

Доступные порты для подключения

Порт Назначение Протокол
8443 Панель управления CloudPanel HTTPS
443 Веб-трафик (через Nginx прокси) HTTPS
80 Веб-трафик (HTTP) HTTP
3306 База данных MySQL TCP

Запуск, остановка приложения

Управление веб-сервером и проксированием осуществляется через Docker Compose в директории /root/nginx:

  • Запуск:

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

  • Остановка:

    cd /root/nginx && docker compose down
    

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