Как установить Drupal 8 в контейнере Docker

АМ
Александр Мельников
26 сентября 2019

Ниже мы в несколько этапов разберем, как устанавливать и настраивать систему управления содержимым Друпал на виртуальный сервер с ОС CentOS v7.

Пара слов о Друпале

Drupal представляет собой одну из наиболее известных в мире систем управления содержимым (CMS), у которой открыт исходный код, простой инсталл и полный набор возможностей для создания веб-сайтов. Восьмая версия наделена двумя сотнями новых функций, среди которых:

  • Большой выбор языков для интерфейса;
  • Улучшение в кэшировании и интеграции с CDN;
  • Возможность создавать динамический контент;
  • Возможность управлять отображением, не задействуя программный код;
  • Использование в частных и бизнес-целях;
  • Подстраивается под пользователей с ограниченными возможностями.

Если развернуть Друпал в контейнере, можно существенно упростить его настройку: больше не понадобится дополнительный инсталл Апача либо Nginx, подготовка пустых баз данных, загрузка веб-языка php.

Как настроить Docker

Docker является системой контейнеризации. Для его взаимодействия с Друпалом, он должен быть заранее предустановлен на сервер.

Далее потребуется загрузка образа системы управления базами данных mariadb. Если на устройстве отсутствует последняя версия, ее можно загрузить через такую строку:

docker pull mariadb

Дополнительно нужно скачать CMS Друпал:

docker pull drupal

В образе будет содержаться все необходимое: скриптовый веб-язык и Апач.

Dockerfile последней версии находится по ссылке.

Обратите внимание: если требуется загрузить конкретную модель CMS, в строчке через двоеточие пишется модель. К примеру, drupal:7.5.5.

При загрузке базы данных нужно указать основные параметры:

docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=<имя_БД> -e MYSQL_USER=<имя_пользователя_БД> -e MYSQL_PASSWORD=<пароль> -v mariadb:/var/lib/mysql -d --name <имя_контейнера> mariadb

Более подробный пример:

docker run -e MYSQL_ROOT_PASSWORD=admin -e MYSQL_DATABASE=drupal -e MYSQL_USER=duser -eMYSQL_PASSWORD=drupalpass -v mariadb:/var/lib/mysql -d --name mariadb mariadb

По окончанию пользователь получит контейнер, внутри которого будет развернутая база с данными. Параметр -v отвечает за создание примонтированного раздела сервера, в который установится база данных.

Запуск Друпала и его коннект с СУБД с указанием имени хоста базы делается следующим образом:

docker run --name <имя_контейнера> --link mariadb:<алиас> -p <порт>:<порт> -d drupal

Для примера:

docker run --name drupal8 --link mariadb:mariadb -p 80:80 -d drupal

Чтобы получить возможность работать через удаленный доступ, необходимо открыть порт:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Как настроить Drupal

Нужно открыть браузер и перейти по ссылке, не забыв указать IP:

<ip-адрес>

Таким образом:

111.121.11.10

Первым шагом идет выбор языка (в данном случае это русский).

Второй – указание установочного профиля (выбирается стандартный).

Третий – выбор конфигурации БД с указанием ее имени, пользователя и пароля. Можно воспользоваться дополнительными настройками и записать хост.

Как только изменения сохранятся, запустится инсталл Друпала.

В процессе система попросит ввести личные данные: доменное имя веб-сайта, e-mail, главного пользователя и пароль. Можно воспользоваться разными уровнями сложности для написания надежного пароля.

Далее конфигурация самостоятельно обновится.

На этом заканчивается установка, после нее откроется окно с панелью управления.

Чтобы войти в панель Друпада, потребуется еще раз ввести имя пользователя и пароль от учетки, который был сформирован ранее.

Весь процесс установки завершен.

Остались вопросы? Задайте их нашему эксперту и получите квалифицированную помощь