Обзор развертывания 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 устанавливается с помощью официального скрипта установщика, который загружается и выполняется с определенными модификациями для обеспечения совместимости с требуемой версией базы данных.
-
Подготовка системы: Существующие сервисы баз данных и веб-серверов (
mysql,mariadb,nginx,apache2) останавливаются и отключаются. -
Удаление пакетов: Любые существующие установки CloudPanel, MySQL, MariaDB или Percona удаляются, а их каталоги данных (
/var/lib/mysql,/etc/mysql,/var/run/mysqld) стираются. -
Установка зависимостей: Устанавливаются необходимые пакеты, такие как
curl,wget,lsof,ca-certificatesиgnupg. -
Запуск установщика: Установщик загружается с
https://installer.cloudpanel.io/ce/v2/install.shв/root/cloudpanel-install.sh. -
Модификация скрипта: Скрипт установщика патчится для использования
MYSQL_8.0вместо движка по умолчанию и разрешает понижение версий пакетов в процессе обновления. -
Финальная установка: Скрипт выполняется для развертывания 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 для прокси и стандартные команды сервиса для основного приложения.
-
Запуск контейнера прокси:
-
Остановка контейнера прокси:
-
Проверка статуса прокси:
-
Управление основным сервисом: Сервис CloudPanel работает как управляемый сервис. Для перезапуска сервиса Nginx при необходимости: