Обзор развертывания WordPress с OpenLiteSpeed¶
Предварительные требования и базовые условия¶
Для развертывания приложения WordPress с OpenLiteSpeed должны быть выполнены следующие требования к среде:
-
Операционная система: Ubuntu (как указано в файле задач
ubuntu.yml). -
Привилегии: Требуется доступ root (суперпользователя) для установки Docker, управления системными службами и конфигурирования сетевых интерфейсов.
-
Сетевой доступ: Сервер должен иметь доступ в Интернет для клонирования репозиториев и загрузки образов Docker.
-
Порты: Порт
443настроен как внешний порт для трафика HTTPS. -
Конфигурация домена: Требуется действительное доменное имя, соответствующее шаблону
wp<server_id>.hostkey.in.
FQDN приложения¶
Полное доменное имя (FQDN) для доступа к установке WordPress следует конкретной структуре, основанной на идентификаторе сервера. Формат:
wp<Server ID>.hostkey.in:443
Где <Server ID> заменяется на фактический уникальный идентификатор экземпляра сервера.
Структура файлов и каталогов¶
Приложение развертывается с использованием среды на базе Docker, клонированной из специфичного репозитория. Основные каталоги и файлы включают:
-
Расположение репозитория:
/root/ols-docker-env- Содержит конфигурацию Docker Compose и скрипты развертывания.
-
Каталог скриптов:
/root/ols-docker-env/bin/-
domain.sh: Скрипт для добавления виртуальных хостов. -
database.sh: Скрипт для создания экземпляров базы данных. -
appinstall.sh: Скрипт для установки приложения WordPress. -
acme.sh: Скрипт для управления SSL-сертификатами.
-
-
Хранение данных: Данные приложения, логи и файлы конфигурации управляются в рамках структуры тома Docker, созданного командой
docker composeв каталоге/root/ols-docker-env.
Процесс установки приложения¶
Развертывание выполняется через настройку Docker Compose, использующую среду Docker OpenLiteSpeed. Процесс включает следующие шаги:
-
Обновление пакетов системы: Убедитесь, что операционная система имеет последние доступные пакеты.
-
Установка Docker: Docker устанавливается для управления контейнеризированной средой.
-
Клонирование репозитория: Среда Docker OpenLiteSpeed клонируется в
/root/ols-docker-env. -
Запуск контейнеров: Команда
docker compose up -dзапускает необходимые контейнеры (OpenLiteSpeed, MySQL и др.). -
Добавление виртуального хоста: Домен добавляется в конфигурацию OpenLiteSpeed с помощью
bin/domain.sh. -
Создание базы данных: Создается база данных с именем
wordpressс пользователемadmin. -
Установка WordPress: Приложение развертывается в контейнерной среде с помощью
bin/appinstall.sh. -
Установка SSL-сертификата: Клиент ACME устанавливается, и для домена выдается сертификат.
Контейнеры Docker и их развертывание¶
Приложение работает внутри контейнеров Docker, оркестрируемых Docker Compose. Развертывание зависит от файла docker-compose.yml, расположенного в каталоге /root/ols-docker-env.
Для управления контейнерами используется следующая команда:
Команда должна быть выполнена из каталога /root/ols-docker-env. Контейнеры настроены на запуск в режиме отсоединения (-d) для автоматического запуска и работы в фоновом режиме.
Прокси-серверы и конфигурация SSL¶
В развертывании используется OpenLiteSpeed в качестве веб-сервера, который выступает в роли прокси и напрямую предоставляет контент. Шифрование SSL/TLS осуществляется через протокол ACME для обеспечения защищенных соединений.
-
Управление SSL: Скрипт
acme.shиспользуется для установки клиента ACME и выдачи сертификатов для доменаwp<server_id>.hostkey.in. -
Домен: Сертификат выдается для конкретного домена, сгенерированного переменными
prefixиserver_id. -
Протокол: Трафик обслуживается через HTTPS на внешнем порту.
Базы данных¶
Приложение WordPress настроено на использование базы данных MySQL. Параметры подключения определены следующим образом:
| Параметр | Значение |
|---|---|
| Имя базы данных | wordpress |
| Пользователь базы данных | admin |
| Пароль | Наследуется из пароля SSH |
| Метод подключения | Внутренняя коммуникация в сети Docker |
База данных создается с помощью скрипта database.sh со следующей структурой команды: --domain wp<server_id>.hostkey.in --user admin --password <password> --database wordpress_db
Расположение файлов конфигурации и данных¶
Весь процесс управления конфигурацией и сохранения данных обрабатывается внутри среды Docker в каталоге /root/ols-docker-env.
-
Конфигурация: Управляется через определения Docker Compose и скрипты в подкаталоге
bin/. -
Корневая директория веб-сайта: Корневая директория документов для установки WordPress определяется внутренними настройками контейнера OpenLiteSpeed.
-
Сертификаты: SSL-сертификаты, выданные ACME, хранятся в структуре тома контейнера.
Доступные порты для подключения¶
Приложение открывает конкретные порты для внешнего и внутреннего взаимодействия:
| Порт | Протокол | Описание |
|---|---|---|
443 | TCP | Внешний доступ HTTPS для сайта WordPress. |
80 | TCP | Обычно используется для перенаправления HTTP и проверки валидации ACME (имплицируется использованием ACME). |
Запуск, остановка и обновление¶
Управление службами для приложения на базе Docker выполняется с помощью команд Docker Compose, запущенных из каталога /root/ols-docker-env.
-
Запуск служб:
-
Остановка служб:
-
Перезапуск служб:
Примечание: Обновление приложения обычно включает загрузку последних образов и перезапуск контейнеров: