Как установить drupal 8
Информация на странице актуальна для Drupal 8. Вы можете ознакомиться с вариантом для Drupal 9.
Установка Drupal — процесс, в результате которого производится базовая конфигурация сайта и его настройка, создание необходимых структур в базе данных, настройка часовых поясов, административного аккаунта, а также первоначальный перевод сайта.
Для того чтобы установить Drupal 8, вам потребуется веб-сервер Apache или Nginx, PHP, а также, желательно, база данных, например MySQL. Для более детальной информации обращайтесь к системным требованиям.
После того как вы подготовили необходимое окружение, вам необходимо скачать Drupal и разместить его файлы в корневой папке вашего будущего сайта. Это можно сделать, скачав Drupal в виде архива, либо, используя Composer, вы можете использовать Drupal Recommended Project.
Настоятельно рекомендуется использовать установку Drupal при помощи Drupal Recommended Project. Это может показаться более сложным и комплексным на старте, но в дальнейшем, вы избежите множества проблем.
Это официально рекомендуемый способ установки Drupal 8.
После этого, открыв страницу сервера, для которой вы подготовили окружение и произвели все необходимые настройки, перед вами откроется установка Drupal. Процесс установки не отличается от выбранного способа установки Drupal, это касается лишь структуры файловой системы сайта и конфигурации веб-сервера.
¶Этапы установки
¶Выбор языка
Первым делом Drupal предложит выбрать язык сайта. Это основной язык, который будет использоваться по умолчанию после установки. Вы сможете добавить другие языки после завершения установки при помощи административного интерфейса и выбрать другой язык по умолчанию, и удалить не используемые.
Данный выбор также влияет на то, на каком языке будет интерфейс установки. Для всех языков, отличных от английского, в процессе установки сайта будут загружены и установлены переводы данного языка. Если в момент установки отсутствует подключение к интернету, переводы не будут выполнены и установка продолжится и закончится на выбранном языке, но с английским интерфейсом. Вы сможете в дальнейшем обновить переводы для нужного языка.
Язык сайта можно менять и настраивать в процессе работы с сайтом. Данный выбор не является финальным.
¶Выбор установочного профиля
![]()
Установочные профили — это дистрибутивы. На данном этапе, вы выбираете, какой профиль установки будет использован для дальнейших этапов.
Выбор профиля может повлиять не только на результат установки, но и на сам процесс. Могут появиться дополнительные шаги, настройки и т.д.
По умолчанию предлагается установить «Стандартный» профиль установки.
Коротко о профилях поставляемых ядром:
- Стандарт. Данный профиль выбран по умолчанию для всех установок. Он устанавливает всё самое необходимое для того, чтобы начать делать сайт. Он включает достаточное количество стандартных модулей, настраивает несколько типов содержимого для примера и расположение блоков, тему оформления и другие мелкие нюансы. Если вы не уверены какой профиль выбрать — данный профиль самый надёжный способ начать знакомство и попробовать что-то сделать на Drupal.
- Минимальный. Профиль для тех, кто хочет настраивать всё сам, и уже имеет понимание что такое Drupal и какой-то опыт работы с ним. С данным профилем установятся только самые необходимые для функционирования системы модули. Всё остальное необходимо настраивать самостоятельно. Данный профиль стоит рассматривать как установку «чистого» ядра.
- Demo: Umami Food Magazine. Данный профиль появился начиная с Drupal 8.6.0. Это демонстрационный профиль, который создаёт сайт «журнала» о кулинарии и еде. Он имеет собственную тему оформления, настроенные типы содержимого, поля, страницы, поиск, а также демо-контент. Это отличный выбор если вы хотите посмотреть на какой-то реальный сайт, а не голую систему где нужно всё настраивать самому. Не используйте данный профиль для создания реальных сайтов.
Если вы впервые устанавливаете Drupal, попробуйте демонстрационный профиль Umami Food Magazine.
Вы можете создавать свои собственные профили для установки и делиться ими с сообществом. За более подробной информацией перейдите на страницу дистрибутивов.
¶Проверка соответствия требованиям
Данный этап будет пропущен если всё настроено корректно.
Если вы попали на данный этап — значит что-то не так. Вам будут написаны причины и проблемы, которые вам необходимо устранить. Пока вы их не устраните, вы не сможете продолжить установку.
Чаще всего, проблемы касаются серверной части. Очень распространённая проблема — некорректные настройки прав доступа.
Зачастую информацию об ошибках и как её исправлять, можно легко найти в поиске, если же вы по каким-то причинам не можете решить данные проблемы, то лучше всего обратиться к сообществу за помощью.
¶Установка баз данных
![]()
На данном этапе вы должны выбрать какой тип баз данных будет использоваться для сайта и указать настройки подключения к БД.
Если вы не уверены какой тип базы данных выбрать, берите самый распространённый — MySQL, MariaDB. Они есть на каждом хостинге, это самый распространённый тип баз данных для сайтов, с ним вы будете в полной безопасности.
Разные типы БД имеют разный функционал и возможности, свои плюсы и минусы. Данный выбор может повлиять на то, как будет работать Drupal.
Drupal позволяет писать модули, которые добавляют новые драйверы баз данных. Например, вы можете использовать базы данных Oracle после установки соответствующего модуля.
¶Установка сайта
![]()
На этапе установки сайта, от вас не требуется никаких действий. В зависимости от выбранного профиля установки, будут произведены соответствующие настройки сайта. Вам лишь следует дождаться окончания.
Данный процесс может занять несколько минут, особенно, если вы устанавливаете профиль с уже множеством готовых настроек, структуры, содержимого и т.д.
¶Установка переводов
![]()
После того как произведена основная установка сайта, всё что было установлено, будет проверено на наличие переводов, они будут загружены и применены.
На этом этапе никаких действий от пользователя не требуется. Импорт переводов может занять длительное время.
Если вы выбрали английский язык для установки, данный этап будет пропущен.
¶Настройка сайта
![]()
Настройка сайта позволяет установить значения по умолчанию самым необходимым настройкам сайта:
- Информация о сайте: Базовые настройки сайта.
- Название сайта: Название будущего сайта, будет использоваться на главной странице и в заголовках страниц.
- Адрес электронной почты сайта: Данный адрес электронной почты будет использоваться в качестве почты сайта. По умолчанию, все письма отправляемые сайтом, будут отправлены с данной почты. Данное значение используется многими модулями, требующих настройку почтового адреса, как значение по умолчанию.
- Страна по умолчанию: Данная страна будет автоматически указываться, где это требуется. Ядро Drupal использует данное значение для работы с форматами дат и чисел. Например, выбрав Россию, по умолчанию будут использоваться наш формат записи даты дд.мм.гггг, время будет в 24-часовом формате и т.д.
- Часовой пояс по умолчанию: Данная настройка влияет на то, в каком поясе будут отображаться даты на сайте. В дальнейшем, можно настроить чтобы пользователи могли выбирать свой часовой пояс, и все даты будут показываться в их персональном часовом поясе.
Данная форма может отличаться или вовсе отсутствовать если вы используете профиль отличный от «стандартного».
¶Завершение переводов
На этом этапе проводятся финальные доработки переводов и действий от пользователя не требуется.
¶Ваш готовый сайт

После всех прошедших этапов, вас перенаправит на главную страницу вашего нового сайта на Drupal. Вы будете автоматически авторизованы под административным пользователем и сможете приступать к работе.
В зависимости от выбранного профиля установки, результат установки будет разный. На скриншоте выше представлен результат установки «стандартного» установочного профиля. Например, выбрав umami, вас встретит уже журнал со статьями, рецептами и совершенно другой темой оформления.
¶Смотрите также
- Административный интерфейс
- Модули — позволяют расширять возможности Drupal
- Темы оформления — влияют на внешний вид сайта
Помогите нам сделать документацию лучше!
Вся документация Druki с отрытым исходным кодом. Нашли ошибку или неточность? Создайте pull request.
По-прежнему нужна помощь?
Не нашли ответа на свой вопрос? Попросите помощи у сообщества!
1. Установка и русификация Drupal 8.
Поздравляю Вас, в этой статье вы познакомитесь с одной замечательной платформой для создания сайтов — Drupal. Именно, ни CMS, ни фреймворк, а платформа. Во-первых, вы получите CMS, то есть админку для редактирования материалов, пользователей, тегов, мета-тегов и прочего.
Во-вторых, Вы сможете создавать свой собственный функционал на сайте с помощью своих Типов материала и модуля Views, который позволит выводить все что угодно как Вам угодно и где Вам угодно.
В третих, на друпале уже сделаны миллионы сайтов, а значит готовых решений для Вашего сайта будет предостаточно.
В-четвертых, если Вы программист, то Ваш ждут приятные сюрпризы в виде Drupal API и дополнительных API, Entity API, Rules API, Date API и т.д.
И последнее, с Вами вместе делать сайты будет сообщество друпал, которое всегда готово помочь советом по подбору и настройке нужного модуля.Ну что же, давайте начнем устанавливать друпал. Для того, чтобы установить друпал, нам потребуется веб-сервер.
К сожалению, без замены PHP денвер для 8го друпала использовать не получится, потому что требуется версия PHP 5.5.9, а денвере PHP 5.3.x, поэтому у нас 2 пути или не использовать Denwer, а использовать Open Server, или обновить PHP в денвере.
Установка Друпал 8 на Open Server
Для начала нам нужно скачать. Это можно сделать с официального сайта Open Server:
Установка Open Server очень простая, достаточно просто жать кнопку «Далее».

Устанавливайте все как есть на диск C, так будет проще в будущем, потому что все руководства предполагают дефолтное расположение файлов. Сам опен сервер у меня лежит в папке C:/OpenServer, запускать нужно x64 версию, если у вас 64-битная операционная система.

После запуска у вас появится такой вот флажок, если он красный, то нужно нажать правой кнопкой и выбрать «Запустить». Если флажок зеленный, то значит у вас все заработало.

Дальше давайте зайдем в опен сервер и посмотрим где будут размещаться наши сайты. Размещаются наши сайты в папке domains опен сервера. Для того чтобы добавить сайт нужно просто создать новую папку в папке domains. Я создал сайт drupal8.

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

Все теперь мы подготовили веб сервер для нашего будущего сайта. Вы можете зайти на свой сайт в браузере, только нужно набирать сначала http:// перед названием сайта, например http://drupal8

Еще нужно подготовить базу данных для установки друпала. Лучше всего это сделать с помощью малелького, но сильного помощника Adminer:
Даже самая полная версия админера занимает всего полмегабайта. Просто качайте его и закиньте файл в папку с вашим сайтом. Также переименуйте файл в adminer.php, чтобы вам было удобно писать его название без номера его версии.

Запускаем adminer через сайт, просто заходим на файл http://drupal8/adminer.php

Чтобы авторизоваться в adminer нужны доступы к серверу MySQL, для open server по умолчанию это пользователь root без пароля. Сервер базы данных MySQL — localhost, он уже прописан по умолчанию в adminer, просто пишите root в имени пользователя и двигаемся дальше.

Пишем имя базы, я обычно пишу такое же как и имя сайта, чтобы потом не запутаться. И выбираем кодировку, нужно выбирать utf8_general_ci. Эта кодировка позволит делать сайты хоть на китайском, хоть на французком языках.

И остался последний шажок перед установкой друпала. Как я писал выше нам нужна версия PHP 5.5.9 или выше, поэтому давайте переключим версию PHP в опен сервере. Заходим в настройки опен сервера:

Заходим в раздел модули, здесь нам нужно выставить PHP 5.6 и Apache 2.4. Apache выставляем 2.4 потому что 5.6 версия PHP работает в Open Server только с ним.

Теперь перезагружаем опен сервер

База создана, у нас настроен сервер, все готово чтобы поставить друпал 8. Переходим непосредственно к установке друпала. Качаем 8ой друпал с официального сайта drupal.org:

Дальше выбираем какой архив скачать tar.gz или zip, без разницы какой вы выберите архив, друпал внутри этих архивов одинаковый. Разархивировать можно этой бесплатной программой 7zip:
Копируем содержимое архива в папку нашего сайта на опен сервере, так чтобы файл index.php лежал прямо в папке:

Теперь мы можем зайти в браузер и начать установку нашего сайта http://drupal8/
Друпал предложит нам выбрать язык, выбираем русский (или другой необходимый):

Выбираем пакет установки друпала: стандарт — наиболее подходящий, в нем включены большинство необходимых нам модулей; минимальный — нужен если мы точно знаем что нам не понадобяться все дополнительные модули.

Когда друпал будет проверять требования к серверу, то у него возникнет ряд претензий к опен серверу, но на самой установке это не скажется, просто нажимаем «Продолжить в любом случае»

На следующем этапе нужно вбить данные базы MySQL, которую мы создавали ранее через админер. Я создавал такую же как и название сайта drupal8, пользователь у нас root без пароля.

Друпал дальше сам скачает необходимые переводы и поставит модули, вам нужно только подожать (минут 5-15, если интернет медленный то это может затянуться на 20-30). После установки переводов, нужно добавить настройки сайта: имя сайта, емайл администратора, логин и пароль администратора, часовой пояс сайта (можно оставить без изменения) и страна сайта.

Теперь будут применены переводы, обновится конфигурация сайта и сайт будет уставновлен. Пока установка друпала выглядит долгой, но думаю я подготовлю статьи по более быстрой установке. Ну а пока все, сайт готов для дальнейшей работы над ним:

Установка Друпал 8 на XAMPP (лучше использовать Open Server)
Для начала скачаем и установим xampp. Заходим на официальный сайт и скачиваем оттуда последнюю версию с PHP 5.5.x

Xampp устанавливается как обычная программа.

Ставим все из списка:

Используем предлагаемую папку:
Дальше немного ждем:

После установки xampp предложит Control Panel, давайте откроем ее и добавим новый сайт. Нам нужно запустить Apache, Mysql для того, чтобы добавить сайт. Когда Apache, Mysql включится, то кликните Admin напротив Apache, чтобы добавить сайт.

Теперь нам нужно добавить новый сайт, чтобы установить друпал. Можно сделать это изменив конфигурацию вручную (файлы hosts, httpd-vhosts.conf), об этом в отдельной статье:
Как добавить сайт в XAMPP
Но можно установить вебмин для того, чтобы у нас был интерфейс, для работы с сайтами. Давайте зайдем и скачаем webmin:

Перед тем как установить webmin, нам понадобится perl, язык, на котором работает webmin.

Вам нужно скачать 64-битную версию или 32-битную (если Вы не уверены, что у Вас 64-битная операционная система.
Как установить Drupal на Ubuntu 18.04
Drupal — одна из самых популярных платформ CMS с открытым исходным кодом во всем мире. Он написан на PHP и может использоваться для создания различных типов веб-сайтов, от небольших личных блогов до крупных корпоративных, политических и правительственных сайтов.
В этом руководстве мы покажем вам, как установить Drupal 8.6 на компьютер с Ubuntu 18.04. Есть несколько способов установить Drupal. В этом руководстве описаны шаги, необходимые для установки Drupal 8.6 с использованием шаблона композитора для проектов Drupal, называемого drupal-project.
Мы будем использовать Nginx в качестве веб-сервера, последнюю версию PHP 7.2 и MySQL / MariaDB в качестве сервера базы данных.
Подготовка
Прежде чем продолжить работу с этим руководством, убедитесь, что вы выполнили следующие предварительные требования:
- У вас есть доменное имя, указывающее на IP-адрес вашего публичного сервера. Мы будем использовать example.com .
- У вас установлен Nginx, следуя этим инструкциям .
- У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let’s Encrypt, следуя этим инструкциям .
Подготовка
Обновите индекс пакетов и системные пакеты до последних версий:
sudo apt update && sudo apt upgrade1. Создайте базу данных MySQL.
Если на вашем сервере установлен MySQL или MariaDB, вы можете пропустить этот шаг, в противном случае вы можете установить серверный пакет MySQL 5.7 из репозиториев Ubuntu по умолчанию, набрав:
sudo apt install mysql-serverДля новых установок MySQL рекомендуется запустить команду mysql_secure_installation чтобы повысить безопасность вашего сервера MySQL.
Теперь нам нужно войти в оболочку MySQL и создать новую базу данных и учетную запись пользователя, а также предоставить пользователю соответствующие разрешения.
Чтобы войти в оболочку MySQL, введите следующую команду и введите пароль при появлении запроса:
mysql -u root -pЧтобы создать базу данных с именем drupal , пользователь с именем drupaluser и предоставить необходимые разрешения пользователю, выполните следующие команды:
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';2. Установите PHP.
PHP 7.2, который является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для Drupal 8.6. Поскольку мы будем использовать Nginx в качестве веб-сервера, мы также установим PHP-FPM.
Чтобы установить все необходимые модули PHP, выполните следующую команду:
sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curlСлужба PHP-FPM автоматически запустится после завершения процесса установки, вы можете проверить это, распечатав статус службы:
systemctl status php7.2-fpmВ выводе должно быть указано, что служба fpm активна и работает.
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www3. Установите Composer
Composer — это менеджер зависимостей для PHP, и мы будем использовать его для загрузки шаблона Drupal и установки всех необходимых компонентов Drupal.
Чтобы установить композитор глобально, загрузите установщик Composer с помощью curl и переместите файл в каталог /usr/local/bin :
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composerПроверьте установку, распечатав версию композитора:
composer --versionРезультат должен выглядеть примерно так:
Composer version 1.6.5 2018-05-04 11:44:594. Установите Drupal.
Теперь, когда у нас установлен композитор, мы можем продолжить и создать новый проект Drupal, используя шаблон композитора внутри каталога /var/www/my_drupal :
sudo composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interactionПриведенная выше команда загрузит шаблон, получит все необходимые пакеты php и запустит несколько скриптов для подготовки нашего проекта к установке. Этот процесс может занять несколько минут, и в случае успеха конец вывода должен выглядеть следующим образом:
Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777Следующим шагом будет установка Drupal с помощью Drush. В приведенной ниже команде мы передаем базу данных MySQL и информацию о пользователе, созданную на шаге 1:
cd /var/www/my_drupalsudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupalУстановщик предложит вам следующее сообщение, просто нажмите Enter, чтобы продолжить.
You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no) [yes]:После завершения установки сценарий распечатает имя пользователя и пароль администратора. Результат должен выглядеть примерно так:
[notice] Starting Drupal installation. This takes a while. Consider using the --notify global option. [success] Installation complete. User name: admin User password: XRkC9Q5WN9Наконец, нам нужно установить правильные разрешения, чтобы веб-сервер мог иметь полный доступ к файлам и каталогам сайта. Оба Nginx и PHP работают , как www-data пользователя и www-data группы, поэтому нам нужно выполнить следующую команду:
sudo chown -R www-data: /var/www/my_drupal5. Настройте Nginx.
К настоящему времени у вас уже должен быть установлен Nginx с сертификатом SSL в вашей системе, если нет, проверьте предварительные требования для этого руководства.
Чтобы создать новый серверный блок для нашего нового проекта Drupal, мы будем использовать рецепт Nginx с официального сайта Nginx.
Откройте текстовый редактор и создайте следующий файл:
sudo nano /etc/nginx/sites-available/example.com/etc/nginx/sites-available/example.com
# Redirect HTTP -> HTTPS server listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; > # Redirect WWW -> NON WWW server listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; > server listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico log_not_found off; access_log off; > location = /robots.txt allow all; log_not_found off; access_log off; > location ~ ..*/.*.php$ return 403; > location ~ ^/sites/.*/private/ return 403; > # Block access to scripts in site files directory location ~ ^/sites/[^/]+/files/.*.php$ deny all; > # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/). return 403; > location / try_files $uri /index.php?$query_string; > location @rewrite rewrite ^/(.*)$ /index.php?q=$1; > # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*.php$ deny all; return 404; > location ~ '.php$|^/update.php' fastcgi_split_path_info ^(.+?.php)(|/.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; > # Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ < # For Drupal location ~ ^/sites/.*/files/styles/ # For Drupal >= 7 try_files $uri @rewrite; > # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/[a-z-]+)?/system/files/ # For Drupal >= 7 try_files $uri /index.php?$query_string; > location ~* .(js|css|png|jpg|jpeg|gif|ico|svg)$ try_files $uri @rewrite; expires max; log_not_found off; > >Не забудьте заменить example.com своим доменом Drupal и указать правильный путь к файлам сертификатов SSL. Все HTTP-запросы будут перенаправлены на HTTPS . Фрагменты, используемые в этой конфигурации, созданы в этом руководстве .
Включите блокировку сервера, создав символическую ссылку на каталог sites-enabled :
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/Перед перезапуском сервиса Nginx проверьте, нет ли синтаксических ошибок:
sudo nginx -tЕсли ошибок нет, результат должен выглядеть так:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successfulsudo systemctl restart nginx6. Протестируйте установку.
Откройте браузер, введите свой домен и, если установка прошла успешно, появится экран, подобный следующему:
Вы можете войти в систему как администратор и приступить к настройке новой установки Drupal.
7. Установите модули и темы Drupal.
Теперь, когда у вас установлен проект Drupal, вы захотите установить некоторые модули и темы. Модули и темы Drupal размещаются в настраиваемом репозитории композитора, который drupal-project настраивает для нас из коробки.
Чтобы установить модуль или тему, все, что вам нужно сделать, это composer require drupal/module_or_theme_name cd в каталог проекта и ввести composer require drupal/module_or_theme_name . Например, если мы хотим установить модуль Pathauto , нам нужно выполнить следующую команду:
cd /var/www/my_drupalsudo -u www-data composer require drupal/pathautoДобавляя sudo -u www-data в начало, мы запускаем команду как пользовательские www-data
Using version ^1.3 for drupal/pathauto ./composer.json has been updated > DrupalProjectcomposerScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProjectcomposerScriptHandler::createRequiredFilesКак видно из выходных данных выше, композитор также устанавливает для нас все зависимости пакетов.
8. Обновите ядро Drupal.
Перед обновлением всегда рекомендуется сделать резервную копию ваших файлов и базы данных. Вы можете либо использовать модуль резервного копирования и миграции, либо вручную создать резервную копию базы данных и файлов.
Для резервного копирования установочных файлов вы можете использовать следующую команду rsync , конечно, вам нужно будет использовать правильный путь к установочному каталогу:
sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)Для резервного копирования базы данных мы можем использовать стандартную команду mysqldump :
mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sqlили drush sql-dump :
cd /var/www/my_drupalvendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sqlТеперь, когда мы создали резервную копию, мы можем продолжить и обновить все файлы ядра Drupal, выполнив следующую команду:
sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependenciesВыводы
Поздравляем, вы успешно установили Drupal 8 с помощью composer и узнали, как устанавливать модули и темы. Теперь вы можете приступить к настройке своего сайта. Руководство пользователя Drupal 8 — хорошее место для начала, чтобы узнать больше о том, как управлять вашей установкой Drupal. Вам также следует посетить проект шаблона Drupal Composer на Github.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.
Как установить drupal 8
Лирическое отступление – почему и зачем.
Как установить composer+ Drupal на локальный OpenServer.
Предпочтительный Ssh клиент, настройка алиасов и быстрых команд.
Установка composer+ Drupal на хостинг и нюансики.
Лирическое отступление
В длинные выходные по возможности верстал и настраивал проектик на локалке и периодически закидывал на тестовый домен (на хостинг) готовые страницы. Краем глаза стараюсь почитывать друпальные телеги, дискорды, форумы и проникаюсь холиварами по поводу композера, его нужности и обязательности. В свое время, с появлением Drush, наблюдал подобную истерию, но поскольку на виртуальных хостингах долгое время о ssh можно было и не мечтать, не обращал на него особого внимания. Ленился и противился новому в общем. Но нынешняя обрушившая все и вся, обновка Drupal 9.3 и глюк Chrome, zip и невнимательность поменяли мое отношение к теме на до и после. Да и на любимом хостинге появилась возможность подключать ssh. Совпало.
С новой для себя темой разбираться было напряжно в связи уже наболевшими проблемами русскоязычного сообщества. Многие простые и очевидные для гуру и официальной документации моменты описаны вскользь, а при наивно заданном вопросе могут и послать. Не все, но могут.
Как установить composer+ Drupal на локальный OpenServer
Начать стоит не столько с Composer сколько с подготовки окружения.
Напомним очевидный и состоявшийся факт. Продвинутое сообщество и composer при установке и работе с drupal 8-9+ рекомендует новую структуру каталогов.

В связи с этим старт движка, после копирования через консоль, предполагается через каталог web. В OpenServer web-root папки домена делается безболезненно на уже скопированном проекте, но к хорошему лучше не привыкать.
В настройках выбрать вкладку Домены, выбрать ручное управление и к домену выбрать папку старта.

Да Composer не даст установить проект в непустую папку домена, но OpenServer знать про это необязательно.
Composer установлен в OpenServer из коробки и здесь танцы и бубны не пригодятся. Команды для установки в официальной документации (тыщ)
composer create-project drupal/recommended-project my_site_name_dirПредпочтительный Ssh клиент, настройка алиасов и быстрых команд.
Для подключения к консоли по ssh традиционно предлагается использовать PuTTY – софтина простая как валенок и актуальная.
Но есть ньюансики:
- Я неуверенный тормоз в новой и непонятной для меня ситуации – и пока до меня дойдет, что и куда нужно копировать, со звуками психующего пингвина сессия благополучно заканчивается.
- Я забываю команды. Конечно, лучший способ что-то запомнить — это многократное повторение. Но лень, и, если можно автоматизировать, лучше автоматизировать.
Не буду здесь приводить все возможные варианты клиентов. Буду хвалить тот, на котором остановился.

– запоминает сессии и не дисконектится;
— Можно запоминать пароли. Хотя это, наверное, минус. Пароли лучше нигде не хранить. Привет паранойя.
— есть расширения для сессий с шаблонами команд и алиасов, и на эти команды можно назначить кнопки в интерфейсе (может можно и хоткеи сделать, я не углублялся. Хватило и кнопок)
Алиасы – в нашем контексте, псевдонимы пути и сокращения длинных команд. И в случае с виртуальным хостингом — это алиасы «временные» – то есть запускаются только внутри сессии. Да мы пропишем их файл, но поскольку в основные файлы настроек сервера нам путь заказан, будем вызывать их настроенным вызовом через консоль (Tabby).
В корне доступного нам на хостинге файлового менеджера создадим файл .bashrc
alias tbn="cd www/test.borchun.name" alias php="/opt/php74/bin/php" alias drush="/opt/php74/bin/php vendor/bin/drush" alias composer="/opt/php74/bin/php composer.phar"Это те команды, которые были необходимы лично мне. Просто так к Composer без прямого обращения к версии php было не пробиться. И Drush запускать стало проще.
Теперь как запускать все это через Tabby. В каждой новой сессии запускаем команду
source ~/.bashrcили назначаем ее на быструю команду (кнопку).
В настройках -> Plugins — > elastic-quick-commands

Здесь назначаем шаблон подключения и подцепляем нашу команду. С алиасам по идее можно было бы и не заморачиваться, но я их сделал на хостинге раньше, чем поставил Tabby пока разбирался как оно все внутре работает.
Установка composer+Drupal на хостинг и нюансики
Помним про новую структуру каталогов и как легко назначить web-root в OpenServer? Сказка – как легко.
В случае с RigWeb это немного боль, не критичная, но неудобная. Хостинг использует панель ISPManager в которой корневую папку можно указать только на момент создания домена. В уже существующую структуру прописать ее на стороне клиента невозможно. Гугление показало, что другие панели позволяют в переназначение. Экспериментально выявил, что оставить существующий каталог в структуре файлов и пересоздать домен без удаления папок можно, но сайт будет глючить. С чем это связано и выяснять как побеждать желания и сил уже не было.

Слава богам, вся процедура осуществлялась теста ради. Но перестройка уже существующих проектов займет больше времени с переустановками, пересозданием доменов и прочими сопутствующими моментами.
Установим composer. (тыщ) В командной строке пропишем:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') < echo 'Installer verified'; >else < echo 'Installer corrupt'; unlink('composer-setup.php'); >echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"В папку откуда была вызвана команда установится скрипт composer.phar Его выполнение прописано в алиасах выше. Без оного вызывается собственно, например так
composer.phar -Vтеперь можно переходить к установке актуальных версий и тестам. Не знаю на сколько это правильно, но мне показалось логичным сохранить composer.phar и вызывать установку на уровень выше доменной папки.
