Обзор развертывания WordPress WooCommerce на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры и компоненты:
-
Операционная система: Debian (или дистрибутивы на базе APT).
-
Права доступа: Права суперпользователя (root) для установки системных пакетов.
-
Порты:
-
80(внутренний HTTP) -
443(внешний HTTPS)
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | wp |
| Домен | hostkey.in |
| Полный шаблон | wp{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Основные данные и конфигурации распределены по следующим путям:
-
/data/wordpress— корневая директория сайта (контент WordPress). -
/root/wordpress— рабочая директория Docker Compose. -
/data/nginx/user_conf.d/— конфигурационные файлы Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для SSL.
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Подготовка системы: Обновление списков пакетов APT и установка системных утилит (
lsb-release,apt-transport-https,vim,htop,zip). -
Подготовка контента:
-
Создание директории
/data/wordpressс правами владельца33:33. -
Загрузка и распаковка плагина WooCommerce версии
8.7.0. -
Размещение файлов плагина в папку
/data/wordpress/wp-content/plugins/. -
Настройка веб-сервера: Генерация конфигурационного файла Nginx для обеспечения SSL-соединения.
-
Развертывание контейнеров: Запуск инфраструктуры через Docker Compose из директории
/root/wordpress.
Контейнеры Docker и их запуск¶
Приложение работает в составе группы контейнеров, управляемых через docker compose:
| Имя образа | Назначение | Порты | Тома (Volumes) | Переменные окружения | Политика перезапуска |
|---|---|---|---|---|---|
bitnami/mariadb:latest | База данных MariaDB | Нет | mariadb_data:/bitnami/mariadb | MARIADB_USER, MARIADB_DATABASE, MARIADB_PASSWORD, MARIADB_ROOT_PASSWORD | unless-stopped |
docker.io/wordpress:php8.2-fpm | Основное приложение WordPress | 127.0.0.1:9000:9000 | /data/wordpress:/var/www/html | MYSQL_ROOT_PASSWORD, WORDPRESS_DB_PASSWORD, WORDPRESS_DB_HOST, WORDPRESS_DB_USER, WORDPRESS_DB_NAME | unless-stopped |
jonasal/nginx-certbot:latest | Веб-сервер Nginx и управление SSL | Использует network_mode: host | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d, /data/wordpress:/var/www/html | CERTBOT_EMAIL (из .env файла) | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
В процессе установки выполняется автоматическая загрузка и интеграция плагина WooCommerce:
-
Источник:
https://downloads.wordpress.org/plugin/woocommerce.8.7.0.zip -
Действие: Плагин распаковывается во временную директорию
/tmpи перемещается в рабочую директорию сайта для немедленной доступной работы после запуска контейнеров.
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия:
-
Перейти в рабочую директорию:
cd /root/wordpress. -
Обновить образы и перезапустить контейнеры: