Установка Drupal 8 на Debian 9
Важно: это руководство фокусируется на Debian 9 и Drupal 8. Используйте последнюю доступную версию Drupal из официального репозитория при реальной установке.
Основные требования
- Сервер с Debian 9.
- Apache 2.x, PHP (7.0) и MariaDB/MySQL с поддержкой PDO.
- Непривилегированный пользователь с sudo.
- Доступ к командной строке и базовое знание редактирования файлов.
1. Подготовка системы
Обновите пакеты и установите базовые утилиты:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install wget git unzip nano -yПояснение: apt-get update обновляет список пакетов, upgrade устанавливает обновления. Утилиты wget, unzip и nano понадобятся для загрузки, распаковки и правки файлов.
2. Установка LAMP (Apache + PHP)
- Установите Apache и включите запуск при старте:
sudo apt-get install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2- Установите PHP и необходимые модули для Drupal 8:
sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-mcrypt php7.0-intl php7.0-mysql php7.0-curl php7.0-gd php7.0-soap php7.0-xml php7.0-zip -y- Отредактируйте php.ini для CLI (и при необходимости для Apache):
sudo nano /etc/php/7.0/cli/php.iniИзмените/добавьте значения:
memory_limit = 512M
date.timezone = UTC
cgi.fix_pathinfo=0
upload_max_filesize = 100M
post_max_size = 100MСохраните файл и закройте редактор.
Совет: при использовании PHP-FPM также отредактируйте /etc/php/7.0/fpm/php.ini и перезапустите php7.0-fpm.
3. Установка и настройка MariaDB
Установите MariaDB:
sudo apt-get install mariadb-server -y
sudo systemctl start mysql
sudo systemctl enable mysqlЗапустите скрипт безопасности:
sudo mysql_secure_installationЭтот скрипт позволяет задать пароль root, отключить удалённый доступ под root, удалить анонимных пользователей и тестовую базу — все рекомендуемые шаги. Следуйте подсказкам скрипта.
Создайте базу данных и пользователя для Drupal:
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE drupaldb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON drupaldb.* TO 'drupal'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \qВажно: замените ‘password’ на надёжный пароль и храните его безопасно.
4. Загрузка и установка Drupal
- Скачайте последнюю стабильную версию Drupal 8 (в примере используется релиз 8.3.4):
wget https://ftp.drupal.org/files/projects/drupal-8.3.4.zip
unzip drupal-8.3.4.zip
sudo mv drupal-8.3.4 /var/www/html/drupal- Настройте права доступа. В продакшене не рекомендуется давать 777. Лучше ограничить права до минимально необходимых:
sudo chown -R www-data:www-data /var/www/html/drupal
sudo find /var/www/html/drupal -type d -exec chmod 755 {} \;
sudo find /var/www/html/drupal -type f -exec chmod 644 {} \;Если некоторым каталогам (sites/default/files) нужно временное право записи для установки, установите 775 и позже верните более строгие права.
- Создайте виртуальный хост Apache для сайта:
sudo nano /etc/apache2/sites-available/drupal.confДобавьте конфигурацию (пример):
ServerAdmin [email protected]
DocumentRoot /var/www/html/drupal
ServerName 192.168.15.189
ServerAlias www.example.com
<
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/apache2/drupal-error_log
CustomLog /var/log/apache2/drupal-access_log common
Сохраните файл, затем активируйте сайт и модуль rewrite:
sudo a2ensite drupal
sudo a2enmod rewrite
sudo systemctl restart apache2Примечание: директива Directory в конфигурации использует старый синтаксис для доступа. На современных системах вместо Order/allow рекомендуется использовать Require all granted. Для Debian 9 можно заменить блок так:
Options FollowSymLinks
AllowOverride All
Require all granted
5. Доступ к веб-интерфейсу и базовая настройка UFW
Если на сервере включён UFW, разрешите HTTP:
sudo ufw enable
sudo ufw allow 80Откройте в браузере http://192.168.15.189 и следуйте мастеру установки Drupal: выберите язык, профиль установки, укажите данные базы данных (имя базы, пользователь, пароль, хост) и заполните данные сайта (название, администратор).





ALT заметки: все изображения показывают этапы мастера установки Drupal: выбор языка, профиль установки, ввод параметров базы данных, ввод данных сайта и финальная панель управления.
Практические советы по безопасности и эксплуатации
- Не используйте chmod 777 на корневых каталогах. Это риск для безопасности.
- Обновляйте ядро Drupal и модули. Патчи устраняют уязвимости.
- Бекапьте базу данных и файлы сайта регулярно.
- Ограничьте доступ к phpMyAdmin (если установлен) только по IP.
- Настройте HTTPS (Let’s Encrypt) и принудительное перенаправление на HTTPS.
- Для публичного сайта настройте fail2ban и мониторинг доступности.
Пример быстрой настройки HTTPS через Certbot:
sudo apt-get install certbot python-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.comОтладка и частые ошибки
- Белая страница или 500 Internal Server Error: проверьте логи Apache (/var/log/apache2/drupal-error_log) и права файлов.
- Ошибка соединения с базой: проверьте правильность имени базы, пользователя и пароля, убедитесь, что MariaDB слушает на localhost.
- Модуль rewrite не включён: sudo a2enmod rewrite и перезапуск Apache.
- Проблемы с загрузкой файлов: проверьте upload_max_filesize и post_max_size в php.ini.
Контрольные шаги перед запуском в продакшен
- Проверить настройки прав и владельца (www-data).
- Установить HTTPS и HSTS.
- Отключить ненужные модули PHP.
- Настроить резервное копирование и план обновлений.
Роли и чеклист действий
Для системного администратора:
- Установить LAMP и MariaDB.
- Настроить виртуальный хост и HTTPS.
- Настроить бэкапы и мониторинг.
Для разработчика:
- Проверить совместимость модулей с Drupal 8.
- Настроить среду разработки и миграции контента.
Для контент-менеджера:
- Создать учетную запись администратора.
- Настроить базовые виды, таксономию и структуру меню.
Критерии приёмки
- Сайт загружается по HTTPS без ошибок.
- Админ-панель доступна и рабочая.
- Пользователь с ролью админ может создавать контент.
- Резервное копирование и восстановление протестированы.
Короткая методология установки (шпаргалка)
- Обновление системы.
- Установка Apache, PHP, MariaDB.
- Настройка PHP и MariaDB secure.
- Скачивание Drupal и установка прав.
- Настройка виртуального хоста и перезапуск Apache.
- Запуск веб-инсталлятора и финальная конфигурация.
Цитата эксперта: «Надёжная установка — это не только правильно запущенный установщик, но и своевременные обновления и корректные права на файлы.»
Короткий глоссарий
- LAMP: Linux, Apache, MySQL/MariaDB, PHP — стек для веб-приложений.
- VirtualHost: конфигурация Apache для отдельного сайта.
- UFW: простой межсетевой экран для Ubuntu/Debian.
Часто задаваемые вопросы
Как обновить Drupal 8 до более новой версии?
Через интерфейс администратора или с помощью Drush/Composer. Перед обновлением сделайте бэкап базы и файлов.
Можно ли использовать MySQL вместо MariaDB?
Да. Drupal поддерживает как MySQL, так и MariaDB.
Почему сайт просит права записи во время установки?
Папке sites/default/files должен быть предоставлен доступ на запись. После установки снизьте права до безопасных.
Нужен ли Composer для Drupal 8?
Некоторые модули и современные сборки требуют Composer. Рекомендуется использовать Composer для управления зависимостями.
Заключение
Поздравляем — вы установили Drupal 8 на Debian 9. Следующие шаги: настройте HTTPS, установите необходимые модули и перенесите контент. Для подробной документации посетите официальный сайт: https://www.drupal.org/docs/8
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента