Drupal 7 для начинающих: Обновления ядра Drupal.

За то время пока я писал гайды, ядро Drupal было обновлено.

Было бы глупо не добавить ко всем гайдам еще и информацию по обновлению ядра системы. Поэтому если появилась необходимость обновить ядро, а вы не знаете как это делать, то этот гайд для вас.

Итак, появилось новое ядро. Модули обновляются автоматически при помощи встроенных средств и под силу даже ребенку. Ядро не может обновиться самостоятельно, это необходимо делать собственноручно. В этом нет ничего страшного, если подходить к делу с полной серьезностью, особенно если это продакшен.

Что же делать? Обновляться, причем чем скорее после релиза новой версии, тем лучше. Особенно для обновлений с пометкой «Не безопасно!», как на скриншоте выше.

Погнали. Для начала качаем свежую версию друпала. После этого делаем следующие действия:

  1. Делаем ПОЛНЫЙ backup (резервную копию) вашего сайта. Это включает всю директорию сайта + база данных.
  2. На сайте заходим «Конфигурация > Режим обслуживания». Ставим галочку «Перевести сайт в режим обслуживания» и сохраняем настройки.
  3. Заходим в каталог сайта и удаляем все файлы и папки, за исключением: папки sites, файлов .htaccess и robots.txt
    ВНИМАНИЕ! Если вы используете дистрибутив (например Drupalife Store, Commerce Kickstart и подобные), папку profiles удалять нельзя. В таком случае надо произвести просто копирование с заменой на более новые файлы.
    Что удаляем
  4. Извлекаем из архива (новая версия скачанная с офф сайта) все кроме папки sites, а также файлов .htaccess и robots.txt
  5. Заходим по адресу site/**update.php **и жмем continue на всех шагах.
  6. Когда появится сообщение что все обновлено. Можете заходить на главную сайта и проверять его. Если все работает корректно, включите сайт обратно (пункт 2).

Теперь ядро будет самой последней версии.

Вот такими простыми шестью шагами можно обновить версию друпала.

На заметку

  1. Удалите и всегда удаляйте файлы из корня сайта: CHANGELOG.txt, COPYRIGHT.txt, INSTALL.txt, LICENSE.txt, MAINTAINERS.txt, README.txt — это самая первая дыра в безопасности сайта. На основе данных файлов можно определить версию системы, соответственно зная версию и её дыры, будет очень легко взломать сайт.
  2. Всегда обновляйте ядро. Да, лень, муторно, но безопасность превыше всего.
  3. Ничего не храните в ядре. Именно поэтому мы удалили все кроме папки sites и двух файлов. Те два файла могут быть у каждого свои, они не меняются из версии в версию, а у сайтов они подвергаются изменениям. Случайно заменив их, может всплыть проблема. Папку sites мы не трогали, так как в ней также не происходит абсолютно никаких изменений. Эта папка — хранилище файлов системы, ничего важного для обновления там нет. Все остальные папки и файлы могут быть подвержены обновлению. Я уже писал — ни в коем случае не трогайте файл и папки ядра. Все что надо храните в sites. И не редактируйте код ядра, для этого есть Drupal API.
  4. Если вы выключили по каким-то причинам модуль updates, то вы не узнаете о том что вышла новая версия ядра на своем сайте. В таком случае проверяйте наличие обновлений вручную.
  5. И самый банальный совет — не делайте апдейт без бэкапов.

Оставайся на связи

Будь всегда в курсе новых материалов! Подписывайся на каналы\паблики\рассылки чтобы получать оперативные оповещения.

DrupalCamp Краснодар 2017

DrupalCamp — важная часть жизни Друпал-сообщества, способствующая его сплочению, привлекающая внимание IT-сообщества к Друпалу и общества в целом к разработке приложений и сайтов, а также к смежным сферам.

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

Интересно будет всем, ждем вас 16 декабря в Краснодаре!

Официальный сайт мероприятия

Комментарии

I
Igor 19.05.2015 - 11:05

Спасибо, камрад! Недавно с Друпалом работаю, потому очень помогло!

s
son777 05.06.2015 - 13:06

В статье нет упоминания про сохранение используемой темы...

Z
ZUBGAR 30.06.2015 - 18:06

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

И
Ирина 06.07.2015 - 16:07

Вроде сделала все, как написано.
Но на этапе 5 застряла.
(Заходим по адресу site/update.php и жмем continue на всех шагах.)
При попытке зайти по указанному адресу не происходит ровным счетом ничего - белая страница. Что делать? Как это исправить?

M
Mary 09.08.2015 - 23:08

Помогите, пожалуйста!
при входе на /update.php выдает: You need to enable the PDO_AHMYSQLDSEVEN database driver for PHP 5.2.4 or higher so that Drupal 7 can access the database.

А
Андрей 27.08.2015 - 15:08

Как быть с установленными модулями? Не логичнее разве накатить на новую систему все установленные на сайте модуля и только потом заменять основные папки, ведь папка MODULES чистого релиза не имеет тех модулей как мой сайт?

H
Hummel 23.09.2015 - 14:09

Отличный гайд! Как шпаргалка очень быстро выручает...

Г
Гость 13.10.2015 - 22:10

Никита, поправь картинки

Ю
Юрий 15.12.2015 - 17:12

Спасибо , братец !
Очень помог!

И
Игорь 12.03.2016 - 08:03

Здравствуйте.
Для drupal 8 подойдет эта инструкция?

Ответ на от Игорь (не проверено)

N
Niklan 12.03.2016 - 11:03

У 8-ки немного другая структура, так что нет. Там надо обновлять /core папку остальное не трогать.

С
Сергей 22.03.2016 - 00:03

Обновил все..
Теперь сайт не открывается, а показывает ошибку:
"Fatal error: require_once(): Failed opening required '/home/..../...../docs/includes/actions.inc' (include_path='.:/home/..../.../php') in /home/...../..../docs/includes/common.inc on line 5215"

Не могу понять что он хочет и как поправить всё? :(

S
Sergey 21.04.2016 - 23:04

Картинки слетели, обнови плиз)

Р
Роман 22.06.2016 - 10:06

Сделай, пожалуйста, темнее, плохо видно текст

А
Алексей 08.07.2016 - 22:07

Здравствуйте! Очень полезная статья, до сих пор использую как напоминание для себя, только к сожалению у вас побились картинки в статье.

Ф
ФаргатЪ 05.10.2016 - 16:10 www

Я бы еще удалил UPGRADE.txt

А
Артем 06.02.2017 - 14:02

Добрый день. Подскажите, данная инструкция подходит и для случая с мультисайтингом?

А
Артем 08.06.2017 - 08:06

Обновление ядра не прошло, написало ошибку "Невозможно создать файл." Ошибка решилась созданием папки "tmp" с правами 777 в корне сайта после копирования нового ядра перед обновлением

Ответ на от Артем (не проверено)

N
Niklan 08.06.2017 - 09:06

На линуксе лучше указывать папку не "tmp" (которая будет пытаться создаться и использоваться в корне сайта), а "/tmp", которая будет системной. Это во-первых, безопаснее, во-вторых, если используются VCS, не попадет туда, в-третьих, это просто правильнее держать temporary файлы за пределами ядра.

Д
Дмитрий 10.10.2017 - 09:10

Подскажите пожалуйста как быть. сделал все по инструкции. но после замены файлов получил
Not Found

The requested URL / was not found on this server.

Apache/2.2.22 (@RELEASE@) Server at site Port 80

как быть???

Ответ на от Дмитрий (не проверено)

N
Nikita 10.10.2017 - 15:10

а какой именно урл не находит? Может "clean URLs"-ы сбились или был удален файл .htaccess в папке с друпалом. Это скрытый файл. Советую скачать архив с друпалом и перетянуть .htaccess файл себе в папку, где лежит index.php.

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

Содержимое данного поля является приватным и не предназначено для показа.