Введение

Drupal — это система управления контентом (CMS), написанная на PHP и распространяемая по универсальной общественной лицензии GNU с открытым исходным кодом. Люди и организации по всему миру используют Drupal для управления правительственными сайтами, ведения личных блогов, бизнеса и не только. Уникальные отличия Drupal от других структур CMS: растущее сообщество и набор функций, которые включают безопасные процессы, надежную работу и адаптивность.

Для Drupal необходимо установить стек LAMP (Linux, Apache, MySQL и PHP) или LEMP (Linux, Nginx, MySQL и PHP), но установка компонентов по отдельности занимает много времени. Для упрощения процесса установки Drupal мы можем использовать такие инструменты, как Docker и Docker Compose. В этом обучающем руководстве будут использованы образы Docker для установки отдельных компонентов в Docker-контейнерах. С помощью Docker Compose мы можем определять и управлять несколькими контейнерами для базы данных, приложения, а также взаимодействием/коммуникацией между ними.

В этом обучающем руководстве мы установим Drupal с помощью Docker Compose для возможности контейнеризации и развертывания нашего веб-сайта Drupal на серверах. Мы запустим контейнеры для базы данных MySQL, веб-сервера Nginx и системы Drupal. Также мы защитим нашу установку, получив сертификаты TLS/SSL с Let’s Encrypt​​​ для домена, который мы хотим ассоциировать с нашим сайтом. Наконец, мы настроим задание cron для обновления ваших сертификатов, чтобы домен оставался защищенным.

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

Для данного обучающего руководства нам потребуется следующее:

  • Сервер на базе Ubuntu 18.04, а также пользователь без прав root с привилегиями sudo и активный брандмауэр. Дополнительную информацию о настройке этих параметров см. в руководстве по первоначальной настройке сервера.
  • Система Docker, установленная на сервере в соответствии с шагами 1 и 2 руководства Установка и использование Docker в Ubuntu 18.04. Это обучающее руководство было протестировано на версии 19.03.8.
  • Docker Compose, установленный на сервере в соответствии с шагом 1 руководства Установка Docker Compose в Ubuntu 18.04. Это обучающее руководство было протестировано на версии 1.21.2.
  • Зарегистрированное доменное имя. В этом обучающем руководстве мы будем использовать your_domain. Вы можете получить бесплатный домен наFreenom или зарегистрировать доменное имя по вашему выбору.
  • На вашем сервере должны быть настроены обе нижеследующие записи DNS. Вы можете воспользоваться введением в работу с DigitalOcean DNS, чтобы получить подробную информацию о добавлении доменов в учетную запись DigitalOcean, если вы используете этот способ:
  • Запись A, где your_domain указывает на публичный IP-адрес вашего сервера.
  • Запись A, где www.``your_domain указывает на публичный IP-адрес вашего сервера.

Шаг 1 — Настройка конфигурации веб-сервера

Перед запуском контейнеров нам нужно определить конфигурацию для нашего веб-сервера Nginx. Наш файл конфигурации будет включать несколько специфических для Drupal блоков расположения наряду с блоками расположения, которые будут направлять передаваемые запросы верификации Let’s Encrypt клиенту Certbot для автоматизированного обновления сертификатов.

Вначале создадим директорию проекта для нашей настройки Drupal с именем drupal:

mkdir drupal

Перейдите в недавно созданную директорию:

cd drupal

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

mkdir nginx-conf

Откройте файл с помощью nano или своего любимого редактора:

nano nginx-conf/nginx.conf

В этом файле мы добавим серверный блок с директивами для имени нашего сервера и корневой директории документов, а также блок расположения для направления запросов сертификатов от клиента Certbot, обработки PHP и запросов статичных активов.

Добавьте в этот файл следующий код. Обязательно замените your_domain на ваше доменное имя:

#drupal #docker #docker compose #nginx-conf #ubuntu 18.04

Установка Drupal с помощью Docker Compose
2.75 GEEK