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

Обзор развертывания WordPress на сервере

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

Для успешного развертывания приложения необходимы следующие условия:

  • Установленный Docker и Docker Compose.

  • Доступ к терминалу с правами суперпользователя (root).

  • Настроенный домен для работы через SSL (Certbot).

  • Открытые порты: 80 (HTTP) и 443 (HTTPS).

FQDN итоговой панели на домене hostkey.in

| Параметр | Значение | | Префикс | wp | | Домен | hostkey.in | | Полный шаблон | wp{Server_ID_from_Invapi}.hostkey.in |

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

В системе используются следующие директории для хранения данных и конфигураций:

  • /root/wordpress — рабочая директория приложения, содержащая файл compose.yml.

  • /data/nginx/user_conf.d/ — директория с конфигурационными файлами веб-сервера Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для работы SSL.

  • /data/wordpress — хранилище файлов сайта (контент WordPress).

  • /var/lib/docker/volumes/mariadb_data — место хранения данных базы данных MariaDB.

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

Развертывание выполняется путем автоматической подготовки окружения и запуска контейнеров через Docker Compose:

  1. Создаются необходимые директории в системе (/data, /root/wordpress и др.).

  2. Подготавливается конфигурационный файл Nginx для обеспечения работы по протоколу HTTPS.

  3. Генерируется файл compose.yml в директории /root/wordpress.

  4. Запускается процесс развертывания контейнеров командой docker compose up -d из директории /root/wordpress.

Права доступа и безопасность

  • Все системные директории (/data, /data/nginx) создаются с правами владельца root и группой root.

  • Конфигурационные файлы имеют режим доступа 0644.

  • Директории для хранения данных имеют режим доступа 0755.

Базы данных

Для работы WordPress используется контейнер MariaDB.

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

  • Пользователь: wordpress

  • Место хранения: Данные сохраняются в именованном томе mariadb_data.

Контейнеры Docker и их запуск

Приложение состоит из трех основных контейнеров:

Имя образа Назначение Порты Тома (Volumes) Переменные окружения Политика перезапуска
bitnami/mariadb:latest База данных Нет mariadb_data:/bitnami/mariadb MARIADB_USER, MARIADB_DATABASE, MARIADB_PASSWORD, MARIADB_ROOT_PASSWORD unless-stopped
wordpress:php8.3-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 Веб-сервер и SSL Использует сеть 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

Инструкция по обновлению приложения

Для обновления версии WordPress и связанных с ним компонентов необходимо выполнить следующие действия:

  1. Перейти в рабочую директорию:

    cd /root/wordpress
    

  2. Подтянуть актуальные образы:

    docker compose pull
    

  3. Перезапустить контейнеры с новыми версиями:

    docker compose up -d
    

Расположение конфигурационных файлов и данных

  • Конфигурация Nginx: /data/nginx/user_conf.d/wp{Server_ID_from_Invapi}.hostkey.in.conf

  • Файлы сайта: /data/wordpress

  • Данные БД: внутри тома mariadb_data

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

  • 80 — HTTP (для перенаправления на HTTPS и проверки Certbot).

  • 443 — HTTPS (основной порт для доступа к сайту).

  • 9000 — PHP-FPM (доступен только локально внутри сервера).

Запуск, остановка приложения

Управление приложением осуществляется через Docker Compose в директории /root/wordpress:

  • Запуск: docker compose up -d

  • Остановка: docker compose down

  • Просмотр статуса: docker compose ps

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