ОЧЕНЬ подробная инструкция Как провести малое обновление Друпала (в оригинальную статью внесены изменения для версий 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 - заменено на адрес вашего существующего сайта.
На оригинальном сайте есть картинка того, как будет выглядеть ваш экран.
Кликните на ссылке Run the database upgrade script и следуйте инструкциям.
если не бует сообщено ни о каких ошибках, значит ваш Друпал теперь обновлен. Поздравляем!!!
По соображениям безопасности мы должны изменить $access_check на TRUE. Откройте cPanel -> File manager и откройте для изменения update.php. Измените следующую линию:
$access_check = FALSE;
на
$access_check = TRUE;
А теперь все В новом окне вашего браузера откройте сайт, который вы только что обновляли. Так как мы работали в тестовой папке 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. поняла еще одну ошибку. У меня заменена главная страница по умолчанию на другую, сгенерированную с пом вьювс и панелс. Т.к. эт модули были отключены, разумеется, что друпал не мог найти такую страницу!!! Так что для себя на будущее - если изменена главная страница, перед обновлением нужно установить её на дефолтную.
Измените следующую линию:
$access_check = FALSE;
на
$access_check = TRUE;
Это нужно только, если вы хотите запускать update.php не под админом. Изменение как раз и отключает проверку прав доступа.
Перевод сайта в режим обслуживания нужен, чтобы ваши посетители не пугались, увидев (как это, кстати, бывало при "ремонтных работах" на drupal.ru сообщение о недоступности базы и т.п. Странно, что у вас не срабатывала ссылка вашсайт/user
Обновления до следующей минорной версии (т.е. с 5.5. на 5.6, например) частенько можно производить без этих устрашающих манипуляций с директориями и т.п.
Если сайт построен грамотно (все доп. модули и темы расположены в /sites/all, в базовых файлах напрямую не ковырялись, сделан бекап БД и ключевых каталогов /sites и /files), то апгрейд можно произвести просто переписыванием файлов и запуском update.php (там может и не быть никаких изменений в базе). После апгрейда надо еще раз пробежаться по инсталляции и проверить, правильно ли установлены права доступа.
А если сайт построен не грамотно ? =\
я просто как-то не подумал что нужно в sites/all создавать темы и фауло, впервые делаю на друпале сайт)
Собственно такой вопрос как мне сделать так чтобы все было по грамотному далее?
т.е. я делаю бекап, устанавливаю новую версию, заливаю в грамотные папки тему и модули, а как базу переучить?
Спасибо за комментарий.
А как это "пробежаться по инсталляции и проверить, правильно ли установлены права доступа?"
$access_check = FALSE;
Некоторые могут ещё захотеть с обновлением помочь
Вот тут кстати самое краткое из всех кратких руководств: http://harzah.net/node/902.
Geldora спасибо Вам огромное!!!!!! А то все боялся обновлений, а тут так все просто описано. А самое главное ни чего не произошло!!!!!!!!
Умница, хорошо описала, пропустила только правку файла сетинг.пхп, также тщательный контроль файлов при бэкапе и загррузке через фтп, а с учетом http://harzah.net/node/902, так совсем отлично
Спасибо! Обновился с 5.5 до 5.11 на локалке и даже не поверил сначала, что обновился. Но потом посмотрел журналы на сервере и на локалке и поверил
Вот здесь еще статейка на эту тему: http://spb-consulting.ru/content/obnovlenie-drpal-68-na-drupal-69
проделал все вышеописанные процедуры. что то там произошло на сайте. теперь кто может сказать, как узнать какая теперь версия дрюпала на сайте? (где какое поле посмотреть)
Спасибо за статью! Обновился до 6.14 с первого раза, все работает
все оказалось не так сложно как описал ТС. немного выше есть пост со ссылкой на сайт Харзаха, вот у него все описано как надо, без лишних сложностей.
Все получилось! Обновился на 6.15 спасибо!
Перестраиваете сначала весь сайт грамотно чтоб работал, а потом уже обновляетесь.
а как это сделать самым безболезненным способом?:)
Перестраивать руками. Обновляться тоже, и не забывать про бекапы. При обновлении сначала сделать рабочую обновленную копию сайта, а потом если все работает, поставить эту копию заместо устаревшей версии.
т.е. если я правильно понял нужно сначала выставить все на дефолт, переместить все модули и темы в нужную папку и снова включить?
настройки блоков и т.д. при этом не потеряються?
и потом сделать обновление в папке нью, потестить и залить на место сайта?
я просто открываю ftp закидываю вручную все папки(новые) с заменой кроме sites и .htaccess и все запускаем update.php
Аналогично, все на ура
Дополню: в версии друпал 6.22 с которой обновлялся до 6.25 вот эта запись $access_check = FALSE; находится в ...drupal\sites\default\settings.php
Что делать если на хостинге нет или не видно файла .htaccess? панель управления Cpanel1
Рзобрался.
После обновления в в 6.29 до 7.26 получил 3 главных недостатка:
в тулбаре ничего нет, а я привык видеть там все нужные ссылки администрирования.
ckeditor не включается, а переставить его не хочется опять качать, он итак был новый.
пропала ссылка добавить материал - Блог. Хотя сайт сделан как раз на этом типе материалов. Ссылки нет, но добавить можно, открыт адрес node/add/blog. Статьи не пропали, редактировать можно, но такой косяк.
В общем, 1 попытка и 6 часов не удались.