Drupal 6 до версии 7 скоро предстоит обновить

10274
humour_33

Скопировал себе тему, потому как предстоит такое обновление и чтобы потом не искать, было под рукой, так сказать.
По материалам http://drupal.ru/

  1. Записываем список включённых модулей со страницы admin/build/modules. Drush юзеры могут воспользоваться командой drush pm-list --status=enabled.
  2. Отключаем, деинсталлируем и удаляем неиспользуемые модули. Uninstall делается на странице admin/build/modules/uninstall.
  3. Обновляем Drupal 6 до последней минорной версии (если нужно). Drush юзеры могут воспользоваться командой drush up drupal.
  4. Обновляем контриб модули до последних версий. Проверить статус модулей можно на странице admin/reports/updates (должен быть включён модуль Update status). Drush юзеры могут воспользоваться командой drush up. Не забываем запускать update.php после обновления файлов модулей.
  5. Тестируем работу друпала с новыми версиями модулей.
  6. Обязательно делаем полный бэкап сайта. Нет никакой гарантии что всё пройдёт гладко Smile Лучше всего создать клон текущего сайта и проводить обновление на нём.
  7. Логинимся под юзером с ID 1 (рут админ).
  8. Переводим сайт в режим техобслуживания (admin/settings/site-maintenance). Если в settings.php есть переопределение параметра $conf['maintenance_theme'], то комментируем этот код.
  9. Устанавливаем Garland в качестве дефолтной темы (admin/build/themes). В качестве административной темы тоже выбираем Garland (admin/settings/admin).
  10. Выключаем все контриб модули (admin/build/modules).
  11. Удаляем файл sites/default/default.settings.php.
  12. Удаляем все файлы и папки ядра, за исключением папки sites. Системные папки и файлы (например cgi-bin или webstat), как и пользовательские файлы (например файлы идентификации Google или Яндекс) удалять не нужно.
  13. Скачиваем последнюю стабильную версию Drupal 7 и распаковываем файлы туда где раньше находились файлы Drupal 6.
  14. Изменяем файл .htaccess если в нём хранились специфические настройки сервера. Аналогично поступаем с robots.txt.
  15. Даём файлу settings.php права на запись.
  16. Открываем в браузере адрес your-domain/update.php и следуем указаниям мастера. Если по каким то причинам доступ запрещён, то открываем в текстовом редакторе файл settings.php и заменяем строчку $update_free_access = FALSE; на $update_free_access = TRUE; (после завершения мастера, этот параметр нужно вернуть в исходное состояние).
  17. После окончания работы update.php делаем бэкап базы.
  18. Если на сайте использовался модуль CCK, то нужно сконвертировать поля в новый формат:
  19. — скачиваем CCK под Drupal 7
    — включаем модуль Content Migration на странице admin/modules
    — переходим на страницу admin/structure/content_migrate и конвертируем поля

  20. Для полей в разделе Unavailable fields нужно скачать (если это контриб) и включить соответствующие модули. После включения не забываем запускать update.php.
  21. Обновляем контриб модули записанные в первом пункте (Drush тут пригодится как никогда):
  22. — удаляем директорию модуля
    — скачиваем на его место версию под Drupal 7
    — включаем модуль
    — запускаем update.php

  23. Открываем страницу admin/reports/status и убеждаемся что всё работает как надо.
  24. Отключаем режим техобслуживания (admin/config/development/maintenance).
  25. Если тема была кастомная, то переделываем. Иначе просто обновляем так же как и модули.