Установка Drupal 8 в контейнере Docker

В инструкции описан процесс установки и настройки CMS Drupal 8 в контейнере Docker на виртуальном сервере под управлением операционной системы Centos 7.

Что это такое?

CMS с открытым исходным кодом, проста в установке, позволяет создавать сайты любого размера и легко управлять ими с помощью бэкэнд-администрирования. По сравнению с предыдущими версиями Drupal 8 включает более 200 новых функции и улучшений:

  • подходит как для малого бизнеса, так и для крупных компаний;
  • создание динамического контента;
  • позволяет сделать контент сайта более понятными для людей с ограниченными возможностями;
  • улучшено кеширование и интеграция с CDN;
  • управление отображением без использования программирования;
  • широкий выбор языков.

При развертывании Drupal в контейнере значительно упрощается настройка окружения: не требуется отдельная установка и настройка веб-сервера Apache или Nginx, скриптового языка php, а также упрощается настройка базы данных.

Настройка Docker

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

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

docker pull mariadb

Также необходим образ самой системы управления контентом:

docker pull drupal

Данный образ уже содержит необходимые зависимости скриптового языка php и веб-сервер apache. Актуальный Dockerfile можно найти здесь.

Примечание: если вам нужна конкретная версия продукта, то после названия укажите ее номер, например, drupal:8.0.0

Далее запустите образ mariadb, указав значения параметров:

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 -e MYSQL_PASSWORD=drupalpass -v mariadb:/var/lib/mysql -d --name mariadb mariadb

Ключ v создает примонтированный раздел на сервере, где будут храниться данные базы. В результате выполнения данной команды у вас появится контейнер с СУБД mariadb и развернутой на ней базой данных.

На следующем шаге необходимо запустить drupal, связав с развернутой базой, на порту, а в качестве алиаса укажите удобное название для хоста, на котором находится СУБД:

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

На первом шаге выберете язык.

Choose language

Далее укажите желаемый установочный профиль.

Выбор профиля - Стандарт

На следующем шаге в качестве типа базы данных выберете ту строку, где указана mariadb. Введите название БД, имя пользователя и пароль, которые вы указывали при запуске образа СУБД. В Дополнительных настройках в поле Хост введите указанный ранее алиас. Нажмите Сохранить и продолжить.

Выбор конфигурации базы данных

Начнется установка Drupal 8.

Установка

Далее введите личную информацию, такую как домен вашего сайта, электронную почту, и остальные сведения. При настройке Вам будут даны рекомендации по уровню сложности пароля и созданию имени администратора.

Настройка сайта

Произойдет обновление конфигурации переводов.

Обновление конфигурации переводов

По завершению установки вы попадете в панель управления сайтом.

Панель управления сайтом

При переходе на сайт для входа в CMS используйте созданные логин и пароль учетной записи обслуживания сайта.

Ввод имени пользователя и пароля

На этом установка и настройка завершена.

 


Средняя оценка: 5,0, всего оценок: 1