Обзор развертывания aaPanel на сервере¶
Предпосылки и предварительные требования¶
- Сервер с дистрибутивом Ubuntu (поддерживается версия 20.04 и новее).
- Установленная система управления пакетами
apt. - Установлен
dockerиdocker‑compose(пакетdocker-compose— отдельный сервис). - В сети доступ к внешнему интернету, чтобы можно было скачивать пакеты, репозитории и сертификаты.
Структура файлов и каталогов¶
/root/nginx
├── compose.yml # docker‑compose‑файл
└── .env? # переменные окружения, если используются
/data/nginx/user_conf.d
└── <domain>.conf # конфигурации nginx для конкретных доменов
/root/nginx содержит шаблонный compose‑файл, который создаётся после копирования шаблона compose.yml.j2.В
/data/nginx/user_conf.d размещаются конфигурационные файлы, которые подключаются Nginx‑контейнером. Права доступа и безопасность¶
/root/nginxи/root/nginx/compose.ymlпринадлежат пользователюrootи доступны только ему (0755/0644)./data/nginx/user_conf.dтакже создаётся как собственностьroot, так как используется контейнером, запущенным от имениroot.- Секреты LetsEncrypt хранятся в томе
nginx_secrets, экспортированном как/etc/letsencryptвнутри контейнера. - Контейнер Nginx работает в режиме сети
host, поэтому его порты напрямую видны из сети.
Базы данных¶
aaPanel сам по себе не требует внешних баз данных при первой установке.
При создании сайтов и приложений внутри панели пользователи могут подключать MySQL, PostgreSQL, MongoDB и др. В рамках развертывания описанного скрипта база данных не используется.
Контейнеры Docker и их запуск¶
Nginx‑certbot¶
Контейнер jonasal/nginx-certbot:latest выполняет две роли:
1. Реверс‑прокси для aaPanel.
2. Автоматическое получение/обновление сертификатов LetsEncrypt через Certbot.
Контейнер подключается к сети хоста и имеет доступ к порту 80 и 443, а также к порту internal_port (порт aaPanel, по умолчанию 3000).
Как запустить контейнеры¶
# Перейти в каталог с compose‑файлом
cd /root/nginx
# Запустить сервисы в фоновом режиме
docker compose up -d
docker exec nginx-nginx-1 nginx -t) и будет перезапущен, пока не будет валидна. Как остановить контейнеры¶
илиКак обновить образ¶
Прокси серверы¶
Nginx‑certbot (главный прокси)¶
- HTTP (80): используется только для прохождения шага проверки Let’s Encrypt. После получения сертификата автоматически включается HTTPS.
- HTTPS (443): сертификаты берутся из тома
/etc/letsencrypt.
Конфигурация для пользовательского домена¶
Файл <domain>.conf (шаблон nginx_custom_domain.conf.j2) создаётся автоматически после установки.
Основные блоки:
| Блок | Описание |
|---|---|
listen 80; | Сервер обслуживает запросы HTTP. |
location /.well-known/acme-challenge/ | Путь для проверки Let’s Encrypt. |
location / | Реверс‑прокси к aaPanel (https://127.0.0.1:<internal_port>). |
listen 443 ssl; | Включает HTTPS и указывает путь к сертификату. |
Если пользователь задали custom_domain, сначала создаётся конфигурация без HTTPS, после получения сертификата добавляется блок с listen 443 ssl.
Как добавить собственный домен вручную¶
- Создайте файл
/data/nginx/user_conf.d/<домен>.confсо следующим содержимым:
- Перезапустите контейнер Nginx‑certbot:
- Получите сертификат (можно использовать Certbot в контейнере вручную).
Настройки прав, запуск, остановка и обновление (docker или docker‑compose)¶
Запуск¶
Остановка¶
Перезапуск¶
Обновление образов¶
Настройки aaPanel после установки¶
- После скачивания и запуска установочного скрипта aaPanel (
install_7.0_en.sh) создаётся сервисbt. - Порт панели меняется на 3000 (команда
bt#8). - По умолчанию имя пользователя – aaPanel, пароль – aaPanel123 (команды
bt#5 и #6). - Адрес входа можно получить командой
bt 14(выводит строку видаhttp://<IP>:3000). - Для удобства панель автоматически перезапускается (
bt 1).
Проверка статуса¶
Должен выводитьactive (running). Важные замечания¶
- После установки aaPanel убедитесь, что в настройках сети вашего хоста разрешён порт 3000.
- Если вы используете кастомный домен, убедитесь, что DNS‑записи (
AилиCNAME) указывают на IP вашего сервера. - При первом запуске Nginx‑certbot создаст сертификаты только для указанных доменов; другие домены не защищены.
Эта схема развертывания обеспечивает стабильную работу aaPanel через безопасный HTTPS‑прокси и автоматическое обновление сертификатов.