Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Установка

Drupal устанавливают через Composer — программу, которая скачивает пакеты PHP. Composer создаёт папку проекта, загружает ядро и в дальнейшем обновляет его и модули.

Что нужно

  • PHP 8.3 или новее с расширениями pdo, gd, mbstring, xml;
  • Composer 2;
  • база данных: MySQL, MariaDB, PostgreSQL или SQLite.

Создание проекта

composer create-project drupal/recommended-project site
cd site

В папке site появятся файл composer.json, папка vendor с пакетами и папка web — корень будущего сайта. Все команды курса выполняются из папки site.

Установка Drush

Drush — консольная программа для управления сайтом. Её добавляют в проект как обычный пакет:

composer require drush/drush

Программа появится в vendor/bin/drush.

Установка сайта

Создайте пустую базу данных, например drupal, и выполните:

vendor/bin/drush site:install standard --db-url=mysql://root:secret@localhost/drupal --account-name=admin --account-pass=admin

standard — набор начальных настроек: в нём уже есть тип материала «Статья», который понадобится в курсе. В --db-url указаны пользователь базы, пароль, сервер и имя базы. Команда создаёт таблицы и администратора admin.

Для учебного проекта хватит и SQLite — тогда отдельный сервер базы не нужен:

vendor/bin/drush site:install standard --db-url=sqlite://sites/default/files/.ht.sqlite --account-name=admin --account-pass=admin

Запуск

vendor/bin/drush runserver

Сайт откроется по адресу http://127.0.0.1:8888. Войти в панель можно по адресу /user/login с именем admin и паролем admin.

Режим разработки

Drupal кеширует шаблоны и готовые страницы, поэтому изменения не видны сразу. На время разработки это отключают в панели: «Конфигурация → Разработка → Настройки разработки», адрес /admin/config/development/settings. Отметьте «Не кешировать разметку» и «Режим разработки Twig».

Подробный показ ошибок включают на странице «Конфигурация → Разработка → Журналирование и ошибки»: выберите «Все сообщения».

Частая ошибка

Корень сайта — папка web, а не папка проекта. Если настроить веб-сервер на site, посетителям станут доступны vendor и composer.json, а сайт не откроется. И наоборот: команды composer и vendor/bin/drush запускают из site, а не из web.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.