Гид по технологиям

Установка Drupal на Debian 11 с Apache и Let's Encrypt

• 5 min read • CMS • Обновлено 18 Nov 2025
Установка Drupal на Debian 11 с Apache и Let's Encrypt
Установка Drupal на Debian 11 с Apache и Let's Encrypt

TL;DR

Кратко: покажу пошагово, как установить Drupal на сервер с Debian 11, настроить Apache, создать базу данных MariaDB и подключить бесплатный SSL от Let’s Encrypt (Certbot). Все основные команды и пример конфигурации виртуального хоста приведены.

Важно: перед началом убедитесь, что домен указывает на IP сервера и у вас есть root-доступ.

Изображение: логотип и интерфейс установки Drupal

О чём эта инструкция

Эта статья описывает установку Drupal CMS на Debian 11 с Apache и автоматическим получением SSL-сертификата через Let’s Encrypt. Подходит для простого сайта или блога. Я объясняю команды, конфигурацию и даю проверочные шаги и рекомендации по безопасности.

Кому это полезно

  • Системным администраторам, которые разворачивают сайт на Debian.
  • Разработчикам, которые хотят быстро подготовить среду для тестирования.
  • Тем, кто хочет хостить Drupal с бесплатным SSL.

Синонимы запроса

Установка Drupal, установить Drupal на Debian, Drupal + Apache + Let’s Encrypt, развертывание Drupal, LAMP для Drupal.

Предупреждение

Перед выполнением команд сделайте резервные копии важных данных. Команды выполняйте с правами root или через sudo.

Требования

  • Сервер с Debian 11.
  • Домен, указывающий на IP сервера (A-запись).
  • Доступ root или пользователь с sudo-права.

Шаг 1 — Установка LAMP (Apache, MariaDB, PHP)

Drupal работает на LAMP. Если стек не установлен, выполните:

apt-get install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-soap php-bcmath php-xmlrpc -y

После установки отредактируйте php.ini, чтобы увеличить лимиты и выставить часовой пояс:

nano /etc/php/7.4/apache2/php.ini

Измените (или добавьте) следующие строки:

memory_limit = 256M
upload_max_filesize = 32M
max_execution_time = 300
date.timezone = Asia/Kolkata

Замените date.timezone на ваш часовой пояс (например, Europe/Moscow). Сохраните файл и перезапустите Apache, если уже запущен.

Шаг 2 — Создание базы данных для Drupal

Войдите в MariaDB:

mysql

Создайте базу и пользователя (замените securepassword на надёжный пароль):

MariaDB [(none)]> CREATE DATABASE drupaldb;
MariaDB [(none)]> CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";
MariaDB [(none)]> GRANT ALL ON drupaldb.* TO 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Совет: для безопасности позже выполните mysql_secure_installation и отключите доступ root по паролю извне.

Шаг 3 — Скачивание и размещение файлов Drupal

Скачайте последнюю сборку Drupal и распакуйте её:

wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

tar -xvf drupal.tar.gz

mv drupal-* /var/www/html/drupal

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

Права: www-data — стандартный пользователь Apache в Debian. Проверьте, что веб-сервер имеет доступ к файловой системе сайта.

Шаг 4 — Конфигурация виртуального хоста Apache

Создайте файл конфигурации виртуального хоста:

nano /etc/apache2/sites-available/drupal.conf

Вставьте (замените ServerName и адрес почты):


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/drupal/
     ServerName  drupal.example.com

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     
            Options FollowSymlinks
            AllowOverride All
            Require all granted
     

     
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    

Включите сайт и модуль перезаписи URL:

a2ensite drupal.conf
a2enmod rewrite
systemctl restart apache2
systemctl status apache2

Ожидаемый результат — служба Apache активна и слушает запросы. Если статус показывает ошибку, проверьте синтаксис конфигурации командой apachectl configtest.

Шаг 5 — Доступ к установщику Drupal (веб-интерфейс)

Откройте в браузере: http://drupal.example.com (замените на ваш домен). Должна открыться страница установки.

Выбор языка при установке Drupal

Выберите язык и нажмите Сохранить и продолжить. Выберите профиль установки (обычно “Standard”).

Выбор профиля установки

На странице конфигурации базы введите:

  • имя базы: drupaldb
  • пользователь: drupaluser
  • пароль: securepassword
  • хост: localhost

Конфигурация базы данных

Далее заполните имя сайта, учётную запись администратора и региональные настройки.

Информация о сайте

Региональные настройки

После успешной установки вы попадёте в админ-панель Drupal.

Вход в админку Drupal

Шаг 6 — Включение SSL через Let’s Encrypt (Certbot)

Установите Certbot для Apache и запустите получение сертификата:

apt-get install python3-certbot-apache -y

certbot --apache -d drupal.example.com

В процессе вас попросят ввести e-mail и принять условия. Затем Certbot автоматически создаст SSL-виртуальный хост и предложит перенаправление HTTP → HTTPS. Для новых сайтов рекомендуется выбрать перенаправление.

Certbot создаёт сертификаты в /etc/letsencrypt/live/your-domain/ и настраивает автоматическое обновление (cron/systemd). Проверьте работу с сайтом по HTTPS.

# Для теста обновления сертификатов можно выполнить dry-run:
certbot renew --dry-run

Полезные проверки и отладка

  • Проверьте доступность портов 80 и 443 (ufw/iptables):
ufw allow 'Apache Full'
ufw status
  • Протестируйте конфигурацию Apache:
apachectl configtest
systemctl restart apache2
  • Если проблемы с подключением к MariaDB, проверьте лог /var/log/mysql/error.log.

  • Для проверки SSL используйте SSL Labs: https://www.ssllabs.com/ssltest/

Рекомендации по безопасности и сопровождению

  • Запустите mysql_secure_installation и задайте сильный пароль для root MariaDB.
  • Отключите доступ к phpinfo.php в продакшене.
  • Регулярно применяйте обновления пакетов: apt-get update && apt-get upgrade.
  • Ограничьте доступ к /var/www/html/drupal/settings.php: chmod 644 и владелец root или www-data в зависимости от рабочего процесса.
  • Следите за автоматическим обновлением Certbot и проверяйте cron/systemd timer: systemctl list-timers | grep certbot.

Критерии приёмки

  1. Сайт открывается по HTTPS и показывает интерфейс установки Drupal.
  2. Установка проходит без ошибок: подключение к базе успешно.
  3. Админ-панель доступна, можно войти под созданным администратором.
  4. Certbot выдал сертификат и настроил редирект HTTP → HTTPS (если выбран).

Чек-лист для ролей

  • Системный администратор:

    • Проверить DNS A-запись.
    • Установить LAMP и Certbot.
    • Настроить виртуальный хост и права на файлы.
    • Настроить бэкапы и обновления.
  • Разработчик:

    • Убедиться, что Composer и Drush установлены при необходимости.
    • Настроить среду разработки (локальные настройки).
    • Проверить совместимость модулей и тем.
  • Контент-менеджер:

    • Настроить языки, темы и базовые страницы.
    • Проверить права ролей и доступы к разделам.

Мини-методология развёртывания

  1. Подготовка: DNS, доступ, бэкап.
  2. Установка ПО: LAMP, Certbot.
  3. Конфигурация: виртуальный хост, php.ini, права.
  4. Установка Drupal через веб-интерфейс.
  5. Финальная проверка: SSL, доступность, бэкапы, мониторинг.

Частые ошибки и как их решать

  • Ошибка 500 после установки: проверьте права и логи Apache (/var/log/apache2/error.log).
  • Не удаётся подключиться к базе: убедитесь, что параметры в формах совпадают с теми, что вы создали в MariaDB.
  • Certbot не может верифицировать домен: проверьте DNS и то, что порт 80 открыт.

FAQ

Q: Нужно ли менять php.ini для больших сайтов? A: Да. Увеличивайте memory_limit и max_execution_time в зависимости от нагрузки и используемых модулей.

Q: Как проверить дату истечения сертификата? A: Выполните: openssl x509 -enddate -noout -in /etc/letsencrypt/live/drupal.example.com/fullchain.pem

Q: Можно ли использовать PostgreSQL вместо MariaDB? A: Drupal поддерживает PostgreSQL, но команды и настройки будут другими.

Итоги

Вы установили Drupal на Debian 11, настроили Apache и подключили бесплатный SSL от Let’s Encrypt. После установки проверьте работу сайта, безопасность и настройте регулярные обновления.

Ключевые шаги: установить LAMP, создать базу, разместить файлы Drupal, настроить виртуальный хост и получить сертификат через Certbot.

Если нужны конфигурации для нескольких сайтов (multi-site) или инструкция по установке Drush/Composer — напишите, и я добавлю раздел с примерами.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро