Обновление drupal 7. На очереди обновление Drupal

Обновлять 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 через браузер, файловый менеджер и архиватор

Шаг 1: Проверка доступных обновлений

Для начала, для обновления Drupal, нажмите "Reports" (Отчеты), затем "Available updates" (Доступные обновления). Если проверка обновлений производилась давненько, нажмите ссылку Check manually (Проверить вручную).

На странице "Available updates" (Доступные обновления) будут показаны обновления, которые доступны для модулей и ядра системы. Ядро системы необходимо скачать отдельно, установить его непосрдственно из административной консоли нельзя.

Шаг 2: Загрузка файлов обновления

Шаг 3. Переведите сайт Drupal в режим обслуживания

Для того, чтоб у пользователей вашего сайта не возникло проблем, следует перевести сайт в режим обслуживания

  • Откройте меню Конфигурация , или ссылку admin/config/development/maintenance
  • В разделе разработка откройте ссылку Режим обслуживания .
  • Установите чекбокс Перевести сайт в режим обслуживания
  • Измените, если это критично, Сообщение о режиме обслуживания и нажмите кнопку Сохранить настройки

Шаг 4: Создайте резервную копию

Для того, чтоб создать резервную, имеется множество способов, например воспользоваться инструмекнтарием, предоставляемым вашим хостинг провайдером, с помощью модуля Backup and Migrate , или руками. Главное, чтоб вы сделали резервную копию как базы данных, так и файлов сайта.

Шаг 5: Обновите файлы ядра Drupal

  • Перед выгрузкой файлов, в корневой папке вашего сайта удалите все содержимое, кроме директории sites (еще раз напоминаю про резервную копию).
  • Разархивируйте только что скачанный архив
  • Скопируйте распакованное содержимое, за исключением директории sites , в корневую директорию сайта (напоминаю про директорию sites ).
    Обратите внимание : Удалять директорию sites не обязательно, но ее копирование может привести к потере данных, созданных в ходе работы с сайтом. Убедитесь, что существующая на сервере директория sites осталась без изменений.

После выгрузки, обновите страничку "Доступные обновления" ("Available updates") . Версия сайта должна стать актуальной (зеленой вместо красной).

Шаг 6: Запустите менеджер обновления

Откройте страничку "Modules" ("Модули") и в строке "Always run the update script each time a module is updated" нажмите ссылку update script . Отктроется мастер обновления базы данных.

Overview - Нажмите "Continue".

Шаг 4. Переведите сайт назад в рабочий режим

$ drush vset --yes maintenance_mode 0;

Вот и все. Как видите, использование Drush существенно сократило работу. Всего пару команд и все готово. Так что, если есть возможность, обязательно используйте Drush и не только при обновлении Drupal.

Перед обновлением сделайте резервную копию файлов и базы данных

Обновление между основными версиями

5.x и 6.x (перед обновлением до версии 6.x обновите Друпал до последней версии в ветке 5.x, а также, обновите до последних версий все дополнительные проекты).

Проверьте наличие нужных проектов для ветки 6.x. Если какие-то проекты для новой ветки не готовы, то вы можете принять решение отложить обновление.

  1. Перейдите на страницу «Управление - Конфигурация - Обслуживание» и переведите сайт в режим обслуживания
  2. Перейдите на страницу «Управление - Строение сайта - Темы» и выберите тему Garland
  3. Перейдите на страницу «Управление - Строение сайта - Модули» и выключите все дополнительные модули. Если вы знаете, что какие-то из текущих модулей вам не будут нужны в новой версии и их данные вам не нужны, то удалите их через вкладку «Удаление», а потом удалите их файлы. Файлы остальных модулей оставьте на месте
  4. Удалите файл sites / default / default.settings.php
  5. Убедитесь, что файл sites / default / settings.php доступен для записи (в процессе обновления он будет преобразован в формат 6.x)
  6. Удалите папки дополнительных проектов для версии 6.x и скопируйте на их место версии проектов для версии 7.x (прочтите файл UPGRADE.txt каждого проекта)
  7. Перейдите на страницу «Управление - Строение сайта - Модули» и включите один дополнительный модуль
  8. Запустите скрипт update.php перейдя на URL example.com / update.php. Это действие обновит таблицы этого дополнительного модуля в базе данных
  9. Сделайте резервную копию файлов и базы данных после того, как скрипт update.php завершит работу

Затем включите следующий модуль и если обновление пройдёт успешно, то сделайте резервную копию ещё раз. Повторяйте это между обновлением каждого модуля, чтобы при возникновении проблемы иметь возможность вернуться к последнему обновлению. Если при запуске скрипта update.php произойдёт ошибка обновления, то восстановите предыдущее состояние сайта, сохраните сообщение об ошибке и попросите помощи на форуме. Не продолжайте обновление до решения проблемы, пропуская сообщения с ошибками.

Если есть версия темы для Друпала 6.x, то включите её.

Обновление между неосновными версиями

Например, 7.0 и 7.1 (обновляться между неосновными версиями последовательно не нужно, например, если у вас установлена версия 7.0, то можно обновить Друпал сразу до версии 7.2).

  1. Войдите в аккаунт пользователя №1
  2. Перейдите на страницу «Управление - Конфигурация - Разработка - Обслуживание» и переведите сайт в режим обслуживания
  3. Удалите папки ядра за исключением папки sites и файлы ядра в корневой папке
    • Если вы вносили изменения в файлы.htaccess и robots.txt, то нужно будет внести изменения и в новые файлы
    • Если версия включает изменения в файле default.settings.php (смотрите примечание к версии), то нужно будет внести изменения в новый файл
  4. Распакуйте файлы новой версии на место удалённых старых
    • Внесите изменения в файлы.htaccess и robots.txt (если нужно)
    • Создайте файл settings.php, скопировав и переименовав его из файла default.settings.php и внесите в него изменения (если нужно)
  5. Запустите скрипт update.php перейдя на URL example.com / update.php. Это действие обновит таблицы ядра в базе данных
  6. Перейдите на страницу «Управление - Отчёты - Статус» и убедитесь, что все показатели в норме
  7. Перейдите на страницу «Управление - Конфигурация - Разработка - Обслуживание» и выведите сайт из режима обслуживания
22.11.2012

Прогресс не стоит на месте, всё движется вперед – не исключением является и развитие всеми нашего любимого Drupal. Возникают такие ситуации, когда после сдачи сайта в эксплуатацию заказчику, через некоторое время на странице отчётов появляются вот такие сообщения

Что порой приводит к недоумению заказчиков. А это сообщение как раз и говорит о том, что разработчики Drupal не спят, и постепенно совершенствуют свою платформу и сейчас пришло время как раз обновиться. В каждой новой версии разработчики исправляют различные баги функционала, так же и баги которые касаются системы безопасности. Как обновить Drupal на более свежую версию я сейчас вам расскажу. В принципе задача довольно простая, первое что нам необходимо сделать это скачать обновлённую версию Drupal, ссылка на скачивание даётся также в окне сообщения


Так же рекомендую вам перед обновление создать Бэкап базы и самого сайта. Бэкап базы можно сделать из phpMyAdmin, если хостер предоставляет вам такую возможность – хотя наверняка у любого хостера есть свои инструменты для бекапа. Бекап сайта сделать так же можно самостоятельно, скачав весь ваш сайт себе на компьюте, а имено всю папку с названием вашего сайта или опять же на стороне хостера так же имеются инструменты для таких работ.

Теперь, что бы не было не предвиденных сбоев при обновлении рекомендуется перевести сайта режим обслуживания. Для этого переходим по пути «Конфигурация->Разработка->Режим обслуживания»


Далее открывается страница, на которой нам необходимо поставить галочку напротив пункта «перевести сайт в режим обслуживания», а так же имеется возможность написать свой текст для посетителей сайта, на тот момент пока он будет не доступен


После перевода сайта в режим обслуживания, у нас будет висеть вот такое сообщение, которое не даст нам забыть перевести сайт обратно, после обновления


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


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

Название вашего сайта/update.php

Где перед нами откроется страница обновления базы данных. Где нам по шагам расписано, что необходимо сделать для начала процесса обновления. Мы это с вами уже сделали.


Поэтому жмём «продолжить». Теперь открывается страница, с сообщением что ядро Drupal обновлено из вне, и есть ещё 3 модуля которые ждут процесса обновления. Количество модулей для обновления у вас может отличаться от моих.



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


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


Кликаем по ссылке «Переключиться в рабочий режим» и снимаем галочку напротив «Перевести сайт в режим обслуживания» и сохраняем настройки. Теперь перейдём в «Отчёты->Доступные обновления» и видим, что версия Drupal у нас обновлена

На этом обновление ядра Drupal закончено.

Время от времени, разработчики выпускают новую версию 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 обновлена.

Наша Команда техподдержки рада представить Вам туториал, который покажет, как обновить движок 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 .