Обновления ядра drupal в настоящее время не поддерживаются. Обновления ядра Drupal

14.08.2023

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

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

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

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

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

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

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

На заметку

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

Всем привет! Время от времени выходит новая версия Drupal. И тогда встает вопрос обновления системы. В этой статье я подробно расскажу, как обновить Drupal всего за 10 шагов.

К сожалению, в Drupal автоматическое обновление не предусмотрено. Лично меня это неприятно удивило. Как же так можно? Ведь в тех же WordPress и Joomla для этого достаточно нажать пару кнопок, и все проходит без нашего участия. Здесь такого нет. Все придется делать руками.

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

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

1. О появлении новой версии можно узнать из оповещения в панели управления или из письма, отправляемого на email администратора. Чтобы убедиться в этом, зайдите в раздел «Отчеты» — «Доступные обновления».

Нажимаем кнопку «Скачать» слева и загружаем самую свежую (рекомендуемую) версию Drupal.

Еще обратите внимание на то, что включает в себя текущее обновление. Если в списке значится файл settings.php, в котором содержится информация о БД, то его необходимо будет заменить на новый, а потом в ручную отредактировать — внести старые данные о своем сайте (лежит в каталоге /sites/default).

2. Переводим сайт в режим «Технического обслуживания». Сайт будет закрыт для посетителей, что позволит спокойно произвести все дальнейшие операции. Переходим в раздел «Конфигурация» — «Режим обслуживания».

Ставим галочку напротив «Перевести сайт в режим обслуживания» и сохраняем настройки.

4. Заходим на сервер с помощью и удаляем все старые файлы, за исключением папки /sites и некоторых файлов, в которые были внесены изменения в процессе работы. Это прежде всего и файл с картой сайта sitemap.xml .

5. Загружаем на сервер файлы новой версии Drupal. Все, кроме каталога /sites и файлов.htaccess, robots.txt (карта сайта sitemap.xml в стандартную комплектацию Друпал не входит).

Еще раз хочу обратить ваше внимание на файл settings.php из /sites/default. Если он входит в перечень обновлений, то его придется подменить на новую версию в ручную, после этого вписать данные для своего сайта.

7. Открываем на редактирование уже до боли знакомый файл settings.php. Находим в нем строчку:

$update_free_access = FALSE ;

и меняем ее на:

$update_free_access = TRUE ;

Сохраняем внесенные изменения. Теперь можно приступать к работе с базой данных.

8. Заходим по адресу http:/vash_sayt.ru/update.php. Конечно, использовать нужно свое имя домена. Попадаем в программу обновления базы данных Drupal. Здесь все просто.


9. Дабы убедиться в том, что обновление Drupal прошло успешно, переходим в раздел «Отчеты» — «Доступные обновления». Напротив текущей версии должна стоять зеленая галочки и слово «Обновлено».

10. Выводит сайт из режима «Технического обслуживания» — убираем галочку в разделе «Конфигурация» — «Режим обслуживания».

Как видите, обновить Drupal не такой уж и просто. Рекомендую потренироваться на . В первый раз все может пройти не так гладко, как того хотелось бы. Хотя, имея под рукой актуальные резервные копи файлов и БД, боятся нечего.

На этом на сегодня все. Спасибо за внимание! Дальше будет только интереснее!

Получив достаточный опыт обновления ядра Drupal’а (а так же модулей и тем), прошу запомнить одну простую, но очень часто проходящую мимо ушей программистов вещь: всегда делайте резервное копирование ! Если есть возможность сохранять резервную копию как MySQL, так и файловой структуры - пользуйтесь этим по-максимуму. А теперь все по порядку…

Итак, представим следующую ситуацию. У нас есть сайт работающий на Drupal версии 6.22 использующий достаточно популярные модули views, pathauto, transliteration и так далее. Нам необходимо обновить ядро drupal до последней, 7-й версии. Стоит заметить, на момент наших обновлений, уже существует версияDrupal 6.24 , а последняя стабильная версия - Drupal 7.12 .

План действий:

  • Обновить ядро Drupal 6, до самой последней, стабильной версии. Т.е. до Drupal 6.24
  • Обновить все модули до последних версий
  • Подготовить текущую инсталляцию Drupal 6.24 для миграции на новую версию Drupal 7.12 .
  • Установить последние версии используемых модулей для Drupal 7.12.
  • Обновить/переверстать шаблон использовавшийся в Drupal 6 до актуальной версии
  • Подготовить сайт к запуску на обновленной инсталляции
  • Наградить себя пивом

Для наших задач существует прекрасный инструмент под названием drush и если есть доступ к серверу по протоколу SSH - обновление займет считанные минуты, но про этот способ я расскажу в следующей статье.

  1. Скачиваем последнюю, стабильную версию Drupal 6 и свежие версии используемых нами модулей которые нуждаются в обновлении.
  2. Перед обновлением модулей и ядра - делаем бэкап базы данных используя phpMyAdmin. Если есть возможность использовать автоматические «дамперы» - никто же не запрещает, пользуемся!
  3. Переводим сайт в режим технического обслуживания.
  4. Обновляем ядро Drupal, для этого удаляем все файлы из корня нашего сайта кроме папки sites (имеется в виду что все, абсолютно все файлы используемые нашим сайтом (темы, модули, css, изображения и прочее) находятся в папке sites/название домена ). После удаления, закачиваем в корень сайта последнюю версию ядра - Drupal 6.24 . Опять же, кроме папки sites . Логично, она же у нас уже есть. :)
  5. Обновляем все модули до последних версий не забывая обновлять структуру базы данных используя файл update.php .
  6. Если сайт использует темы оформления скачанные с сайта drupal.org - их так же необходимо обновить.
  7. Изменяем тему оформления на одну из стандартных, я рекомендую Garlad.
  8. Отключаем кэширование и чистим кэш.
  9. После обновления всех модулей и тем делаем очередной бэкап нашей базы данных. Этот бэкап - стабильно работающий сайт со всеми обновлениями на текущий момент. При миграции на Drupal 7, этот бэкап считаю самым важным. Едем дальше.
  10. Отключаем все сторонние модули.
  11. Удаляем все языки отличные от английского.
  12. Выходим с учетной записи администратора.
  13. Скачиваем Drupal 7.12
  14. Снова удаляем все файлы кроме папки sites и заливаем в корень Drupal 7.12 (минуя папку sites).
  15. Вышли с учетной записи администратора - нам необходимо разрешить обновление структуры сайта без проверки на роль администратора, для этого вносим необходимы правки в файл settings.php нашего сайта.
  16. Запускаем update.php и обновляем структуру нашей базы данных для Drupal 7.
  17. После процедуры обновления убеждаемся что наш сайт работает без ошибок, если это не так - устраняем их. В любом случае у нас есть бэкап. :)
  18. Опять же, делаем бэкап.
  19. По очереди устанавливаем используемые модулей для Drupal 7 последних версий. После установки каждого модуля обновляем базу данных при помощи update.php.
  20. Переделываем/скачиваем тему оформления под версию Drupal 7.
  21. Подготавливаем сайт к запуску (добавляем русский язык, обновляем переводы для всех модулей и ядра и т.д.).
  22. Снимаем сайт с режима технического обслуживания.

Время от времени, разработчики выпускают новую версию Drupal, в которой исправляют различные ошибки, в том числе и ошибки, связанные с системой безопасности. Поэтому, крайне важно выполнять обновление Drupal.

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

Внимание!!! Прежде чем приступать к обновлению, сделайте бэкап файлов сайта и базы данных, чтобы в дальнейшем избежать лишней головной боли в том случае, если при обновлении что-то пойдет не так. С бэкапа вы всегда сможете полностью восстановить свой сайт.

Обновление Drupal

К сожалению автоматическое обновление не предусмотрено и мы будем выполнять обновление Drupal вручную.

Узнать о наличии новой версии мы можем из оповещения в панели управления, либо же перейдя в «Отчеты» > «Доступные обновления».

Здесь нам предлагают скачать более свежую версию, чтобы это сделать нажимаем на ссылку «Скачать».

И сохраняем к себе на компьютер предложенный файл.

Скачанный архив с обновлением ядра Drupal необходимо разархивировать и скопировать все папки и файлы в корневую директорию сайта. Во время копирования соглашаемся с заменой всех папок и файлов.

С обновлением ядра Drupal мы закончили, теперь внесем необходимые изменения в базу данных. Для этого нужно запустить файл update.php. Чтобы это сделать откройте браузер и допишите к доменному имени: /update.php, у вас должно получиться следующее: http://ваш-сайт.com/update.php.

На открывшейся странице обновления базы данных мы можем временно перевести сайт в режим обслуживания, для этого необходимо нажать на ссылку – maintenance mode (1). Режим обслуживания будет полезен на сайте находящемся на внешнем сервере, у которого есть посетители. Если же вы делаете сайт на локальном сервере, то можете не пользоваться режимом обслуживания и жать кнопку «Continue» (2).

Предположим, что нам нужно перевести сайт в режим обслуживания, и мы перешли по ссылке – maintenance mode. В открывшемся окне ставим галочку напротив – «Перевести сайт в режим обслуживания» и нажимаем кнопку «Сохранить настройки».

Теперь нужно вернуться на страницу обновления базы данных, чтобы это сделать, в строке браузера опять вводим: http://ваш-сайт.com/update.php и в открывшемся окне жмем «Continue».

Применяем ожидающие обновления нажав кнопку «Apply pending updates».

После завершения обновления перед нами появляется страница, уведомляющая о том, что все прошло успешно и без ошибок.

Нам предлагают перейти на главную страницу сайта, либо на страницу администрирования. Поскольку нам нужно перевести сайт из режима обслуживания в рабочий режим, давайте выберем страницу администрирования.

В админ-панели нам сразу же бросается в глаза оповещение, уведомляющее нас о том, что сайт работает в режиме обслуживания. Давайте это исправим. Кликаем по ссылке – Переключиться в рабочий режим.

И попадаем на уже знакомую нам страницу режима обслуживания. Убираем галочку напротив – «Перевести сайт в режим обслуживания» и жмем кнопку «Сохранить настройки».

Давайте убедимся в том, что обновление Drupal прошло успешно. Перейдем в «Отчеты» > «Доступные обновления» и мы видим, что текущая версия Drupal обновлена.

или как обновить систему быстро и своевременно

Вот уже который день подряд на мой E-mail, на тот, что я указал во время установки Drupal, мне приходят сообщения следующего содержания: «Доступно обновление для используемой версии Drupal. В интересах надёжности работы сайта, следует обновить систему как можно скорее. Для установленных на сайте проектов доступны обновления. Рекомендуется как можно скорее установить новые версии. Дополнительную информацию можно найти на странице обновлений. http://ваш-сайт.ru/admin/reports/updates

Выражаются они доходчиво, поэтому не будем с ними спорить. Обновления в друпал бываю разными. Иногда приходится обновлять версии CMS-ки, иногда - модули, темы оформления и другое.

Пойдем посмотрим, чем мы можем помочь нашему сайту.

Обновление Drupal ядра

Моя версия системы требует обновить ядро. Если ваша пока не требует, вернетесь сюда позже.

1. Открываем отчеты и переходим на страницу доступных обновлений:

3. Скачиваем архив на свой компьютер:

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

Только что мы обновили файлы ядра друпал - перезаписали новые поверх старых. На очереди обновление Drupal базы данных . Но так как до этого мы уже устанавливали и включали модули, создавали страницы с текстовым и графическим содержанием, делали другие настройки, наша база данных изменилась. Если мы хотим, чтобы после того, как система окончательно обновится, наш сайт остался таким же, как и был, и чтобы все было в порядке, нужно прежде сделать резервную копию нашей базы данных. Если во время обновления что-то пойдет не так, произойдет какой-то сбой, резервная копия позволит нам восстановить сайт до прежнего состояния.