Обзор развертывания WordPress на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения необходимо наличие сервера с операционной системой Ubuntu. Требуется наличие прав суперпользователя (root) для выполнения команд установки и управления.
Необходимы следующие параметры конфигурации: - Доменное имя в формате {{ prefix }}{{ server_id }}.{{ zone }}. - Адрес электронной почты для регистрации сертификатов безопасности. - Пароль для подключения к базе данных. - Доступ к интернету для загрузки репозитория и компонентов Docker.
Структура файлов и каталогов¶
Все файлы конфигурации, скрипты управления и данные приложения размещаются в каталоге /root/ols-docker-env.
Основные компоненты структуры: - Репозиторий ols-docker-env содержит файлы docker-compose.yml и скрипты в директории bin/. - Скрипт bin/domain.sh используется для управления виртуальными хостами. - Скрипт bin/database.sh отвечает за создание баз данных. - Скрипт bin/appinstall.sh используется для установки приложений. - Скрипт bin/acme.sh управляет установкой и выдачей SSL-сертификатов.
Процесс установки приложения¶
Установка выполняется путем клонирования репозитория и запуска контейнеров через Docker Compose.
Последовательность действий: 1. Обновление пакетов системы. 2. Установка Docker. 3. Клонирование репозитория https://github.com/litespeedtech/ols-docker-env.git в директорию /root/ols-docker-env. 4. Запуск контейнеров с помощью команды docker compose up -d в директории /root/ols-docker-env. 5. Создание виртуального хоста для домена. 6. Создание базы данных wordpress_db с пользователем admin. 7. Установка приложения WordPress для указанного домена. 8. Установка утилиты ACME для управления сертификатами. 9. Получение SSL-сертификата для домена.
Контейнеры Docker и их запуск¶
Приложение развертывается в контейнерах Docker. Управление контейнерами осуществляется через файл конфигурации docker-compose.yml, расположенный в /root/ols-docker-env.
Для запуска всех сервисов в фоновом режиме используется команда:
Команда выполняется из директории/root/ols-docker-env. Прокси серверы¶
В конфигурации используется прокси-сервер для обработки входящих запросов и управления SSL-сертификатами.
Настройка домена и сертификатов: - Добавление виртуального хоста выполняется скриптом bin/domain.sh с аргументом --add и именем домена. - Установка утилиты для получения сертификатов выполняется скриптом bin/acme.sh с аргументами --install и --email. - Выдача сертификата для домена выполняется скриптом bin/acme.sh с аргументом --domain.
Базы данных¶
База данных создается автоматически в процессе развертывания.
Параметры подключения: - Имя базы данных: wordpress_db. - Пользователь: admin. - Пароль: передается через переменную ansible_ssh_pass.
Создание базы данных выполняется скриптом bin/database.sh с указанием домена, пользователя, пароля и имени базы данных. Скрипт имеет механизм повторных попыток (5 раз с задержкой 10 секунд) для обеспечения успешного подключения.
Запуск, остановка и обновление¶
Управление жизненным циклом приложения осуществляется через Docker Compose.
Команды управления: - Запуск контейнеров: docker compose up -d в директории /root/ols-docker-env. - Остановка контейнеров: docker compose down в директории /root/ols-docker-env. - Обновление конфигурации и перезапуск: docker compose up -d после внесения изменений в файлы конфигурации.
Для управления отдельными этапами развертывания используются скрипты в директории bin/: - bin/domain.sh для управления доменами. - bin/database.sh для управления базами данных. - bin/appinstall.sh для установки приложений. - bin/acme.sh для управления сертификатами.