4.1.9 Установка и настройка Drupal
Drupal — это свободная система управления контентом (CMS, Content Management System) с открытым исходным кодом, созданная для сложных и гибких веб-проектов: корпоративных порталов, государственных сайтов, новостных порталов и онлайн-сообществ.
Она написана на PHP, использует MySQL, PostgreSQL или SQLite, и работает на любом веб-сервере с поддержкой PHP — Apache, Nginx или LiteSpeed.
Drupal отличается модульной архитектурой и масштабируемостью:
- ядро можно расширять тысячами модулей из официального репозитория;
- поддерживает сложные структуры данных и ролей пользователей;
- имеет систему шаблонов Twig;
- позволяет создавать REST- и JSON:API-интерфейсы;
- оптимизирован под SEO, кэширование и безопасность.
По сути, Drupal — это конструктор уровня фреймворка, который подходит не только для контентных сайтов, но и для высоконагруженных платформ с пользовательской логикой.
Важно! Регулярно обновляйте CMS Drupal и установленные плагины. Это важно для защиты от уязвимостей и совместимости с новыми версиями PHP и MySQL. Перед обновлением всегда делайте резервную копию сайта и базы данных.
Подготовка сервера
Требования
- Активная услуга Виртуального или Выделенного сервера
- ОС — Ubuntu 22.04 LTS или 24.04 LTS
- Минимум 2 ядра CPU, 4 ГБ RAM, 20 ГБ SSD
- PHP ≥ 8.1 с расширениями pdo_mysql, mbstring, xml, gd, curl, opcache
- MySQL 5.7+/MariaDB 10.3+ или PostgreSQL 13+
- Root доступ или пользователь с правами sudo
Переменные окружения
DOMAIN_NAME
— доменное имя сайтаDB_NAME
,DB_USER
,DB_PASSWORD
— параметры базы данныхDRUPAL_ROOT
— каталог установки Drupal
Способы установки Drupal
Не ограничивайтесь загрузкой архива — есть несколько современных методов:
- Через Composer (рекомендуемый способ)
- Ручная установка (скачать архив и развернуть)
- С помощью дистрибутивов / профилей установки
- Быстрая команда (local / demo)
Официально Drupal предлагает «4 способа установки» и рекомендует Composer-подход как основной.
Установка через Composer (рекомендуемый способ)
composer create-project drupal/recommended-project my_site_name_dir
Этот подход создаёт структуру проекта, устанавливает ядро и зависимости.
Если у вас уже есть кодовая база с composer.json
, используйте:
composer install --no-dev -o
где --no-dev
исключает dev-зависимости для продакшена, -o
оптимизирует автозагрузку.
Ручная установка (архив + распаковка)
- Скачайте архив с официального сайта Drupal.
- Разархивируйте его в каталог, например:
www/DOMAIN_NAME
. - Создайте базу данных.
- Перейдите в браузере по
http://DOMAIN_NAME
— должен запуститься установщик.
- Укажите язык, параметры базы, данные администратора.
- После установки удалите скрипт установки (обычно
core/install.php
) или убедитесь, что он недоступен.
Настройка дополнительных функций
Настройка конфигурации
Конфигурационный файл Drupal находится по адресу:
~/www/DOMAIN_NAME/sites/default/settings.php
Детальнее можете узнать в нашей инструкции.
Подключение SSL-сертификата
Для работы по защищенному протоколу HTTPS используйте Let’s Encrypt или коммерческий SSL-сертификат
Оптимизация производительности
- Включите кэширование (Drupal → «Configuration → Performance»)
- Установите и активируйте модуль Redis или Memcache для внешнего кэша
- Включите OPCache на уровне PHP
- Аггрегация CSS/JS — объединение и минификация
Безопасность
- Установите модуль Security Review — проверит конфигурацию
- Ограничьте доступ к
settings.php
,services.yml
,composer.json
и другим критичным файлам - Настройте Trusted Host Patterns (защита от HTTP Host Header атак)
- Периодически обновляйте ядро и модули через Composer или внутренний механизм обновлений
Проверка работы
- Перейдите в
http(s)://DOMAIN_NAME/user/login
, зайдите в админку - В разделе Reports → Status report проверьте состояние системы
- Откройте главную страницу — убедитесь, что выводится корректно
- Создайте страницу (Content → Add content → Page) и проверьте отображение
- Проверьте, что SSL работает и HTTP перенаправляет на HTTPS
Примечание: При использовании панели (ISPmanager, aaPanel, cPanel) настройте домен и БД через интерфейс панели — Docker или CLI не требуется.
Распространённые ошибки
Ошибка / Симптом | Причина | Решение | Диагностика |
---|---|---|---|
Белый экран | Ошибка PHP или модуль отсутствует | Включите отчёт об ошибках в settings.php |
tail -f /var/log/nginx/error.log |
Ошибка соединения с БД | Неверные параметры DB_USER или DB_PASSWORD | Проверьте файл sites/default/settings.php |
mysql –u user –p |
Отказ в доступе к директории files | Неверные права доступа | Установите chown www-data:www-data sites/default/files |
ls –l sites/default/files |
403 Forbidden при установке модулей | Недостаточно прав на каталог modules | Проверьте владельца и права 755 для директорий | find . –type d –perm 755 |
Официальная документация