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

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

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

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

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

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

Ставим nginx, PHP-FPM с нужными расширениями, MariaDB и Composer — менеджер зависимостей, без которого современный Drupal не собрать.

apt update && apt upgrade -y
apt 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;
CREATE USER 'drupal_user'@'localhost' IDENTIFIED BY 'СложныйПароль123';
GRANT ALL PRIVILEGES ON drupal_db.* TO 'drupal_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

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

Создаём проект из официального шаблона и ставим Drush — консольный инструмент управления:

cd /var/www
composer create-project drupal/recommended-project drupal
cd drupal
composer require drush/drush

Выдаём права веб-серверу на каталог файлов:

chown -R www-data:www-data /var/www/drupal
chmod -R 755 /var/www/drupal/web

Устанавливаем сайт одной командой Drush вместо веб-мастера:

cd /var/www/drupal
vendor/bin/drush site:install standard \
  --db-url=mysql://drupal_user:СложныйПароль123@localhost/drupal_db \
  --site-name="Мой сайт" --account-name=admin -y

Конфиг nginx

Важно: корень сайта у Drupal — подкаталог web, а не корень проекта.

server {
    listen 80;
    server_name ваш-домен.ru;
    root /var/www/drupal/web;
    index index.php;

    location / {
        try_files $uri /index.php?$query_string;
    }

    location ~ '\.php$|^/update.php' {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }

    location ~ ^/sites/.*/private/ {
        return 403;
    }
}
ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

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

Выпускаем сертификат:

apt install certbot python3-certbot-nginx -y
certbot --nginx -d ваш-домен.ru

Полезные команды Drush на каждый день — сброс кэша и обновление:

vendor/bin/drush cr
vendor/bin/drush updb -y
composer update drupal/core --with-dependencies
  • Совет: держите приватные файлы вне webroot и запрещайте к ним доступ (см. конфиг выше).
  • Ежедневные бэкапы MAATRIX особенно ценны для Drupal — откат после неудачного обновления модуля занимает минуты.

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

Drupal без кэша тяжёл: он генерирует много запросов к базе на каждой странице. Вынесите кэш в Redis — это самый заметный прирост скорости. Ставим сервер и расширение, затем модуль через Composer:

apt install redis-server php-redis -y
systemctl enable --now redis-server
composer require drupal/redis
vendor/bin/drush en redis -y

Подключаем Redis в web/sites/default/settings.php, добавив в конец:

$settings['redis.connection']['interface'] = 'PhpRedis';
$settings['redis.connection']['host'] = '127.0.0.1';
$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

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

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

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

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

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

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

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

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