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. И самый банальный совет — не делайте апдейт без бэкапов.

Комментарии

ZUBGAR
вт, 30/06/2015 - 18:50

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

Ирина
пн, 06/07/2015 - 16:13

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

Mary
вс, 09/08/2015 - 23:05

Помогите, пожалуйста!
при входе на /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:05

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

Niklan
сб, 12/03/2016 - 11:00

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

Сергей
вт, 22/03/2016 - 00:46

Обновил все..
Теперь сайт не открывается, а показывает ошибку:
"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"

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

Алексей
пт, 08/07/2016 - 22:27

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

Артем
пн, 06/02/2017 - 14:43

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

Артем
чт, 08/06/2017 - 08:40

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

Niklan
чт, 08/06/2017 - 09:32

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

Дмитрий
вт, 10/10/2017 - 09:50

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

The requested URL / was not found on this server.

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

как быть???

Nikita
вт, 10/10/2017 - 15:11

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

Mary
вт, 02/10/2018 - 13:01

Скажите, пожалуйста, такая проблема:
сайт был взломан, обнаружили только когда появилось куча php-файлов с вредоносним кодом и размер базы начал увеличиваться на гигабайти за считанные часы.
была версия 7.39, обновили. Что нашли по коду - удалили.
Как почистить базу? И сайт - может что пропустили - как найти это все что было добавлено/изменено? Сам сайт визуально работает нормально как и работал - так и не скажеш что взломали((

вася
ср, 14/11/2018 - 15:40

Как быть с ошибкой ?

Drupal database update
strict warning: Non-static method view::load_views() should not be called statically in /var/www/speedway/data/www/mymoney.tk/sites/default/modules/views/views.module on line 864.
strict warning: Non-static method view::db_objects() should not be called statically in /var/www/speedway/data/www/mymoney.tk/sites/default/modules/views/includes/view.inc on line 1417.

Niklan
чт, 15/11/2018 - 11:35

Это разные мажорные версии. Такие версии обновляются в ручном режиме.

Читайте материалы по апдейту: на английском, на русском надо погуглить, не встречал.

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

Станислав
Домашняя страница пн, 21/09/2020 - 17:52

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

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

Поддерживается Markdown
Поделиться
Обсудить с AI
Прочитай эту страницу: https://niklan.net/blog/drupal-7-beginners-updating-drupal-core?_format=llms и ответь на вопросы по её содержимому.
Просмотреть как Markdown
Содержание