Обновление ядра drupal 7. Обновление Drupal — ядра, модулей и переводов

27.06.2020

Одним из самых важных аспектов технического обслуживания сайтов на Drupal 8 является поддержка актуальности ядра и моделей системы. С выходом новой версии Drupal 8, у пользователей возникают вопросы по правильному обновлению Друпал 8 до актуальной версии.

Обновление не сильно отличается от 7-ой версии, однако в 8 версии есть свои особенности.

Процесс обновления Drupal 8 до актуальной версии 8-x-x:

1. Перед обновлением системы обязательно создавайте резервную копию сайта и базы данных MySQL, а также файлов robots.txt, .htaccess (если вы вносили в них изменения), чтобы заранее избежать непредвиденные ошибки обновления.

2. Под учетной записью администратора переведите сайт в режим обслуживания (Конфигурация - Разработка - Режим обслуживания).

3. Скачайте с сервера drupal.org актуальную версию Drupal 8 и загрузите по FTP в корень вашего веб-сайта.

4. ВАЖНО!!! Удалите все папки и файлы, за исключением папок modules, sites, themes, libraries.

5. Распакуйте архив новой версии Drupal 8 в корневую папку вашего веб-сайта.

6. Запустите скрипт обновления с адресом website.com/update.php и выполните обновление базы данных этим скриптом.

7. Если обновление прошло удачно, то вы можете перевести сайт в режим «Рабочего состояния».

8. Если вы производили изменения в файлах robots.txt, .htaccess, то не забудьте добавить нужные строки в обновленные файлы.

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

Надеюсь, вы уже включили модуль «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». Не забывайте!

Обновление ядра 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 :

    Используйте ваш 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 .