как обновить друпал (перевод)

16 января 2008 в 12:13
Аватар пользователя Geldora Geldora 0 23

ОЧЕНЬ подробная инструкция Как провести малое обновление Друпала (в оригинальную статью внесены изменения для версий Drupal 6 и 7).

на выходных мне удалось таки проапгрейдить друпал до 5.6. Я до сих пор в шоке отого, что у меня получилось (три раза не выходило), и решила перевести статью с http://www.siteground.com/tutorials/drupal-tutorial/drupal_upgrade.htm по которой я и обновлялась.

Как обновить ваше друпал-приложение?
Ниже в простых словах будет рассказано о том как обновить ваш Друпал до последней стабильной версии.

Важно!!! Перед тем как перейти к апгрейду, убедитесь в том, что вы забекапили ваш сайт! (ссылка на английский оригинал)

Мы предполагаем, что устаревшая версия Друпала установлена в подпапке вашего домена - (т.е. на www.yourdomainname.com/drupal).
Шаг 1. Первым делом откройте официальный сайт Друпала и скачайте оттуда последнюю стабильную версию на жетский диск вашего компьютера.
Как только закончите скачивать, нужно будет загрузить новую версию Друпала на ваш сайт. Проще всего это сделать, создав новую папку в корневом калоге public_html (т.е. создать там папку drupal_new) и загрузив туда новую версию Друпала. Потом нужно разархивировать файлы через cPanel -> File Manager.
(А можно сделать наоборот...)

шаг 2. Когда новая версия Друпала будет загружена в папку drupal-new, вам нужно будет скопировать туда необходимые вам папки и файлы со старой версии. Здесь мы предполагаем, что вы предварительно сделали бекап ваших файлов. Пожалуйста, откройте папку с бекапом вашего сайта, скопируйте файл .htaccess и папки sites и files (для Друпал версий 6 и 7, папки files лежат в папке sites/yourdomain! Перепроверьте на всякий случай...); и загрузите их в папку drupal_new путем переписывания любых существующих файлов. (Команда - overwriting any existing files)

Теперь, пожалуйста, откройте cPanel -> File manager -> public_html -> drupal_new и откройте для изменений файл update.php (это было актуально для 5ого Друпала) drupal_new/sites/default и откройте для изменений файл settings.php (актуально для 6ого и 7ого Друпала). Измените следующую линию

$access_check = TRUE;

на

$access_check = FALSE;
(На оригинальной странице есть иллюстрации всего, что и куда нажимать)

Сохраните изменения. Они позволят загрузить update.php из браузера.

Шаг 3. Мы почти закончили. Следующий шаг - обновление базы Друпала.
В адресной строке вашего браузера, пожалуйста, наберите:
http://yourdomainname.com/drupal_new/update.php,
где yourdomainname.com - заменено на адрес вашего существующего сайта.
На оригинальном сайте есть картинка того, как будет выглядеть ваш экран. Wink
Кликните на ссылке Run the database upgrade script и следуйте инструкциям.

если не бует сообщено ни о каких ошибках, значит ваш Друпал теперь обновлен. Поздравляем!!!
По соображениям безопасности мы должны изменить $access_check на TRUE. Откройте cPanel -> File manager и откройте для изменения update.php. Измените следующую линию:

$access_check = FALSE;

на

$access_check = TRUE;

А теперь все Smile В новом окне вашего браузера откройте сайт, который вы только что обновляли. Так как мы работали в тестовой папке drupal_new, то адрес должен быть таким http://yourdomainname.com/drupal_new/
как только вы убедитесь в том, что ваш сайт работает как часы, можете удалить или переименовать старую папку drupal на drupal-old, а папку drupal_new переименовать соответственно в друпал чтобы сделать тестовую папку рабочей.

Теперь все. Поздравляем!!! На вашем сайте теперь стоит последняя стабильная версия Друпала.

Комментарии

Дописываю в комментариях то, что у меня не получилось и мои соображения, почему не получилось.
1. Здесь не написано, но в друпал хандбуке и на сетегноме рекомендовано перевести сайт в ражим обслуживания, выключить все дополнительные модули и сменить тему на гарланд. Я так и сделала.
update.php прошел без ошибок и перевел меня на страницу администрирования, где было сказано о каких-то ошибках и предложено посмотреть статус репорт. Вот тут и поехало - page cant be found + cant found index.php + site is in off-line status.
Из этого выбиралась так - пошла на риск, убрала старую версию и перетащила все из папки друпал-нйю в корень сайта. Не помогло.
Все попытки выйти из оффлайна через www.uchi.kz/admin, www.uchi.kz/user и т. д. не помогли. Пришлось использовать SQL запрос к базе.

UPDATE variable SET value = 's:1:"0";' WHERE name= 'site_offline'; DELETE FROM cache WHERE cid = 'variables';

Только после этого все встало на свои места.
2. Постфактум дошло, что возможно и не стоило вводить сайт в оффлайн, если этого не указано в тюториале. Подскажите, плиз, а зачем это нужно в принципе?
3. поняла еще одну ошибку. У меня заменена главная страница по умолчанию на другую, сгенерированную с пом вьювс и панелс. Т.к. эт модули были отключены, разумеется, что друпал не мог найти такую страницу!!! Так что для себя на будущее - если изменена главная страница, перед обновлением нужно установить её на дефолтную.

16 января 2008 в 12:27

Измените следующую линию:
$access_check = FALSE;
на
$access_check = TRUE;

Это нужно только, если вы хотите запускать update.php не под админом. Изменение как раз и отключает проверку прав доступа.

Перевод сайта в режим обслуживания нужен, чтобы ваши посетители не пугались, увидев (как это, кстати, бывало при "ремонтных работах" на drupal.ru Smile сообщение о недоступности базы и т.п. Странно, что у вас не срабатывала ссылка вашсайт/user

Обновления до следующей минорной версии (т.е. с 5.5. на 5.6, например) частенько можно производить без этих устрашающих манипуляций с директориями и т.п.
Если сайт построен грамотно (все доп. модули и темы расположены в /sites/all, в базовых файлах напрямую не ковырялись, сделан бекап БД и ключевых каталогов /sites и /files), то апгрейд можно произвести просто переписыванием файлов и запуском update.php (там может и не быть никаких изменений в базе). После апгрейда надо еще раз пробежаться по инсталляции и проверить, правильно ли установлены права доступа.

16 января 2008 в 12:51

А если сайт построен не грамотно ? =\

я просто как-то не подумал что нужно в sites/all создавать темы и фауло, впервые делаю на друпале сайт)

Собственно такой вопрос как мне сделать так чтобы все было по грамотному далее?

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

15 февраля 2010 в 3:34

Спасибо за комментарий.
А как это "пробежаться по инсталляции и проверить, правильно ли установлены права доступа?"

16 января 2008 в 13:22

Geldora спасибо Вам огромное!!!!!! А то все боялся обновлений, а тут так все просто описано. А самое главное ни чего не произошло!!!!!!!!

7 августа 2008 в 20:00

Умница, хорошо описала, пропустила только правку файла сетинг.пхп, также тщательный контроль файлов при бэкапе и загррузке через фтп, а с учетом http://harzah.net/node/902, так совсем отлично

7 августа 2008 в 22:55

Спасибо! Обновился с 5.5 до 5.11 на локалке и даже не поверил сначала, что обновился. Но потом посмотрел журналы на сервере и на локалке и поверил Lol

14 октября 2008 в 18:49

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

10 мая 2009 в 15:37

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

23 декабря 2009 в 22:13

vgoodvin wrote:
"klime" wrote:

Перестраиваете сначала весь сайт грамотно чтоб работал, а потом уже обновляетесь.

а как это сделать самым безболезненным способом?:)

15 февраля 2010 в 11:03

"klime" wrote:
а как это сделать самым безболезненным способом?:)

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

15 февраля 2010 в 17:15

vgoodvin wrote:
"klime" wrote:
а как это сделать самым безболезненным способом?:)

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

т.е. если я правильно понял нужно сначала выставить все на дефолт, переместить все модули и темы в нужную папку и снова включить?

настройки блоков и т.д. при этом не потеряються?

и потом сделать обновление в папке нью, потестить и залить на место сайта?

15 февраля 2010 в 19:12

я просто открываю ftp закидываю вручную все папки(новые) с заменой кроме sites и .htaccess и все запускаем update.php

4 июня 2010 в 18:48

Дополню: в версии друпал 6.22 с которой обновлялся до 6.25 вот эта запись $access_check = FALSE; находится в ...drupal\sites\default\settings.php

12 марта 2012 в 16:11

После обновления в в 6.29 до 7.26 получил 3 главных недостатка:
в тулбаре ничего нет, а я привык видеть там все нужные ссылки администрирования.
ckeditor не включается, а переставить его не хочется опять качать, он итак был новый.
пропала ссылка добавить материал - Блог. Хотя сайт сделан как раз на этом типе материалов. Ссылки нет, но добавить можно, открыт адрес node/add/blog. Статьи не пропали, редактировать можно, но такой косяк.

В общем, 1 попытка и 6 часов не удались.

7 марта 2014 в 1:54