MAATRIX / Блог / VPS для Drupal: установка через Composer

VPS для Drupal: установка через Composer

Блог MAATRIX · 2026-07-07

Drupal — мощная CMS для крупных проектов, но капризная к окружению. Правильный путь — установка через Composer, а не распаковка архива. Развернём стек, поставим движок и Drush, настроим nginx и SSL. Всё рабочими командами.

Стек и зависимости

['Ставим nginx, PHP-FPM с нужными расширениями, MariaDB и Composer — менеджер зависимостей, без которого современный Drupal не собрать.', '
apt update && apt upgrade -y\napt install nginx mariadb-server php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip composer git unzip -y
', '
systemctl enable --now nginx mariadb php8.2-fpm
', 'Drupal активно работает с кэшем и базой, поэтому NVMe-диск на MAATRIX заметно ускоряет пересборку кэша (drush cr) на больших сайтах.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для Drupal

База данных под Drupal

['
mysql_secure_installation
', '
mysql -u root -p
', "
CREATE DATABASE drupal_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;\nCREATE USER 'drupal_user'@'localhost' IDENTIFIED BY 'СложныйПароль123';\nGRANT ALL PRIVILEGES ON drupal_db.* TO 'drupal_user'@'localhost';\nFLUSH PRIVILEGES;\nEXIT;
"]

Установка Drupal через Composer

['Создаём проект из официального шаблона и ставим Drush — консольный инструмент управления:', '
cd /var/www\ncomposer create-project drupal/recommended-project drupal\ncd drupal\ncomposer require drush/drush
', 'Выдаём права веб-серверу на каталог файлов:', '
chown -R www-data:www-data /var/www/drupal\nchmod -R 755 /var/www/drupal/web
', 'Устанавливаем сайт одной командой Drush вместо веб-мастера:', '
cd /var/www/drupal\nvendor/bin/drush site:install standard \\\n  --db-url=mysql://drupal_user:СложныйПароль123@localhost/drupal_db \\\n  --site-name="Мой сайт" --account-name=admin -y
']

Конфиг nginx

['Важно: корень сайта у Drupal — подкаталог web, а не корень проекта.', "
server {\n    listen 80;\n    server_name ваш-домен.ru;\n    root /var/www/drupal/web;\n    index index.php;\n\n    location / {\n        try_files $uri /index.php?$query_string;\n    }\n\n    location ~ '\\.php$|^/update.php' {\n        include snippets/fastcgi-php.conf;\n        fastcgi_pass unix:/run/php/php8.2-fpm.sock;\n    }\n\n    location ~ ^/sites/.*/private/ {\n        return 403;\n    }\n}
", '
ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/\nnginx -t && systemctl reload nginx
']

SSL и обслуживание

['Выпускаем сертификат:', '
apt install certbot python3-certbot-nginx -y\ncertbot --nginx -d ваш-домен.ru
', 'Полезные команды Drush на каждый день — сброс кэша и обновление:', '
vendor/bin/drush cr\nvendor/bin/drush updb -y\ncomposer update drupal/core --with-dependencies
', '
  • Совет: держите приватные файлы вне webroot и запрещайте к ним доступ (см. конфиг выше).
  • Ежедневные бэкапы MAATRIX особенно ценны для Drupal — откат после неудачного обновления модуля занимает минуты.
']

Redis и производительность Drupal

['Drupal без кэша тяжёл: он генерирует много запросов к базе на каждой странице. Вынесите кэш в Redis — это самый заметный прирост скорости. Ставим сервер и расширение, затем модуль через Composer:', '
apt install redis-server php-redis -y\nsystemctl enable --now redis-server\ncomposer require drupal/redis\nvendor/bin/drush en redis -y
', 'Подключаем Redis в web/sites/default/settings.php, добавив в конец:', "
$settings['redis.connection']['interface'] = 'PhpRedis';\n$settings['redis.connection']['host'] = '127.0.0.1';\n$settings['cache']['default'] = 'cache.backend.redis';
", 'После этого сбросьте кэш, чтобы Drupal начал писать в Redis:', '
vendor/bin/drush cr
', 'Включите агрегацию CSS и JS в админке (Configuration → Performance) — Drupal склеит и сожмёт ассеты, сократив число запросов. Вместе с Redis и OPcache это превращает тяжёлый Drupal в быстрый сайт даже под нагрузкой, а быстрый NVMe у MAATRIX добавляет запас на пиковый трафик.']

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.

Арендовать VPS для Drupal

Частые вопросы

Зачем Composer, нельзя просто распаковать архив?

Composer управляет зависимостями и модулями, обеспечивает корректные обновления безопасности и является официально рекомендованным способом установки Drupal 9/10/11.

Сколько памяти нужно Drupal?

Минимум 2 ГБ, комфортно — 4 ГБ, так как Composer и сборка кэша прожорливы. Для тяжёлых проектов с Solr и Redis берите больше.

Что делать при ошибке памяти Composer?

Увеличьте memory_limit для CLI: COMPOSER_MEMORY_LIMIT=-1 composer update. На VPS с достаточным RAM проблема не возникает.