Как установить Drupal на виртуальный сервер

Drupal входит в число самых популярных движков для сайтов во всём мире. Его главные фишки: 

  • богатый набор возможностей по внутренней кастомизации;
  • огромное число модулей и расширений для самых разных задач;
  • тщательный подход к безопасности;
  • встроенная система кэширования;
  • хорошая SEO-оптимизация из коробки;
  • большое отзывчивое сообщество.

При этом из-за обилия функций освоить Drupal может быть немного сложнее, чем другие популярные движки. Кроме того, он требует больше ресурсов, поэтому для него нужен сервер помощнее. Но это с лихвой компенсируется возможностью развернуть на нём проект любой сложности.

Последняя версия Drupal предусматривает наличие на сервере PHP версии 7.4, сервера баз данных MySQL 5.7.8 или MariaDB 10.3 и выше. «Из коробки» такой набор доступен в операционной системе Ubuntu 20.04.

Установка Drupal происходит в несколько шагов: 

  • Подготовка сервера
  • Скачивание и распаковка архива Drupal
  • Настройка конфигурационных файлов
  • Запуск скрипта установки в браузере

Первый этап, подготовка, заключается в активации сервера и установке программного обеспечения, включая создание пустой базы данных, директории сайта и настройку веб-сервера. И есть два варианта, как всё это организовать:

  • Чтобы управлять сервером и сайтами через удобный интерфейс в браузере, установите панель управления ISPmanager. Она имеет более широкие возможности в плане работы с сервером и может вместить неограниченное количество проектов;
  • Если вы хотите управлять сервером вручную, то для работы сайта понадобится как минимум LAMP. Можно заказать сервер с его автоматической установкой из рецепта или установить весь набор программного обеспечения вручную.

Процесс прохождения остальных этапов зависит от этого выбора и может немного видоизменяться. Пройдёмся по каждому способу:

Установка Drupal в ISPmanager

Панель управления ISPmanager обладает широким набором функций, автоматизирующих и упрощающих задачи по обслуживанию сайтов. 

Установить Drupal, как и многие другие популярные CMS, в ISPmanager можно автоматически, за несколько кликов. Причём сразу тремя способами — и это если говорить только про автоустановку.

Установка CMS для сайта в ISPmanager

Установка Drupal вручную

Предположим, что вы уже подготовили сервер — установили LAMP, вручную или из рецепта, выполнили первичные настройки — создали базу данных и директорию сайта, настроили веб-сервер.

Всё, что осталось — включить модуль mod_rewrite, загрузить и распаковать в папку сайта архив с Drupal и немного поколдовать с его конфигурационными файлами. 

Итак, вводные: подключаемся к серверу по SSH. Первым делом нам нужно донастроить наш веб-сервер и конфигурационный файл сайта. Для этого:

  1. Нужно включить модуль mod_rewrite для работы «чистых ссылок». На CentOS он активирован по умолчанию, а на Ubuntu или Debian это можно сделать за один шаг: 

    a2enmod rewrite
  2. Теперь нам нужно настроить некоторые правила в конфигурационном файле нашего сайта: 

    vim /etc/apache2/sites-available/example.com.conf
    В качестве примера приведён консольный редактор vim. Для входа в режим редактирования на клавиатуре нажмите I. Для выхода из режима редактирования нажмите Esc. Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
     

    Перед закрывающим тегом  </VirtualHost> (последняя строчка файла) добавляем такой блок настроек: 

    <Directory /var/www/example.com>
          Options Indexes FollowSymLinks MultiViews
          AllowOverride All
    </Directory>
  3. После всех манипуляций перезапускаем веб-сервер: 

    systemctl reload apache2

Теперь нам нужно скачать и настроить сам Drupal. 

  1. Переходим в корневую папку нашего сайта на сервере (в примере это example.com):

    cd /var/www/example.com
  2. Скачиваем архив с последней версией Drupal: 

    wget https://www.drupal.org/download-latest/tar.gz 
  3. Запускаем распаковку: 

    tar -xzf tar.gz

    Проверим список файлов в корневой папке сайта с помощью команды:

    ls -al

    В итоге у нас получится, что рабочие файлы CMS лежат не в корне сайта, где должны, а в подкаталоге drupal-9.0.3, который был распакован из архива (его название включает номер версии и у вас может отличаться). Нужно это исправить: переместить все файлы из папки drupal-9.0.3 в корневую директорию сайта.

    mv -f ./drupal-9.0.3/* ./drupal-9.0.3/.* ./

    После этого нужно удалить архив и ненужную папку, чтобы не занимали место:

    rmdir drupal-9.0.3
    
    rm tar.gz
  4. Для корректной установки нам потребуется создать папку под языковые пакеты:

    mkdir -p ./sites/default/files/translations

    И создать конфигурационный файл Drupal путём копирования образца default.settings.php:

    cp ./sites/default/default.settings.php ./sites/default/settings.php

Чтобы веб-сервер мог обрабатывать файлы нашего сайта, нужно настроить для него доступ к ним. Для этого укажем его владельцем всех файлов в каталоге нашего сайта. Важно помнить, что имя системного пользователя веб-сервера может отличаться в зависимости от вашей операционной системы: для Ubuntu и Debian это www-data, для CentOS — apache.

chown -R www-data:www-data /var/www/example.com

Дальше начинается самое интересное — настройка. В принципе, уже сейчас можно открыть в браузере домен вашего сайта или IP-адрес сервера — откроется установщик Drupal. Он предложит выбрать язык и укажет, какие настройки нужно выполнить, чтобы процесс завершился успешно:

После выбора языка установки вы увидите предложение выбрать установочный профиль. От него зависит, какой набор модулей будет установлен:

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

В крайнем случае можно оставить их решение на потом и нажать «продолжить в любом случае» внизу страницы, чтобы перейти далее.

На следующем шаге установщик запросит данные базы данных. Если вы пропустили шаг создания базы при подготовке сервера, можно вернуться и наверстать этот момент. 

После этого запустится загрузка и установка компонентов движка:

На последнем шаге вам останется заполнить информацию о сайте, указать логин, пароль и почту для администратора:

После чего запустится финальная настройка — обновление переводов конфигураций, и откроется админка Drupal:

На этом процесс ручной установки Drupal завершён.