Как установить Drupal 8 в контейнере Docker
Ниже мы в несколько этапов разберем, как устанавливать и настраивать систему управления содержимым Друпал на виртуальный сервер с ОС 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, главного пользователя и пароль. Можно воспользоваться разными уровнями сложности для написания надежного пароля.
Далее конфигурация самостоятельно обновится.
На этом заканчивается установка, после нее откроется окно с панелью управления.
Чтобы войти в панель Друпада, потребуется еще раз ввести имя пользователя и пароль от учетки, который был сформирован ранее.
Весь процесс установки завершен.