Обзор развертывания aaPanel на сервере¶
Предварительные требования и базовые условия¶
Для развертывания aaPanel требуется серверная среда на базе Linux со следующими характеристиками:
-
Операционная система: Ubuntu (подтверждено через менеджер пакетов
apt). -
Привилегии: Требуется доступ root для установки системных пакетов, управления службами и настройки межсетевого экрана (firewall).
-
Сетевой доступ: Сервер должен иметь исходящий доступ в интернет для загрузки установщика и получения SSL-сертификатов.
-
Порты:
-
Порт
3000: Внутренний порт службы aaPanel. -
Порт
443: Внешний порт HTTPS для обратного прокси-сервера Nginx. -
Порт
80: Порт HTTP, необходимый для проверки вызова ACME (ACME challenge) утилитой Certbot.
FQDN конечной панели¶
Приложение доступно через домен hostkey.in в следующем формате:
-
Стандартный домен:
aaPanel<Server ID>.hostkey.in -
Порт:
443(HTTPS) -
Полный формат URL:
https://aaPanel<Server ID>.hostkey.in
Если настроен пользовательский домен, FQDN будет представлять собой конкретный пользовательский домен, указанный при настройке, также доступный через порт 443.
Структура файлов и каталогов¶
Развертывание использует следующую структуру каталогов для конфигурации, данных и сертификатов:
-
Установка aaPanel:
/www/server/panel -
Данные aaPanel:
/www/server/panel/data -
Каталог конфигурации Nginx:
/data/nginx/user_conf.d -
Каталог Compose для Nginx:
/root/nginx -
SSL-сертификаты (том Docker): Монтируются в
/etc/letsencryptвнутри контейнера Nginx. -
Webroot для Certbot:
/var/www/certbot(внутри контейнера Nginx).
Процесс установки приложения¶
Приложение aaPanel устанавливается с помощью официального скрипта установщика версии 7.0. Процесс включает следующие шаги:
-
Подготовка системы:
-
Убедитесь, что установлены
curl,wgetиpython3-pexpect. -
Освободите любые блокировки менеджера пакетов
apt, чтобы предотвратить конфликты при установке.
-
-
Запуск установщика:
-
Скрипт установщика загружается с
https://www.aapanel.com/script/install_7.0_en.shв/root/install_7.0_en.sh. -
Скрипт выполняется с флагом
-yдля автоматического принятия значений по умолчанию:
-
-
Инициализация службы:
-
Служба
btзапускается и включается для автоматического запуска при загрузке системы. -
Система ожидает полной инициализации панели.
-
-
Конфигурация:
-
Порт панели изменяется на
3000. -
Имя пользователя по умолчанию устанавливается как
aaPanel. -
Пароль по умолчанию устанавливается как
aaPanel123. -
Путь администратора генерируется и сохраняется в
/www/server/panel/data/admin_path.pl.
-
Контейнеры Docker и их развертывание¶
Контейнер обратного прокси-сервера и управления SSL развертывается с помощью Docker Compose.
-
Образ:
jonasal/nginx-certbot:latest -
Расположение файла Compose:
/root/nginx/compose.yml -
Команда развертывания:
Эта команда выполняется из каталога/root/nginx. -
Конфигурация контейнера:
-
Режим сети:
host -
Политика перезапуска:
unless-stopped -
Переменные окружения:
CERTBOT_EMAIL:hkadm@hostkey.com
-
Тома (Volumes):
-
nginx_secrets(внешний) монтируется в/etc/letsencrypt. -
/data/nginx/user_conf.dмонтируется в/etc/nginx/user_conf.d.
-
Прокси-серверы¶
Nginx действует как обратный прокси-сервер для обработки входящего трафика на порту 443 и пересылки его во внутреннюю службу aaPanel на порту 3000.
-
Расположение конфигурации:
-
Стандартный домен:
/data/nginx/user_conf.d/aaPanel<Server ID>.hostkey.in.conf -
Пользовательский домен:
/data/nginx/user_conf.d/<custom_domain>.conf -
Настройки прокси:
-
Цель:
https://127.0.0.1:3000 -
Проверка SSL: Отключена (
proxy_ssl_verify off). -
Заголовки:
-
Host:$host:3000 -
X-Forwarded-Host:$host -
X-Forwarded-Proto:https -
X-Forwarded-Port:443 -
X-Real-IP:$remote_addr -
X-Forwarded-For:$proxy_add_x_forwarded_for
-
-
Версия HTTP:
1.1 -
Буферизация: Отключена (
proxy_buffering off). -
SSL/TLS:
-
Сертификаты управляются утилитой Certbot внутри контейнера Docker.
-
Для пользовательских доменов сертификат получается через вызов webroot (webroot challenge) в
/var/www/certbot. -
HTTP-запросы перенаправляются на путь администратора или на HTTPS.
Права доступа и безопасность¶
-
Права доступа к файлам:
-
Каталог конфигурации Nginx (
/root/nginx):0755(Владелец:root, Группа:root). -
Файл Compose (
/root/nginx/compose.yml):0644(Владелец:root, Группа:root). -
Файлы конфигурации пользователя Nginx:
0644(Владелец:root, Группа:root). -
Конфигурация пользователя:
-
Имя администратора aaPanel настроено как
aaPanel. -
Пароль по умолчанию установлен как
aaPanel123. -
Межсетевой экран (Firewall):
-
Порты
80и443должны быть открыты для обеспечения внешнего доступа и проверки SSL-сертификатов. -
Порт
3000используется внутренне и не открыт напрямую для публичного интернета.
Доступные порты для подключения¶
| Порт | Протокол | Описание |
|---|---|---|
| 80 | HTTP | Используется для проверки вызова ACME и перенаправления. |
| 443 | HTTPS | Основной порт доступа к интерфейсу aaPanel через Nginx. |
| 3000 | HTTP/HTTPS | Внутренний порт службы aaPanel (за прокси-сервером). |
Запуск, остановка и обновление¶
Служба aaPanel управляется с помощью командной утилиты bt и systemd.
-
Управление службой:
-
Имя службы:
bt. -
Для обеспечения работы службы и её включения:
-
Перезапуск панели:
-
Для перезапуска панели и применения изменений конфигурации:
-
Просмотр пути администратора:
-
Для получения текущего пути входа администратора:
-
Путь также сохраняется в файле
/www/server/panel/data/admin_path.pl. -
Управление контейнером Docker:
-
Для перезапуска контейнера прокси-сервера Nginx:
-
Для перезагрузки конфигурации Nginx внутри контейнера: