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

WordPress + плагин WooCommerce

Предварительные требования и базовые условия

  • Операционная система: Linux-дистрибутив на базе Debian.

  • Привилегии: Для установки и конфигурации требуется доступ root.

  • Домен: Поддомен в зоне hostkey.in настраивается автоматически.

  • Порты:

    • Порт 443 (HTTPS) для внешнего веб-трафика.

    • Порт 9000 (localhost) для внутренней коммуникации PHP-FPM.

  • Программное обеспечение: Должны быть установлены и работать Docker Engine и Docker Compose.

FQDN финальной панели

Приложение доступно по следующему полному доменному имени (FQDN): wp<Server ID>.hostkey.in:443

Замените <Server ID> на идентификатор сервера, присвоенный конкретному экземпляру.

Структура файлов и каталогов

Система организует конфигурацию, данные и код по следующим путям:

  • Данные приложения: /data/wordpress

    • Содержит ядро WordPress и каталог плагинов.

    • Плагины расположены в /data/wordpress/wp-content/plugins/.

  • Конфигурация Docker: /root/wordpress

    • Содержит файл compose.yml для оркестрации сервисов.
  • Конфигурация Nginx: /data/nginx

    • Пользовательские блоки серверов: /data/nginx/user_conf.d/.

    • Переменные окружения: /data/nginx/nginx-certbot.env.

    • Сертификаты SSL (управляемые Let's Encrypt): /etc/letsencrypt/.

Процесс установки приложения

Приложение разворачивается с использованием Docker Compose. Процесс включает следующие версионные компоненты:

  1. Плагин WooCommerce: Версия 8.7.0 загружается из официального репозитория WordPress, распаковывается и размещается в каталоге плагинов.

  2. Ядро WordPress: Размещено внутри контейнера docker.io/wordpress:php8.2-fpm.

  3. База данных: Размещена внутри контейнера bitnami/mariadb:latest.

  4. Обратный прокси: Размещен внутри контейнера jonasal/nginx-certbot:latest, обеспечивающего завершение SSL-соединений и маршрутизацию.

Процесс развертывания инициализирует структуру каталогов, размещает плагин WooCommerce, генерирует конфигурацию Docker Compose и запускает сервисы.

Контейнеры Docker и их развертывание

Окружение использует три основных контейнера, определенных в файле /root/wordpress/compose.yml.

Имя сервиса Образ Docker Назначение
mariadb bitnami/mariadb:latest Хостит базу данных приложения.
wordpress docker.io/wordpress:php8.2-fpm Выполняет PHP-логику приложения.
nginx jonasal/nginx-certbot:latest Выступает в роли веб-сервера, обратного прокси и менеджера SSL.

Контейнер nginx использует параметр network_mode: host для прямого подключения к сетевому стеку хоста. Контейнер wordpress привязывает PHP-FPM к адресу 127.0.0.1:9000 на хосте.

Базы данных

База данных — это экземпляр MariaDB, работающий внутри контейнера Docker.

  • Хост подключения: mariadb (внутреннее имя контейнера).

  • Имя базы данных: wordpress.

  • Пользователь базы данных: wordpress.

  • Хранение: Данные сохраняются в именованном томе Docker с меткой mariadb_data.

  • Учетные данные: Пароль root и пароль приложения управляются через переменные окружения в конфигурации Docker Compose.

Серверы прокси

Nginx используется как обратный прокси и точка завершения SSL-соединений.

  • Расположение конфигурации: /data/nginx/user_conf.d/wp<Server ID>.hostkey.in.conf.

  • SSL/TLS: Автоматически управляются образом nginx-certbot.

    • Сертификаты хранятся в /etc/letsencrypt/live/.

    • Сервер слушает порт 443 с включенным SSL.

  • Маршрутизация:

    • Статические файлы и PHP-скрипты обслуживаются из каталога /var/www/html внутри контейнера (отображается в /data/wordpress на хосте).

    • PHP-запросы проксируются на локальную службу PHP-FPM по адресу localhost:9000.

  • Индексный файл: index.php.

Настройки разрешений

Права доступа к файлам и каталогам настраиваются следующим образом в процессе установки:

  • Каталог данных приложения (/data/wordpress):

    • Владелец: 33 (www-data).

    • Группа: 33 (www-data).

    • Режим: 0755.

  • Каталог конфигурации Docker (/root/wordpress):

    • Владелец: root.

    • Группа: root.

    • Режим: 0640 для самого каталога; 0644 для файла compose.yml.

  • Файлы конфигурации Nginx:

    • Владелец: root.

    • Группа: root.

    • Режим: 0644.

Доступные порты для подключения

  • Порт 443: Основная точка входа в приложение через HTTPS.

  • Порт 9000: Только внутренний. Привязывается к 127.0.0.1 на хосте и соединяет контейнер Nginx с контейнером WordPress PHP-FPM.

Запуск, остановка и обновление

Управление сервисами выполняется с помощью Docker Compose в каталоге конфигурации.

  • Запуск сервисов:

    cd /root/wordpress
    docker compose up -d
    

  • Остановка сервисов:

    cd /root/wordpress
    docker compose down
    

  • Просмотр логов:

    docker compose logs -f
    

  • Обновление конфигурации: Для применения изменений в файлах конфигурации или загрузки новых образов остановите сервисы, при необходимости измените конфигурацию и снова выполните команду запуска.

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