Тарифы Услуги Сим-карты

Обновления ядра Drupal. Drupal: Обновление ядра до последней версии Обновление ядра в друпал 7

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

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

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

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

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

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

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

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

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

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

  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 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.

(вполне полезна, содержит пояснения многих моментов), скажу, что изменений мало. По большому счёту – только движение по меню. А так, делали обновление в старой версии – сделаете и в новой. «Шаги», которые мы совершим – прежние, а сам процесс приятнее.

Надеюсь, вы уже включили модуль «Toolbar» («Панель инструментов администратора») и сделали локальную копию сайта? Тогда пройдёмся по пунктам:

  1. Заходим на сайт.
  2. Регистрируемся в качестве «первого» пользователя.
  3. Переводим в режим обслуживания.

По меню: «Конфигурация» => «Разработка», «Режим обслуживания». Ставим «галочку» на «Перевести сайт в режим обслуживания» и нажимаем «Сохранить конфигурацию».

  1. Если на сайте используется «своя» тема оформления, лучше вернуть стандартную:

Вверху в административном меню, щёлкаем на пункт «Оформление» (/admin/appearance ), под темой «Garland », а лучше – «Seven » (она более удобна для администрирования) нажимаем «Включить» и «Установить по умолчанию».

Чтобы не провоцировать лишние ошибки, по-прежнему рекомендую отключать нестандартные модули, если у вас такие имеются. Как попасть в список модулей:

открываем в административном меню, пункт «Модули» (/admin/modules ).

  1. Сбрасываем кэш:

«Конфигурация» => «Разработка», «Производительность». Жмём кнопку «Очистка кэша».

(/admin/config/development/performance )

Маленькое отступление .Что делать если вы случайно «разлогинились» , или пытаетесь зайти на сайт с другого компьютера, или на сайт потребуется зайти другим пользователям, тоже имеющим расширенные права (достаточные для работы с сайтом в режиме обслуживания)?

<имя сайта>/user/login или <имя сайта>/?q=user/login .

Например, если ваш сайт называется «Test.Ru», то это будет: Test.Ru/?q=user/login

  1. Дальше, заменяем (обновляем) файлы.
  1. 1. В случае, если обновляем ядро Друпала.

В «корневой» папке сайта удаляем все директории, кроме «Sites ». И все файлы, кроме:

  • «.htaccess »;
  • «favicon.ico » – если он у вас есть;
  • «robots.txt »;
  • при наличии – оставляем файлы подтверждения подлинности, типа для Google и Яндекса (google***.html , yandex***.html );
  • и иконки для iOS-устройств (apple-touch-icon***.png ), если имеются.

Так же, если Вы используете какие-то специальные настроечные файлы, «картинки» к ним, в корне своего сайта – их тоже надо оставить в покое (иначе, придётся восстанавливать).

После этого, в папку сайта распаковываем новый Drupal, за исключением тех файлов и папки, что мы оставили.

При обновлении версия ядра Друпал (если будут обновляться только модули – этого делать не надо ), рекомендую, для повышения «чистоты», провести микро-инсталляцию. Чтобы её спровоцировать – в папке «Sites/Default» надо удалить файл «Settings.php» и воссоздать заново копированием из файла «Default.Settings.php».

Эта подмена приведёт к тому, что при обновлении, Drupal начнёт установку, как в первый раз, в ходе которой вам надо снова указать действующие имя базы данных, логин и пароль. Надеюсь, вы их помните? (Записаны в «старом» «Settings.php»).

Напоминаю, если сомневаетесь – не делайте этого! А если сделаете – поменяйте права доступа ко вновь созданному файлу «Settings.php» на «664», rw- rw- r-- (максимум – «775», rwx rwx r-x). Не беспокойтесь, если вдруг забудете, программа установки вам напомнит.

  1. 2. Если обновляем модуль(и).

Заходим в папку «Sites/All/Modules», удаляем «старый» модуль, а на его место – распаковываем новый.

  1. Набрав в интернет-проводнике (IE, Opera, FireFox или что там у Вас?),

<имя сайта>/update.php – выполняем обновление (или микро-установку, если меняли файл «Setting.php»).

В ходе обновлений могут появляться сообщения об ошибках. Чаще всего они возникают при кардинальных изменениях: не могут выполниться какие-то SQL-запросы к базе данных сайта, отсутствуют или присутствуют какие-то лишние таблицы, обнаруживаются какие-то проблемные поля, или несоответствие типов данных.

Что делать, если возникли подобные трудности при обновлении модулей? Очень просто:

  • Как и предлагает программа обновления, перейти в управление модулей.
  • Снять «галочки» напротив тех модулей, которые не могут обновиться или мешают обновлению.
  • Потом, заходим в каталог сайта и удаляем эти модули физически.
  • Снова выполняем обновление, но уже без них (<имя сайта>/update.php ).

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

  • После этого, распаковываем новый правильный модуль.
  • Снова выполняем обновление (ошибок быть не должно!).
  • Если всё хорошо – заходим в управление модулей и снова его (или их) включаем (ставим «галочку»).

Продолжаем обновление. В случае успеха – всё возвращаем назад:

  1. Возвращаем ранее отключенные модули (если вы что-то отключали).
  2. Возвращаем родную тему сайта.
  3. Выполняем проверку оставшихся ошибок и исправляем их:

«Отчёты» => «Отчёт о состоянии» (/admin/reports/status )

  1. Выполняем проверку обновлений (вдруг что-то не так стало или появилось ещё какое-то обновление):

«Отчёты» => «Доступные обновления» (/admin/reports/updates )

  1. Делаем копию базы и сайта после обновления. (Это на любителя!)
  2. Снимаем сайт с обслуживания.

Важный вопрос: права доступа к папкам и файлам. В принципе, всё осталось, как и в «шестой» версии Друпал. Отличие только по файлу «Settings.php» - «семёрка» прямо рекомендует (после инсталляции) выставить ему права на уровне максимум «644». Не забывайте!

CMS Drupal – это очень динамично развивающаяся система, благодаря огромному мировому сообществу.

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

8 мая на официальном сайте drupal.org появился новый релиз версии ядра Drupal 7 – 7.28. Сегодня есть свободное время, поэтому я решил обновить ядро на своих сайтах и написать небольшое руководство на эту тему для начинающих.

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

1. Для начала необходимо сделать бэкап базы данных и файлов самого сайта. Для чего советую использовать лучшие, на мой взгляд, методы – это FileZilla FTP Client и phpMyAdmin .
Сделайте это обязательно, иначе потеряв данные, вы можете корить себя в том, что сэкономили несколько минут и положили сайт. Восстановить сайт конечно можно всегда, но всю информацию врядли.

2. Войдите на ваш сайт с правами администратора.

3. Переведите сайт в режим обслуживания. Перейти на страницу обслуживания сайта «Конфигурация – Разработка – Режим обслуживания», отметьте «Перевести сайт в режим обслуживания» и сохраните настройки.

4. Обновите все установленные на сайте модули и темы до последних актуальных версий.

5. Измените тему оформления, поставьте Гарланд.
Перейти на страницу тем оформления, включить "Гарланд" и выбрать его в качестве темы по умолчанию. Если вы использовали отдельную тему для администрирования, выберите "Гарланд" для вашей темы администрирования.

7. С помощью FileZilla FTP Client залейте на хостинг предварительно скачанное и распакованное ядро Drupal - все папки и файлы в корневом каталоге, за исключением sites.
Верните на свое место такие файлы как google*******.html, wmail*******.html, yandex*******.txt если они у вас есть и конечно robots.txt из скачанного бэкапа вашего сайта.
Проследите за тем, чтобы в файлах.htaccess и settings.php находились необходимые вам данные.
Сделайте ваш файл settings.php доступным для записи, так как процесс обновления может потребовать его преобразования.

8. Запустите скрипт обновления - update.php затем очистите кэш

9. Установить по умолчанию вашу тему оформления сайта.

10. Не забудьте ещё про папку tmp в корне сайта, установите в свойствах разрешения 777. Иначе после обновления ядра Drupal эта папка перезаписывается и у вас на сайте постоянно выскакивает сообщение - Невозможно создать файл

Вот собственно весь процесс обновления мажорной версии ядра Drupal 7.
Другие методы включая использование drush опишу в другой статье.