Обзор развертывания WordPress на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры конфигурации:
| Параметр | Значение |
|---|---|
| Доменная зона | hostkey.in |
| Внутренний порт | 8080 |
| Внешний порт (HTTPS) | 443 |
| Внутренний путь | / |
| Внешний путь | / |
FDQN итоговой панели на домене hostkey.in¶
Шаблон доменного имени для доступа к приложению:
| Параметр | Значение |
|---|---|
| Префикс | wp |
| Домен | hostkey.in |
| Полный шаблон | wp{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/root/wordpress— рабочая директория проекта и файл конфигурации Docker Compose. -
/data/nginx/— конфигурационные файлы Nginx. -
/data/nginx/user_conf.d/— пользовательские конфигурации виртуальных хостов. -
/data/wordpress— содержимое веб-приложения (файлы WordPress).
Процесс установки приложения¶
Развертывание выполняется путем создания необходимых директорий, генерации конфигурационных файлов Nginx и Docker Compose, после чего запускается контейнерная среда с помощью команды docker compose up -d. Приложение использует официальные образы WordPress и MariaDB.
Контейнеры Docker и их запуск¶
Приложение развернуто в составе трех контейнеров:
mariadb¶
-
Имя образа:
docker.io/bitnami/mariadb:latest -
Политика перезапуска:
unless-stopped -
Тома (volumes):
mariadb_data:/bitnami/mariadb -
Переменные окружения:
-
MARIADB_USER=wordpress -
MARIADB_DATABASE=wordpress -
MARIADB_PASSWORD={password} -
MARIADB_ROOT_PASSWORD={password}
-
wordpress¶
-
Имя образа:
docker.io/wordpress:php8.2-fpm -
Политика перезапуска:
unless-stopped -
Порты:
127.0.0.1:9000:9000 -
Тома (volumes):
/data/wordpress:/var/www/html -
Переменные окружения:
-
MYSQL_ROOT_PASSWORD={password} -
WORDPRESS_DB_PASSWORD={password} -
WORDPRESS_DB_HOST=mariadb -
WORDPRESS_DB_USER=wordpress -
WORDPRESS_DB_NAME=wordpress
-
nginx¶
-
Имя образа:
jonasal/nginx-certbot:latest -
Политика перезапуска:
unless-stopped -
Режим сети:
host -
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com(также используются параметры из файла/data/nginx/nginx-certbot.env)
-
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
/data/wordpress:/var/www/html
-
Обновление приложения¶
Обновление выполняется через команду:
(выполняется в директории/root/wordpress) Настройки прав¶
Для обеспечения безопасности и корректной работы сервисов установлены следующие права на директории:
-
Директория
/dataи поддиректории: владелецroot, группаroot, режим доступа0640или0755. -
Файлы конфигурации в
/data/nginx/: владелецroot, группаroot, режим доступа0644. -
Директория
/root/wordpress: владелецroot, группаroot, режим доступа0644(для файлов) или0755(для директорий).
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь |
|---|---|
| Конфигурация Docker Compose | /root/wordpress/compose.yml |
| Конфигурация Nginx (пользовательская) | /data/nginx/user_conf.d/wp{server_id}.hostkey.in.conf |
| Переменные окружения Nginx | /data/nginx/nginx-certbot.env |
| Данные базы данных (Volume) | mariadb_data |
| Сертификаты SSL (Volume) | nginx_secrets |
| Файлы WordPress | /data/wordpress |
Доступные порты для подключения¶
-
80— HTTP (для перенаправления и проверки Certbot). -
443— HTTPS (основной порт доступа к сайту). -
9000— PHP-FPM (доступен локально на хосте через127.0.0.1).
Запуск, остановка приложения¶
Управление контейнерами осуществляется из директории /root/wordpress:
-
Запуск:
-
Остановка: