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

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

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

Развертывание CloudPanel требует чистой установки на сервере с операционной системой Ubuntu. Для выполнения скриптов установки и управления сервисами система должна иметь права root. Прежде чем продолжить, убедитесь в выполнении следующих условий:

  • Сервер должен работать с поддерживаемой операционной системой Ubuntu.

  • Для всех шагов установки и конфигурации требуются права root (доступ sudo).

  • Порты 80, 443 и 3306 должны быть доступны и не заняты другими сервисами, такими как nginx, apache2, mysql или mariadb.

  • Существующие установки баз данных (MySQL, MariaDB, Percona) и веб-серверов будут удалены для предотвращения конфликтов.

Полное доменное имя (FQDN) конечной панели

Полное доменное имя (FQDN) для доступа к интерфейсу CloudPanel формируется с использованием предоставленного префикса и идентификатора сервера в зоне hostkey.in. URL-адрес доступа следует этому формату:

  • Структура домена: cloudPanel<Server ID>.hostkey.in

  • Внешний порт: 443 (HTTPS)

  • Внутренний путь: /

  • Пример полного URL: cloudPanel<Server ID>.hostkey.in:443

Структура файлов и каталогов

Приложение устанавливает файлы конфигурации, логи и данные в конкретные места на хост-сервере. Ключевые каталоги включают:

  • Конфигурация приложения: /etc/cloudpanel

  • SSL-сертификаты: Управляются внутри томов Docker, связанных с /etc/letsencrypt внутри контейнера.

  • Конфигурация пользователя Nginx: /data/nginx/user_conf.d

  • Docker Compose для прокси: /root/nginx/compose.yml

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

CloudPanel устанавливается с помощью официального скрипта установщика, который загружается и выполняется с определенными модификациями для обеспечения совместимости с требуемой версией базы данных.

  1. Подготовка системы: Существующие сервисы баз данных и веб-серверов (mysql, mariadb, nginx, apache2) останавливаются и отключаются.

  2. Удаление пакетов: Любые существующие установки CloudPanel, MySQL, MariaDB или Percona удаляются, а их каталоги данных (/var/lib/mysql, /etc/mysql, /var/run/mysqld) стираются.

  3. Установка зависимостей: Устанавливаются необходимые пакеты, такие как curl, wget, lsof, ca-certificates и gnupg.

  4. Запуск установщика: Установщик загружается с https://installer.cloudpanel.io/ce/v2/install.sh в /root/cloudpanel-install.sh.

  5. Модификация скрипта: Скрипт установщика патчится для использования MYSQL_8.0 вместо движка по умолчанию и разрешает понижение версий пакетов в процессе обновления.

  6. Финальная установка: Скрипт выполняется для развертывания CloudPanel; при успешном завершении создается каталог /etc/cloudpanel.

Контейнеры Docker и их развертывание

Контейнер прокси развертывается для управления SSL-сертификатами и маршрутизацией для экземпляра CloudPanel. Этот контейнер управляется через Docker Compose.

  • Образ контейнера: jonasal/nginx-certbot:latest

  • Метод развертывания: docker compose up -d

  • Рабочий каталог: /root/nginx

  • Файл конфигурации: /root/nginx/compose.yml

Конфигурация Docker Compose включает:

  • Политика перезапуска: unless-stopped

  • Режим сети: host

  • Монтированные тома:

  • nginx_secrets (внешний том) отображается на /etc/letsencrypt для хранения SSL.

  • Каталог хоста /data/nginx/user_conf.d отображается на /etc/nginx/user_conf.d для пользовательских конфигураций.

  • Переменные окружения:

  • CERTBOT_EMAIL: Установлено в hkadm@hostkey.com.

Прокси-серверы

Приложение использует контейнер прокси на базе Nginx для обработки терминации SSL через Certbot. Благодаря этой настройке трафик в домен hostkey.in шифруется и маршрутизируется правильно.

  • ПО прокси-сервера: Nginx (через контейнер Docker)

  • Поставщик SSL: Let's Encrypt (Certbot)

  • Электронная почта для сертификата: hkadm@hostkey.com

  • Поддержка пользовательских доменов: Настроено через файлы в /data/nginx/user_conf.d.

  • Маршрутизация: Конфигурация прокси перенаправляет трафик для cloudPanel<Server ID>.hostkey.in во внутреннюю службу CloudPanel.

Настройки прав доступа

Права доступа к файлам и каталогам устанавливаются в ходе установки и фаз развертывания Docker для обеспечения безопасности и корректной функциональности.

  • Каталог конфигурации Nginx: /root/nginx

  • Владелец: root

  • Группа: root

  • Режим: 0644

  • Файл compose: /root/nginx/compose.yml

  • Владелец: root

  • Группа: root

  • Режим: 0644

  • Каталог пользовательских конфигураций: /data/nginx/user_conf.d

  • Доступен контейнеру Nginx через монтирование тома.

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

Развертывание конфигурирует следующие порты для внутреннего и внешнего взаимодействия:

Порт Направление Протокол Описание
8443 Внутреннее HTTPS Внутреннее взаимодействие между прокси и сервисом CloudPanel.
443 Внешнее HTTPS Публичный доступ к веб-интерфейсу CloudPanel через прокси.
80 Внешнее HTTP Используется Certbot для обновления SSL-сертификатов (HTTP-запрос).
3306 Внутреннее/Внешнее MySQL Порт подключения к базе данных (должен быть свободен перед установкой).

Запуск, остановка и обновление

Управление сервисами осуществляется через CLI Docker Compose для прокси и стандартные команды сервиса для основного приложения.

  • Запуск контейнера прокси:

    cd /root/nginx
    docker compose up -d
    

  • Остановка контейнера прокси:

    cd /root/nginx
    docker compose down
    

  • Проверка статуса прокси:

    docker ps
    

  • Управление основным сервисом: Сервис CloudPanel работает как управляемый сервис. Для перезапуска сервиса Nginx при необходимости:

    systemctl restart nginx
    

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