Установка Drupal 8 на Ubuntu 15.10 с Apache, MySQL и SSL
Кратко: пошаговая инструкция по установке Drupal 8 на Ubuntu 15.10 с Apache, MySQL и самоподписанным SSL. Включены команды для установки Apache/PHP, MySQL, создание базы, генерация SSL, настройка виртуального хоста, установка Drupal через drush и основные рекомендации по безопасности и проверке. Используйте этот план как SOP и чеклист для развёртывания тестового или внутреннего сайта.
Важно: в продакшне замените самоподписанный сертификат на сертификат от центра сертификации (например, Let’s Encrypt).
Введение
Drupal — это система управления контентом (CMS) с открытым исходным кодом на PHP, распространяемая по лицензии GNU GPL. Она масштабируема и расширяема: сообщество предоставляет тысячи модулей. В этой инструкции показано, как установить Drupal 8 на Ubuntu 15.10, используя Apache в качестве веб-сервера и MySQL как бэкенд базы данных, а также как включить SSL для защищённого соединения.
Кому полезно: системным администраторам, девопсам, разработчикам и тем, кто разворачивает тестовый или промежуточный инстанс Drupal.
Необходимые условия
- Ubuntu 15.10 — 64-разрядная система.
- Права root (sudo).
- Доступ к интернет-репозиториям для apt.
Основная структура инструкции
- Установка Apache и PHP
- Установка MySQL и создание базы данных
- Генерация и настройка SSL
- Конфигурация виртуального хоста Apache
- Установка Drupal 8 и начальная настройка
- Дополнительные рекомендации: безопасность, тесты, альтернативы
Шаг 1 — Установка Apache и PHP
Мы установим Apache и PHP (и необходимые модули) через apt и включим модули mod_rewrite и mod_ssl.
Обновите репозитории и установите Apache:
sudo su
apt-get update
apt-get install apache2 -yУстановите PHP 5 и требуемые модули:
apt-get install -y php5 libapache2-mod-php5 php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-apcuВключите модули Apache и перезапустите сервис:
a2enmod rewrite ssl
systemctl restart apache2Проверьте, что модули загружены:
apache2ctl -M | egrep 'ssl|rewrite'Ожидаемый вывод должен содержать строки с rewrite_module и ssl_module.
Проверьте, что Apache и PHP работают — создайте PHP-информационную страницу:
cd /var/www/html
echo "" > info.phpОткройте в браузере http://

Когда проверили, удалите файл:
rm -f /var/www/html/info.phpВажно: общедоступный info.php раскрывает конфигурацию сервера и представляет риск.
Шаг 2 — Установка и настройка MySQL
Установим MySQL 5.6 и создадим базу данных для Drupal: база drupaldb и пользователь drupaluser с паролем drupaluser@ (в реальной установке используйте надёжный сложный пароль).
apt-get install mysql-server mysql-client -yВо время установки задайте пароль для пользователя root MySQL.
Войдите в MySQL и создайте базу и пользователя:
mysql -u root -p
create database drupaldb;
create user drupaluser@localhost identified by 'drupaluser@';
grant all privileges on drupaldb.* to drupaluser@localhost identified by 'drupaluser@';
flush privileges;
exit
Совет: для повышенной безопасности разрешайте подключение к базе только с нужных хостов и ставьте сложные пароли.
Шаг 3 — Установка и настройка SSL
Для защищённого соединения создадим каталог для сертификатов и сгенерируем самоподписанный сертификат (подойдёт для тестовых окружений).
cd /etc/apache2/
mkdir ssl
cd ssl/Генерация самоподписанного сертификата:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/drupalssl.key -out /etc/apache2/ssl/drupalssl.crtОграничим права к файлам сертификата:
chmod 600 *Файлы сертификата созданы. В продакшне используйте сертификат от CA (Let’s Encrypt, коммерческий CA).
Шаг 4 — Конфигурация виртуального хоста Apache
Создайте директорию для сайта и файл конфигурации виртуального хоста:
mkdir -p /var/www/drupal
cd /etc/apache2/sites-availableОткройте файл drupal.conf для редактирования (например, vim):
vim drupal.confВставьте конфигурацию виртуального хоста (замените домен на ваш):
ServerName www.mydrupal.co
DocumentRoot /var/www/drupal
# Redirect http to https
RedirectMatch 301 (.*) https://www.mydrupal.co$1
# Server Info
ServerName www.mydrupal.co
ServerAlias mydrupal.co
ServerAdmin webmaster@localhost
# Web root
DocumentRoot /var/www/drupal
# Log configuration
ErrorLog ${APACHE_LOG_DIR}/drupal-error.log
CustomLog ${APACHE_LOG_DIR}/drupal-access.log combined
# Enable/Disable SSL for this virtual host.
SSLEngine on
# Self signed SSL Certificate file
SSLCertificateFile /etc/apache2/ssl/drupalssl.crt
SSLCertificateKeyFile /etc/apache2/ssl/drupalssl.key
Options FollowSymLinks
AllowOverride All
Require all granted
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
Сохраните и выйдите. Замените www.mydrupal.co на реальный домен.
Проверьте конфигурацию Apache:
apachectl configtestЕсли выводит “Syntax OK”, активируйте сайт и перезапустите Apache:
a2ensite drupal
systemctl restart apache2Шаг 5 — Установка и настройка Drupal 8
Установим git и drush, затем загрузим Drupal 8 и подготовим права доступа.
apt-get install git drush -yЗагрузите Drupal 8 через drush:
cd /var/www/drupal
drush dl drupal-8Переместите файлы в корень сайта и удалите временную папку:
mv drupal-8.0.1/* .
rm -rf drupal-8.0.1/Скопируйте конфигурационные файлы и создайте каталог для загружаемых файлов:
cd sites/default
cp default.settings.php settings.php
cp default.services.yml services.yml
mkdir files/
chmod a+w *Установите владельца файлов на www-data:
cd /var/www/
chown -R www-data:www-data drupal/Откройте в браузере ваш домен (например https://www.mydrupal.co). Установщик предложит язык. Выберите нужный язык (в примере был English).

Выберите профиль установки Standard:

Заполните параметры базы данных (drupaldb/drupaluser):

Нажмите “Save and continue” и дождитесь завершения установки. Затем укажите параметры сайта, учётную запись администратора, email и имя сайта:

После успешной установки вы увидите страницу завершения установки:

Проверка и базовая отладка
- Проверьте логи Apache: /var/log/apache2/drupal-error.log и drupal-access.log.
- Убедитесь, что директория sites/default/files доступна для записи веб-сервером.
- Проверяйте права владельца и группы (www-data для Debian/Ubuntu).
Если установка прерывается на этапе “Verify requirements”: проверьте версии PHP, доступные модули (mbstring, pdo_mysql, gd и т.д.), права доступа к файлам и конфигурацию PHP-FPM, если используется.
Альтернативные подходы и когда они подходят
- Nginx вместо Apache: лучше для высоконагруженных сайтов и современных конфигураций. Требует настройки php-fpm и других правил перенаправления.
- MariaDB вместо MySQL: совместима и часто предпочтительна с точки зрения производительности и поддержки.
- Let’s Encrypt вместо самоподписанного SSL: подходит для публичных сайтов, позволяет получить бесплатный CA-сертификат.
- Использовать Composer и официальный дистрибутив Drupal Composer Project для управления зависимостями и обновлениями.
Когда это может не сработать
- Хостинг ограничивает права для установки модулей или изменения виртуального хоста.
- Ограниченные ресурсы (память, CPU) мешают установщику и процессу выполнения PHP.
- Неправильные права на файловой системе приводят к ошибкам записи.
Критерии приёмки
- Веб-сайт доступен по HTTPS и перенаправляет HTTP на HTTPS.
- Установщик Drupal завершился без ошибок и появилось административное окно.
- Лог ошибок Apache не содержит повторяющихся критических сообщений.
- Директория sites/default/files доступна для записи и загрузка файлов работает.
Мини-методология развёртывания (3 шага)
- Подготовка: установить системные пакеты, создать пользователя и резервные копии.
- Развёртывание: установить Apache/PHP, MySQL, SSL, виртуальный хост, Drupal.
- Проверка: тесты функциональности, проверка логов, базовая безопасность.
Playbook (короткий SOP)
- Шаг A: Обновить систему и установить Apache/PHP.
- Шаг B: Установить MySQL и создать базу/пользователя.
- Шаг C: Сгенерировать сертификат SSL и настроить виртуальный хост.
- Шаг D: Установить drush/git, скачать Drupal и подготовить права.
- Шаг E: Произвести установку через веб-интерфейс и проверить доступ.
Ролевые чеклисты
Администратор сервера:
- Проверить обновления ОС.
- Настроить брандмауэр и SELinux/AppArmor по необходимости.
- Настроить регулярное резервное копирование базы и файлов.
Разработчик:
- Проверить совместимость модулей с Drupal 8.
- Настроить локальный dev-окружение аналогично prod.
Контент-менеджер:
- Проверить работоспособность загрузки файлов.
- Настроить роли и права в админке Drupal.
Безопасность и защита данных
- Замените самоподписанный сертификат на CA-сертификат для публичных сайтов.
- Ограничьте доступ к административной панели по IP или через двухфакторную аутентификацию.
- Отключайте показ ошибок PHP в публичной среде.
- Регулярно обновляйте ядро Drupal и модули.
Примечание по GDPR и конфиденциальности: при работе с персональными данными документируйте юридические основания обработки, настраивайте политику хранения и экспорт данных и используйте HTTPS для всех пользовательских соединений.
Быстрые тесты и критерии приёмки
- Открыть домашнюю страницу — 200 OK по HTTPS.
- Авторизация в админке — успешная с правильными правами.
- Загрузка файла в sites/default/files — файл сохраняется и доступен.
- Просмотр логов — отсутствие новых критических ошибок.
Однострочный глоссарий
- Drupal: CMS на PHP.
- drush: командный инструмент управления Drupal.
- VirtualHost: конфигурация сайта в Apache.
- SSL: протокол защищённых соединений.
Когда мигрировать и варианты обновления
Если вы планируете обновиться до более новой версии ОС или до Drupal 9/10, рассмотрите миграцию окружения: обновление PHP, переход на Composer и использование поддерживаемых пакетов. Тестируйте миграцию на отдельной среде.
Частые ошибки и их решения (галерея краевых случаев)
- Ошибка прав доступа при установке модулей: установить владельца www-data и проверить chmod.
- Ошибка соединения с базой: проверить имя хоста, пользователя и пароль в настройках базы.
- SSL не работает после настройки: проверьте пути к файлам сертификата и права на них.
Краткое резюме
- Инструкция покрывает полный цикл установки Drupal 8 на Ubuntu 15.10 с Apache, MySQL и SSL.
- Для тестовых сред самоподписанный сертификат приемлем, для публичных сайтов используйте CA.
- Рассмотрите альтернативы (Nginx, MariaDB, Composer) в зависимости от требований.
Экспертное замечание: «Лучше тестировать процесс установки в изолированной среде и автоматизировать повторяемые шаги, чтобы снизить риск ошибок при развёртывании.»
Заключение
Drupal — мощная CMS, которую можно развернуть на стандартном LAMP-стеке. Установка Drupal 8 на Ubuntu 15.10 требует последовательной настройки Apache, PHP, базы данных и SSL. Следуя этому руководству и дополнительным рекомендациям по безопасности и проверке, вы получите рабочий экземпляр Drupal, готовый для дальнейшей настройки и наполнения контентом.
Дополнительные ресурсы и дальнейшие шаги:
- Перенести сайт на Composer-based workflow для удобства обновлений.
- Подключить систему резервного копирования и мониторинга.
- Проводить регулярные аудиты безопасности и обновления ядра/модулей.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента