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

Обзор развертывания 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). Процесс установки включает:

  1. Загрузку скрипта install_7.0_en.sh в директорию /root.

  2. Выполнение скрипта с параметром aapanel.

  3. Настройку учетных данных по умолчанию:

    • Username: aaPanel

    • Password: aaPanel123

  4. Изменение порта управления на 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
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×