Обновлять 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, нажмите "Reports" (Отчеты), затем "Available updates" (Доступные обновления). Если проверка обновлений производилась давненько, нажмите ссылку Check manually (Проверить вручную).
На странице "Available updates" (Доступные обновления) будут показаны обновления, которые доступны для модулей и ядра системы. Ядро системы необходимо скачать отдельно, установить его непосрдственно из административной консоли нельзя.
Для того, чтоб у пользователей вашего сайта не возникло проблем, следует перевести сайт в режим обслуживания
Для того, чтоб создать резервную, имеется множество способов, например воспользоваться инструмекнтарием, предоставляемым вашим хостинг провайдером, с помощью модуля Backup and Migrate , или руками. Главное, чтоб вы сделали резервную копию как базы данных, так и файлов сайта.
После выгрузки, обновите страничку "Доступные обновления" ("Available updates") . Версия сайта должна стать актуальной (зеленой вместо красной).
Откройте страничку "Modules" ("Модули") и в строке "Always run the update script each time a module is updated" нажмите ссылку update script . Отктроется мастер обновления базы данных.
Overview - Нажмите "Continue".
$ drush vset --yes maintenance_mode 0;
Вот и все. Как видите, использование Drush существенно сократило работу. Всего пару команд и все готово. Так что, если есть возможность, обязательно используйте Drush и не только при обновлении Drupal.
Рассатривается обновление Drupal сайта между минорными версиями и патчами, например с 8.1.2 до 8.1.3, или с 8.3.5 до 8.4.0.
Прежде всего сделайте полную резервную копию всех файлов и каталогов сайта, базы данных (MySQL) до обновления и сохраните её за пределами установочной директории Drupal.
Рекомендуется пробовать обновление на тестовой копию вашего сайта. Даже незначительные обновления могут вызывать поведение для изменения. В большей степени это относится к плагинам, например может перестать работать выпадающее меню или wysiwyg редактор.
Под учетной записью администратора переведите сайт в режим обслуживания (Конфигурация -> Разработка -> Режим обслуживания).
Скачайте с сервера drupal.org архив актуальной версию Drupal 8.
Удалите все папки и файлы, за исключением папок:
Отдельно сохраните файлы:
Распакуйте архив с новой версии Drupal 8 в корневую папку вашего веб-сайта.
Запустите скрипт update.php обновления Drupal. Для этого зайдите по адресу http://
Если нет доступа, к скрипту update.php , выполните следующую инструкцию:
Откройте файл settings.php в текстовом редакторе.
Найдите строчку:
$settings["update_free_access"] = FALSE;
Замените на:
$settings["update_free_access"] = TRUE;
После обновления обязательно верните в первоначальное состояние FALSE ;
Проверьте отчёт о состоянии (Администрирование -> Отчеты -> Отчет о состоянии). Убедитесь, что все работает должным образом.
Убедитесь, что вы присвоили параметру $settings["update_free_access"] значение FALSE в файле settings.php .
Если обновление прошло удачно, то переведите сайт в режим «Рабочего состояния».
Если файлы robots.txt , .htaccess и composer.json модифицировались, то не забудьте добавить нужные строки в обновленные файлы.
Удалите файлы по которым можно определить версию системы.
Зная эти данные, злоумышленнику проще взломать сайт.
Для CMS – Drupal регулярно выходят новые версии (обновления) в которых вносится изменения по усовершенствованию CMS, исправление ошибок/уязвимостей и доработки по безопасности.
Как узнать о выходе обновления для ядра вашего сайта?
если вы являетесь администратором сайта на CMS – Drupal вы можете настроить уведомления с сайта на ваш Е-mail о доступных обновлениях или проверить самостоятельно посетив раздел: Отчёты > Отчёт о состоянии (ваш_сайт/admin/reports/status)
Итак, мы видим, что появилось новое ядро. Что же делать? Обновляться, причем чем скорее, тем лучше. Особенно для обновлений с пометкой «Не безопасно!», как на скрине выше.
В отличии от модулей ядро Drupal не может обновиться самостоятельно или автоматически, это придется делать собственноручно. В этом нет ничего сложного.
Для начала качаем свежую версию Drupal . Затем выполняем следующие действия:
ВНИМАНИЕ! Если вы используете дистрибутив (например Drupalife Store, Commerce Kickstart и подобные), папку profiles удалять нельзя . Эту папку мы перезапишем с заменой на более новые файлы.
Перейдите в раздел Отчёт о состоянии и убедитесь что ядро теперь самой последней версии.
Вот такими простыми шестью шагами можно обновить версию друпала.
Наша Команда техподдержки рада представить Вам туториал, который покажет, как обновить движок Drupal :
Используйте ваш FTP или Файловый менеджер панели управления вашего сервера (Hosting cPanel Filemanager) для того, чтобы открыть корневую папку вашего сайта (public_html , www и т. д.). Создайте там папку «drupal_new» . Если ваш сайт расположен в папке под названием drupal , у Вас будет две папки с одинаковым размещением: drupal — папка текущего размещения вашего сайта и drupal_new , которая является пока что пустой:
Загрузите архив последней версии движка Drupal в эту папку и разархивируйте его (extract it), если Вы используете панель управления сервера (Hosting Cpanel ). В противном случае, Вы можете загрузить файл для разархивации (unzipper file) через FTP :
Скопируйте файл .htacess и папку «site» из папки вашого текущего сайта в новую папку, разрешив перезаписывание файлов.
Перейдите в папку drupal_new/sites/default и найдите файл settings.php в ней. Откройте его для редактирования:
Найдите следующую строку кода:
$update_free_access=FALSE;
и замените её на:
$update_free_access=TRUE;
чтобы разрешить доступ к срипту обновления. Сохраните сделанные изменения:
Откройте ваш браузер и введите http ://yourwebsiteurl/drupal_new/update .php в адресную строку:
Нажмите на кнопку Продолжить (Continue), если Вы уже сделали резервную копию вашего сайта. Вы можете ознакомиться с детальным руководством к тому, как создать резервную копию вашего сайта:
Нажмите на кнопку Применить ожидающие обновления (Apply pending updates):
Вернитесь к drupal_new —> sites —> default , для того чтобы вновь внести изменения в файл settings.php . Измените TRUE назад на FALSE , так же, как Вы это сделали в шаге 6.
Откройте http ://yourwebsiteurl/drupal_new/ в браузере, для того чтобы удедиться, что ваш сайт работает корректно.
Если сайт отображается должным образом, воспользуйтесь вашим FTP или панелью управления хостинга (Cpanel ) и переименуйте текущую папку расмещения сайта с drupal на drupal_old , а drupal_new на drupal .
Прогресс не стоит на месте, всё движется вперед – не исключением является и развитие всеми нашего любимого Drupal. Возникают такие ситуации, когда после сдачи сайта в эксплуатацию заказчику, через некоторое время на странице отчётов появляются вот такие сообщения
Что порой приводит к недоумению заказчиков. А это сообщение как раз и говорит о том, что разработчики Drupal не спят, и постепенно совершенствуют свою платформу и сейчас пришло время как раз обновиться. В каждой новой версии разработчики исправляют различные баги функционала, так же и баги которые касаются системы безопасности. Как обновить Drupal на более свежую версию я сейчас вам расскажу. В принципе задача довольно простая, первое что нам необходимо сделать это скачать обновлённую версию Drupal, ссылка на скачивание даётся также в окне сообщения
Так же рекомендую вам перед обновление создать Бэкап базы и самого сайта. Бэкап базы можно сделать из phpMyAdmin, если хостер предоставляет вам такую возможность – хотя наверняка у любого хостера есть свои инструменты для бекапа. Бекап сайта сделать так же можно самостоятельно, скачав весь ваш сайт себе на компьюте, а имено всю папку с названием вашего сайта или опять же на стороне хостера так же имеются инструменты для таких работ.
Теперь, что бы не было не предвиденных сбоев при обновлении рекомендуется перевести сайта режим обслуживания. Для этого переходим по пути «Конфигурация->Разработка->Режим обслуживания»
Далее открывается страница, на которой нам необходимо поставить галочку напротив пункта «перевести сайт в режим обслуживания», а так же имеется возможность написать свой текст для посетителей сайта, на тот момент пока он будет не доступен
После перевода сайта в режим обслуживания, у нас будет висеть вот такое сообщение, которое не даст нам забыть перевести сайт обратно, после обновления
Теперь приступаем к обновлению. У нас имеется обновленная версия Drupal, которая находится в архиве. Извлекаем из архива что бы осталась только папка с необходимыми нам файлами. Теперь нам всего лишь нужно заменить файлы на нашем сервере на файлы из этой папки, поэтому просто копируем содержимое этой папки в папку на нашем сервере, при этом соглашаясь на замену
После копирования и замены файлов нам необходимо запустить процесс обновления, для этого в адресной строке пишем вот такой URL
Название вашего сайта/update.php
Где перед нами откроется страница обновления базы данных. Где нам по шагам расписано, что необходимо сделать для начала процесса обновления. Мы это с вами уже сделали.
Поэтому жмём «продолжить». Теперь открывается страница, с сообщением что ядро Drupal обновлено из вне, и есть ещё 3 модуля которые ждут процесса обновления. Количество модулей для обновления у вас может отличаться от моих.
После завершения обновления, у вас будет вот такая страница.
Она говорит о том, что при обновлении ошибок не было выявлено. Если вылезут ошибки, то они будут показаны ниже. В нашем случае всё прошло успешно. Теперь нам предлагают перейти на страницу администрирования или на главную. Для нас лучшим вариантом будет переход на страницу администрирования, так как теперь необходимо перевести сайт в рабочий режим.
Кликаем по ссылке «Переключиться в рабочий режим» и снимаем галочку напротив «Перевести сайт в режим обслуживания» и сохраняем настройки. Теперь перейдём в «Отчёты->Доступные обновления» и видим, что версия Drupal у нас обновлена
На этом обновление ядра Drupal закончено.