Обзор развертывания aaPanel на сервере¶
Предварительные условия и основные требования¶
Для успешного развертывания aaPanel должны быть соблюдены следующие требования:
-
Операционная система: Ubuntu (исходя из использования пакетного менеджера
apt). -
Привилегии: Для установки и управления сервисами требуются права root или доступ через sudo.
-
Домен: Для получения SSL-сертификатов через Certbot требуется действующее доменное имя, направленное на IP-адрес сервера.
-
Необходимые пакеты:
curl,wgetиpython3-pexpect.
FQDN финальной панели в домене hostkey.in (если доступно) в формате 'Server ID'.hostkey.in:¶
Точка доступа по умолчанию для панели настроена следующим образом: aaPanel<ServerID>.hostkey.in:3000
Структура файлов и директорий¶
При развертывании используются несколько специфических директорий для конфигурации, логов и управления SSL:
| Путь | Описание |
|---|---|
/root/install_7.0_en.sh | Установочный скрипт aaPanel |
/root/aapanel_install.log | Файл лога установки |
/data/nginx/user_conf.d/ | Директория пользовательских конфигураций Nginx |
/data/nginx/nginx-certbot.env | Переменные окружения для контейнера Nginx |
/www/server/panel/data/admin_path.pl | Скрипт, содержащий путь входа администратора |
Процесс установки приложения¶
Приложение устанавливается с помощью официального установочного скрипта aaPanel (версия 7.0). Процесс установки включает:
-
Загрузку скрипта
install_7.0_en.shв директорию/root. -
Выполнение скрипта с параметром
aapanel. -
Настройку учетных данных по умолчанию:
-
Username:
aaPanel -
Password:
aaPanel123
-
-
Изменение порта управления на
3000.
Права доступа и безопасность¶
Безопасность обеспечивается на нескольких уровнях:
-
Firewall/Управление портами: Внутренний порт управления панелью установлен на
3000, в то время как стандартный веб-трафик маршрутизируется через порты443(HTTPS) или80(HTTP). -
Учетные данные пользователя: Для обеспечения безопасности учетные данные по умолчанию изменяются в процессе установки.
-
SSL/TLS: SSL-сертификаты управляются через Certbot внутри Docker-контейнера для защиты соединений с пользовательскими доменами.
Прокси-серверы¶
Настройка обратного прокси (reverse proxy) реализована с использованием Nginx в контейнере Docker (jonasal/nginx-certbot:latest) для обработки входящего трафика и терминации SSL.
Детали конфигурации Nginx¶
Конфигурация прокси включает:
-
Поддержка ACME Challenge: Настроен специальный блок
locationдля.well-known/acme-challenge/, позволяющий выполнять автоматическое обновление SSL. -
Перенаправление (Redirection): Реализовано автоматическое перенаправление с HTTP на HTTPS для корневого пути и пути входа администратора.
-
Proxy Headers: Следующие заголовки передаются на бэкенд:
Host,X-Forwarded-Host,X-Forwarded-Proto,X-Forwarded-Port,X-Real-IPиX-Forwarded-For.
Docker-контейнеры и их развертывание¶
Обратный прокси Nginx развертывается с помощью Docker Compose.
Конфигурация контейнера¶
Развертывание использует файл compose.yml, расположенный в /root/nginx/, со следующими спецификациями:
| Компонент | Значение |
|---|---|
| Image | jonasal/nginx-certbot:latest |
| Network Mode | host |
| Restart Policy | unless-stopped |
| Volumes | nginx_secrets (внешний), /data/nginx/user_conf.d |
Доступные порты для подключения¶
Система использует следующие порты:
| Порт | Назначение |
|---|---|
80 | HTTP-трафик и ACME challenges |
443 | HTTPS (защищенный веб-трафик) |
3000 | Интерфейс управления aaPanel |