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

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

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

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

  • Операционная система: Debian (или дистрибутивы на базе APT).

  • Права доступа: Права суперпользователя (root) для установки системных пакетов и управления Docker.

  • Доменное имя: Настроенный DNS для работы через SSL.

  • Порты:

  • 80 (внутренний) — для HTTP/Certbot.

  • 443 (внешний) — для защищенного HTTPS соединения.

  • 9000 (локальный) — для взаимодействия PHP-FPM и Nginx.

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

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

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

В процессе установки создаются следующие директории:

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

  • /root/wordpress — рабочая директория с конфигурацией Docker Compose.

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

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

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

Развертывание выполняется в несколько этапов:

  1. Подготовка системы: Обновление списков пакетов APT и установка системных утилит (lsb-release, apt-transport-https, vim, htop, zip).

  2. Подготовка контента:

  3. Создается директория /data/wordpress с правами пользователя www-data (UID 33).

  4. Загружается плагин WooCommerce версии 8.7.0.

  5. Плагин распаковывается и перемещается в папку расширений: /data/wordpress/wp-content/plugins/.

  6. Настройка веб-сервера: Генерация конфигурационного файла Nginx для обеспечения работы по протоколу HTTPS.

  7. Запуск контейнеров: Развертывание инфраструктуры через docker compose в директории /root/wordpress.

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

  • Для файлов сайта используется пользователь с UID 33.

  • Конфигурационные файлы Nginx имеют права 0644, принадлежащие пользователю root.

  • Директория с Docker Compose защищена правами 0755 или 0760.

  • Доступ к портам ограничен: PHP-FPM прослушивает порт 9000 только на локальном интерфейсе 127.0.0.1.

Базы данных

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

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

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

  • Место хранения данных: Docker Volume mariadb_data (путь внутри контейнера /bitnami/mariadb).

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

Приложение работает в составе группы контейнеров, управляемых через docker compose.

Имя образа Порты Тома (Volumes) Переменные окружения Политика перезапуска
bitnami/mariadb:latest Нет mariadb_data:/bitnami/mariadb Настройки БД, пароли root и пользователя unless-stopped
docker.io/wordpress:php8.3-fpm 127.0.0.1:9000:9000 /data/wordpress:/var/www/html Параметры подключения к MySQL unless-stopped
jonasal/nginx-certbot:latest Использует host сеть nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d, /data/wordpress:/var/www/html Email для Certbot, файл окружения unless-stopped

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

Для обновления основного приложения (WordPress) необходимо выполнить следующие действия:

  1. Перейти в директорию с конфигурацией:

    cd /root/wordpress
    

  2. Выполнить обновление образов и перезапуск контейнеров:

    docker compose pull && docker compose up -d
    

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