Обновляем Drupal 8 на IIS

 

Обновляем Drupal 8 на IIS

Вышло обновление Drupal 8.9.9. Если ваш сайт работает на IIS, то инструкция подойдёт.

Требуется обновление системы безопасности.

Обновляем Drupal 8 на IIS

Версию 9.1.0-rc1 устанавливать не будем, не все расширения обновлены до девятки. Ставим 8.9.9. Кликаем на Примечания к версии:

https://www.drupal.org/project/drupal/releases/8.9.9

Читаем.

No changes have been made to the .htaccess, web.config, robots.txt, or default settings.php files in this release, so upgrading custom versions of those files is not necessary if your site is already on the previous release.

Видно, что нет изменения в файле web.config и настройках сервера. Но мы всё равно проверим web.config позже.

Обновление исправляет критическую уязвимость удалённого выполнения кода.

Drupal core does not properly sanitize certain filenames on uploaded files, which can lead to files being interpreted as the incorrect extension and served as the wrong MIME type or executed as PHP for certain hosting configurations.

https://www.drupal.org/sa-core-2020-012

Обновляем Drupal 8 на IIS

Качаем "Download zip". Распаковываем архив:

Обновляем Drupal 8 на IIS

Заходим в папку core и читаем UPDATE.txt:

Обновляем Drupal 8 на IIS

Давно я сюда не заходил.

Обновляем Drupal 8 на IIS

В разделе UPDATING CODE MANUALLY теперь ссылка:

https://www.drupal.org/docs/8/update/update-core-manually

Можно почитать о процедуре обновления.

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

iisreset /stop
Обновляем Drupal 8 на IIS
Перед обновлением делаем резервную копию файлов и базы данных!
Обновляем Drupal 8 на IIS

Из папки с сайтом удаляем папки core и vendor, а также все файлы в корневой директории, кроме web.config и созданных вам файлов.

Обновляем Drupal 8 на IIS

При остановленном IIS файлы удаляются без проблем.

Обновляем Drupal 8 на IIS

Несмотря на то, что в описании обновления сказано об отсутствии изменений в файле web.config, я обычно сравниваю старый и новый файл в Total Commander.

Total Commander - двухпанельный файловый менеджер с богатым функционалом

Сравниваю айлы по содержимому. Изменений не нашёл, поэтому оставляю старый файл web.config, новый мне не понадобится.

Обновляем Drupal 8 на IIS

Из архива с новой версией копируем всё кроме web.config.

Обновляем Drupal 8 на IIS

Копируем в папку с сайтом.

Обновляем Drupal 8 на IIS

Запускаем IIS:

iisreset /start
Обновляем Drupal 8 на IIS

Открываем в браузере путь к update.php. У меня это https://internet.lab/update.php:

Обновляем Drupal 8 на IIS

Продолжить.

Обновляем Drupal 8 на IIS

Ожидаемых обновлений нет. Смотрим отчет о доступных обновлениях:

Обновляем Drupal 8 на IIS

Версия Drupal обновлена.