Drupal: Обновление ядра до последней версии

Обновлять Drupal до последней версии крайне необходимо, так как обновления содержат исправления ошибок, в том числе и таких, которые позволяют обойти защиту сайта. В данной статье будет рассмотрен вопрос как обновить Drupal 7 с одной минорной версии к другой (например с 7.0 на 7.2 или 7.2 до 7.4. и так далее). Обновление основных (мажорных) версий, таких как с 5 на 6 или с 6 на 7  версию - гораздо более обширный вопрос и рассматриваться не будет.

Перед обновлением, выработайте в себе привычку смотреть заметки к релизу, где вы можете получить исчерпывающую информацию о том какие изменения были сделаны. Также, там вы можете увидеть вносились-ли какие-либо изменения в файлы .htaccess, web.config, robots.txt, или default settings.php.

Прежде чем начинать процесс обновления, запомните основную вещь:

Обязательно делайте резервную копию всего сайта, то есть файлов и базы данных!

Это позволит вам в случае возникновения каких-либо непредвиденных обстоятельств, в кратчайшие сроки вернуть работоспособность сайту, с дальнейшим поиском причин уже на тестовой инсталляции Drupal.

Для того, чтоб обновить Drupal есть два пути.

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

Я, конечно же рекомендовал-бы вам использовать второй способ, но выбор всегда остается за вами.

Обновление Drupal через браузер, файловый менеджер и архиватор

Шаг 1: Проверка доступных обновлений

tutuploadsmedia_1309637650420.png

Для начала, для обновления Drupal, нажмите "Reports" (Отчеты), затем  "Available updates" (Доступные обновления). Если проверка обновлений производилась давненько, нажмите ссылку Check manually (Проверить вручную).

На странице "Available updates" (Доступные обновления) будут показаны обновления, которые доступны для модулей и ядра системы. Ядро системы необходимо скачать отдельно, установить его непосрдственно из административной консоли нельзя.

Шаг 2: Загрузка файлов обновления

Система покажет ссылку для загрузки последней версии Drupal. Перейдите по ней, загрузите во временную директорию архив.

Шаг 3. Переведите сайт Drupal в режим обслуживания

Для того, чтоб у пользователей вашего сайта не возникло проблем, следует перевести сайт в режим обслуживания

  • Откройте меню Конфигурация, или ссылку admin/config/development/maintenance
  • В разделе разработка откройте ссылку Режим обслуживания.
  • Установите чекбокс Перевести сайт в режим обслуживания
  • Измените, если это критично, Сообщение о режиме обслуживания и нажмите кнопку Сохранить настройки

Шаг 4: Создайте резервную копию

Для того, чтоб создать резервную, имеется множество способов, например воспользоваться инструмекнтарием, предоставляемым вашим хостинг провайдером, с помощью модуля Backup and Migrate, или руками. Главное, чтоб вы сделали резервную копию как базы данных, так и файлов сайта.

Шаг 5: Обновите файлы ядра Drupal

  • Перед выгрузкой файлов, в корневой папке вашего сайта удалите все содержимое, кроме директории sites (еще раз напоминаю про резервную копию).
  • Разархивируйте только что скачанный архив
  • Скопируйте распакованное содержимое, за исключением директории sites, в корневую директорию сайта (напоминаю про директорию sites).
    Обратите внимание: Удалять директорию sites не обязательно, но ее копирование может привести к потере данных, созданных в ходе работы с сайтом. Убедитесь, что существующая на сервере директория sites осталась без изменений.

После выгрузки, обновите страничку "Доступные обновления" ("Available updates") . Версия сайта должна стать актуальной (зеленой вместо красной).

Шаг 6: Запустите менеджер обновления

Откройте страничку "Modules" ("Модули") и в строке "Always run the update script each time a module is updated" нажмите ссылку update script. Отктроется мастер обновления базы данных.

Overview - Нажмите "Continue".
Review updates - Нажмите "Apply pending updates".
В конце должна отобразиться страница, сообщающая что обновление прошло успешно и без ошибок.
Нажмите ссылку "Administration pages" затем "Configuration" затем "Maintenance mode", для того, чтоб вывести сайт из режима обслуживания.
Ну вот и все, в конце вы должны получить а

Обновление Drupal используя Drush

Шаг 1. Перевод сайта в режим обслуживания

$ drush vset --yes maintenance_mode 1;

Установка сообщения о режиме обслуживания

$ drush variable-set --yes maintenance_mode_message "This site is being maintained"

После внесения изменений, для того, чтоб они вступили в силу, следует очистить кэш.

$ drush cc all

Шаг 2. Создайте резервную копию сайта

$ drush ard

Шаг 3. Обновите сайт

$ drush up

Шаг 4. Переведите сайт назад в рабочий режим

$ drush vset --yes maintenance_mode 0;

$ drush cc all

 

Вот и все. Как видите, использование Drush существенно сократило работу. Всего пару команд и все готово. Так что, если есть возможность, обязательно используйте Drush и не только при обновлении Drupal.

Тэги: 

There are 3 Comments

Проблемка

Сделал, все по инструкции шло тоже все один в один. Дошел до этого пункта "В конце должна отобразиться страница, сообщающая что обновление прошло успешно и без ошибок.
Нажимаем ссылку "Administration pages" " Перешел по ссылке попал на сайт при нажатии на главную выходит такая ошибка (Fatal error: Call to undefined function entity_view_mode_prepare() in Z:\сайт\modules\node\node.module on line 1400) Инфу найти не могу. Что пошло не так?

Проверьте обновился-ли файл includes/common.inc

Данная функция добавлена в обновлении 7.33, проверьте, есть-ли она в файле includes/common.inc. По всей видимости, этот файл не обновился, в следствие чего система и ругается. Перезалейте его на сервер повторно.

Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

Спасибо

Спасибо!

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <s> <u> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <hr> <dd> <sub> <sup>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Защита от СПАМ ботов. Подтвердите, пожалуйста, что вы человек.
1 + 17 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.