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

Обзор развертывания 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

Обновление приложения

Обновление выполняется через команду:

docker compose pull && docker compose up -d
(выполняется в директории /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:

  • Запуск:

    docker compose up -d
    

  • Остановка:

    docker compose down
    

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×