Ранее мы размещали пост об установке Drupal 8 на Ubuntu 16.04. В этом руководстве будет показано, как корректно выполнить обновление минорной версии Drupal 8 (8.x. x) на сервере с операционной системой Linux. Независимо от используемого вами дистрибутива Linux, вы сможете применить этот способ для обновления ядра Drupal 8.
На данный момент не существует автоматического механизма обновления для Drupal 8, в отличие от WordPress. Обновление этой платформы требует ручной работы. Давайте начнем процесс без лишних задержек.
Содержание статьи
- 1 Первый шаг: Создание резервной копии ядра Drupal и базы данных.
- 2 Второй шаг: Включите режим технического обслуживания на сайте.
- 3 Удалите файлы и папки Drupal.
- 4 Загрузите актуальную версию Drupal 8.
- 5 Обновите свою базу данных в Drupal.
- 6 Переход от режима обслуживания к онлайн-формату.
- 7 Финальные размышления
Первый шаг: Создание резервной копии ядра Drupal и базы данных.
Всегда необходимо иметь резервную копию. В операционных системах Unix/Linux утилита командной строки tar позволит создать резервное копирование каталога на сервере.
tar - cpzf drupal8core. tar.gz /path/to/drupal/web/root
Эта команда создаст резервную копию всех файлов в корневой директории вашего сайта на Drupal, сожмет их и сохранит в формате tar-архива. Естественно, необходимо заменить указанный путь на реальный путь к корневому каталогу вашего сайта. Более подробную информацию о команде tar можно найти в документации (man tar).
Для создания резервной копии базы данных Drupal, достаточно выполнить следующую команду, если используется MySQL или MariaDB.
mysqldump - u root - p drupal-database > drupal-database. sql
Замените drupal-database на реальное название вашей базы данных, которое можно узнать с помощью следующей команды.
mysql - u root - p - e "show databases;"
Второй шаг: Включите режим технического обслуживания на сайте.
Войдите как администратор сайта, который также известен как пользователь 1 в Drupal. Затем перейдите в Управление > Конфигурация > Разработка >Режим технического обслуживания. Проверьте, что этот пункт выбран, и сохраните настройки.

Удалите файлы и папки Drupal.
С помощью команды cd перейдите в папку, где установлен Drupal 8. После этого удалите папки core и vendor.
rm - r core/ vendor/
Не касайтесь других каталогов. Затем необходимо удалить все оставшиеся файлы в корневом каталоге Drupal 8. В результате на сервере у вас останутся каталоги modules, profiles, sites и themes.
Загрузите актуальную версию Drupal 8.
Загрузите последнюю версию ядра Drupal с официального сайта Drupal. org. Сохраните файл в папку, которая находится вне директории установки Drupal. Для загрузки через командную строку вы можете воспользоваться wget, как показано ниже. Возможно, потребуется изменить номер версии.
wget https://ftp. drupal. org/files/projects/drupal-8.1.8.tar.gz
После этого извлеките файл.
tar xvf drupal-8.1.8.tar.gz
В новом каталоге drupal-8.x. x, который будет создан в текущем, выполните переход внутрь него.
cd drupal-8.1.8
Прежде чем перенести файлы и папки в директорию установки Drupal, необходимо удалить каталоги modules, profiles, sites и themes, так как мы не желаем перезаписывать эти четыре директории. В противном случае могут быть утрачены ваши пользовательские модули, темы и прочие настройки.
rm - r modules/ profiles/ sites/ themes/
После этого мы можем перенести все остальные файлы и папки в директорию, где установлен Drupal.
cp - R *.htaccess /path/to/Drupal/web/root/
Обновите свою базу данных в Drupal.
Теперь, когда ядро Drupal было обновлено, необходимо также выполнить обновление базы данных, перейдя по следующему адресу.
your-domain.com/update.php

Нажмите на кнопку «Далее».
Если вы работаете с Nginx и столкнулись с ошибкой, например, страницей update.php/selection, которая не обнаружена, внесите следующий блок location в конфигурационный файл Nginx и перезапустите сервер.
location ~
< fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index update.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/update.php; fastcgi_param SCRIPT_NAME /update.php; >
В случае успешного завершения обновления базы данных на экране появится следующее уведомление.
Нет ожидающих обновлений.
Переход от режима обслуживания к онлайн-формату.
После завершения обновления базы данных Drupal 8 перейдите в Управление > Отчеты >Отчет о текущем состоянии. Проверьте, что все функционирует корректно.
Затем перейдите в Управление > Конфигурация > Разработка >Режим обслуживания. Уберите галочку и сохраните изменения в ваших настройках.
Ваш сайт на Drupal завершил работу в режиме обслуживания, и обновление до Drupal 8 прошло успешно.
Финальные размышления
Теперь вы понимаете, почему Drupal не является лучшим выбором для начинающих блогеров или веб-мастеров. Это создает множество сложностей по сравнению с обновлением WordPress, где достаточно нажать одну кнопку, и процесс завершится всего за несколько секунд.
Однако крайне необходимо обновить ваш сайт на Drupal в ближайшее время, чтобы избежать угроз со стороны злоумышленников.
Если этот пост оказался для вас полезным, не забудьте подписаться на нашу бесплатную рассылку или следить за нами в Google+, Twitter, а также ставить лайки на нашей странице в Facebook.

