Что это такое?
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
На первом шаге выберете язык.
Далее укажите желаемый установочный профиль.
На следующем шаге в качестве типа базы данных выберете ту строку, где указана mariadb. Введите название БД, имя пользователя и пароль, которые вы указывали при запуске образа СУБД. В Дополнительных настройках в поле Хост введите указанный ранее алиас. Нажмите Сохранить и продолжить.
Начнется установка Drupal 8.
Далее введите личную информацию, такую как домен вашего сайта, электронную почту, и остальные сведения. При настройке Вам будут даны рекомендации по уровню сложности пароля и созданию имени администратора.
Произойдет обновление конфигурации переводов.
По завершению установки вы попадете в панель управления сайтом.
При переходе на сайт для входа в CMS используйте созданные логин и пароль учетной записи обслуживания сайта.
На этом установка и настройка завершена.