За то время пока я писал гайды, ядро Drupal было обновлено.
Было бы глупо не добавить ко всем гайдам еще и информацию по обновлению ядра системы. Поэтому если появилась необходимость обновить ядро, а вы не знаете как это делать, то этот гайд для вас.
Итак, появилось новое ядро. Модули обновляются автоматически при помощи встроенных средств и под силу даже ребенку. Ядро не может обновиться самостоятельно, это необходимо делать собственноручно. В этом нет ничего страшного, если подходить к делу с полной серьезностью, особенно если это продакшен.
Что же делать? Обновляться, причем чем скорее после релиза новой версии, тем лучше. Особенно для обновлений с пометкой «Не безопасно!», как на скриншоте выше.
Погнали. Для начала качаем свежую версию друпала. После этого делаем следующие действия:
- Делаем ПОЛНЫЙ backup (резервную копию) вашего сайта. Это включает всю директорию сайта + база данных.
- На сайте заходим «Конфигурация > Режим обслуживания». Ставим галочку «Перевести сайт в режим обслуживания» и сохраняем настройки.
- Заходим в каталог сайта и удаляем все файлы и папки, за исключением: папки sites, файлов .htaccess и robots.txt
ВНИМАНИЕ! Если вы используете дистрибутив (например Drupalife Store, Commerce Kickstart и подобные), папку profiles удалять нельзя. В таком случае надо произвести просто копирование с заменой на более новые файлы.
- Извлекаем из архива (новая версия скачанная с офф сайта) все кроме папки sites, а также файлов .htaccess и robots.txt
- Заходим по адресу site/**update.php **и жмем continue на всех шагах.
- Когда появится сообщение, что все обновлено. Можете заходить на главную сайта и проверять его. Если все работает корректно, включите сайт обратно (пункт 2).
Теперь ядро будет самой последней версии.
Вот такими простыми шестью шагами можно обновить версию друпала.
На заметку
- Удалите и всегда удаляйте файлы из корня сайта: CHANGELOG.txt, COPYRIGHT.txt, INSTALL.txt, LICENSE.txt, MAINTAINERS.txt, README.txt — это самая первая дыра в безопасности сайта. На основе данных файлов можно определить версию системы, соответственно зная версию и её дыры, будет очень легко взломать сайт.
- Всегда обновляйте ядро. Да, лень, муторно, но безопасность превыше всего.
- Ничего не храните в ядре. Именно поэтому мы удалили все кроме папки sites и двух файлов. Те два файла могут быть у каждого свои, они не меняются из версии в версию, а у сайтов они подвергаются изменениям. Случайно заменив их, может всплыть проблема. Папку sites мы не трогали, так как в ней также не происходит абсолютно никаких изменений. Эта папка — хранилище файлов системы, ничего важного для обновления там нет. Все остальные папки и файлы могут быть подвержены обновлению. Я уже писал — ни в коем случае не трогайте файл и папки ядра. Все что надо храните в sites. И не редактируйте код ядра, для этого есть Drupal API.
- Если вы выключили по каким-то причинам модуль updates, то вы не узнаете о том что вышла новая версия ядра на своем сайте. В таком случае проверяйте наличие обновлений вручную.
- И самый банальный совет — не делайте апдейт без бэкапов.
Спасибо, камрад! Недавно с Друпалом работаю, потому очень помогло!
http://womens-blog.ru Catch the bear before you sell his skin. Прежде поймай медведя http://geogoroda.ru а потом продавай его шкуру. Ср. Не убив медведя http://radio-rynok.ru шкуры не продавай. Не дели шкуру неубитого медведя. http://chukigek.com
http://www.newera.pro Как ни хитри http://krossovery.info языком хвост не достанешь http://o-cemente.info не корова. http://forexfond.ru
В статье нет упоминания про сохранение используемой темы...
Используемая тема не может быть никак задета обновлением ядра.
Никита помоги, делал обновление ядра, что то не так получилось и в итоге сайт отображается нормально, но когда заходишь в админку пишешь логин и пароль, и когда заходишь то полностью белый экран!!! что делать?
Вроде сделала все, как написано.
Но на этапе 5 застряла.
(Заходим по адресу site/update.php и жмем continue на всех шагах.)
При попытке зайти по указанному адресу не происходит ровным счетом ничего - белая страница. Что делать? Как это исправить?
Помогите, пожалуйста!
при входе на /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.
Как быть с установленными модулями? Не логичнее разве накатить на новую систему все установленные на сайте модуля и только потом заменять основные папки, ведь папка MODULES чистого релиза не имеет тех модулей как мой сайт?
Отличный гайд! Как шпаргалка очень быстро выручает...
Никита, поправь картинки
Спасибо , братец !
Очень помог!
Здравствуйте.
Для drupal 8 подойдет эта инструкция?
У 8-ки немного другая структура, так что нет. Там надо обновлять /core папку остальное не трогать.
Обновил все..
Теперь сайт не открывается, а показывает ошибку:
"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"
Не могу понять что он хочет и как поправить всё? :(
Картинки слетели, обнови плиз)
Сделай, пожалуйста, темнее, плохо видно текст
Здравствуйте! Очень полезная статья, до сих пор использую как напоминание для себя, только к сожалению у вас побились картинки в статье.
Я бы еще удалил UPGRADE.txt
Спасибо!
Добрый день.
Подскажите, данная инструкция подходит и для случая с мультисайтингом?
Обновление ядра не прошло, написало ошибку "Невозможно создать файл." Ошибка решилась созданием папки "tmp" с правами 777 в корне сайта после копирования нового ядра перед обновлением
На линуксе лучше указывать папку не "tmp" (которая будет пытаться создаться и использоваться в корне сайта), а "/tmp", которая будет системной. Это во-первых, безопаснее, во-вторых, если используются VCS, не попадет туда, в-третьих, это просто правильнее держать temporary файлы за пределами ядра.
Подскажите пожалуйста как быть.
сделал все по инструкции. но после замены файлов получил
Not Found
The requested URL / was not found on this server.
Apache/2.2.22 (@RELEASE@) Server at site Port 80
как быть???
а какой именно урл не находит? Может "clean URLs"-ы сбились или был удален файл .htaccess в папке с друпалом. Это скрытый файл. Советую скачать архив с друпалом и перетянуть .htaccess файл себе в папку, где лежит index.php.
Здраствуйте! Как с бекапа взять вытунять нужные файлы?
Заказчик давно не обновлял сайт. Что сперва порекомендуете сделать обновить ядро или модули?
Делать бэкап всего, и drush up. Если не прошло, то начать с ядра.
Скажите, пожалуйста, такая проблема:
сайт был взломан, обнаружили только когда появилось куча php-файлов с вредоносним кодом и размер базы начал увеличиваться на гигабайти за считанные часы.
была версия 7.39, обновили. Что нашли по коду - удалили.
Как почистить базу? И сайт - может что пропустили - как найти это все что было добавлено/изменено? Сам сайт визуально работает нормально как и работал - так и не скажеш что взломали((
Как быть с ошибкой ?
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.
Версия друп 6,27 как хоть до 7 обновить ?
Это разные мажорные версии. Такие версии обновляются в ручном режиме.
Читайте материалы по апдейту: на английском, на русском надо погуглить, не встречал.
Как по мне, на 8-ку должно быть легче переехать нежели на 7-ку. 8-ка на уровне ядра и миграций может часть хлопот взять на себя.
Спасибо за гайд! В раздел "На заметку" в 1-й пункт можно еще добавить файл UPGRADE.txt
Автору респект и просто огромнейшее спасибо!
Сейчас у меня эта страница в закладках даже, чтоб если что забыл всегда шпаргалка под рукой! ) А обновлять приходится несколько сайтов каждый раз.
Но вот есть загвоздка, может кто подскажет?
Среди моих сайтов есть один про хостинг, когда все другие более менее имеют посещаемость и интересны людям, то этот уже почти 2 года только роботы видимо посещают. Может кто подскажет в чем проблема?