О сайтах и не о сайтах

Обновление Drupal

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

Лично я не зациклен на постоянном обновлении Drupal в пределах одной ветки, если поставил Drupal 6.14 или 6.15, то так и буду держать на нем сайт, несмотря на то, что сейчас актуальной версией является 6.16. Конечно, если в новой версии фиксится какой-то значительный баг, то обновиться стоит, а так обновление ради обновления, ИМХО, не имеет особого смысла. Какие баги пофиксились в последней версии, можно посмотреть на официальном сайте Drupal.

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

Если же вы сидите на 5.xx, то настоятельно рекомендую обновиться до шестой версии, несмотря на то, что пятерка тоже постоянно обновляется (на текущий момент последней стабильной версией является 5.22, релиз был с месяц назад).

Инструкция по обновлению с Drupal 5.xx до Drupal 6.xx.

  • Сделайте бэкап сайта и протестируйте его, например, развернув сайт на локалхосте. Понимаю, этот пункт многие пропускают, сам раньше пропускал. Но задайте себе вопрос – готовы ли вы потерять сайт или потратить несколько дней на его восстановление? Конечно, вероятность того, что что-то пойдет не так и, к примеру, накроется база, крайне мала, но все-таки имеется. Есть и еще один немаловажный плюс – при обновлении придется заново подключать модули, что-то настраивать, а как все было изначально не всегда удается вспомнить, поэтому очень удобно иметь на локалхосте работающий «слепок» сайта до обновления, всегда можно посмотреть, где и какие стоят настройки.
  • Переведите сайт в режим обслуживания. Это удобно, если посещаемость отлична от нуля, тогда пользователи не будут видеть системные сообщения и прочее, всем, за исключением администратора, будет выводиться заглушка «Сайт на техническом обслуживании».

  • Установите тему по умолчанию Garland. Также не забывайте, что тема, созданная под Drupal 5.xx, не будет работать под Drupal 6.xx. Заранее убедитесь в наличии версии нужного шаблона под шестую версию или, если тема уникальная, готовьтесь натягивать ее на Друпал по новой.

  • Выключите все модули, не входящие в обязательный состав ядра. Модули из группы «Ядро – дополнительные», в принципе, можно оставить, но я их тоже отключаю.
  • Скачайте последнюю стабильную версию Drupal и файл перевода к нему.

  • Скачайте новые версии под шестую версию Drupal всех установленных на сайте дополнительных модулей. Если у вас стоит какой-то модуль, версии которого нет для шестерки, то это да, проблема. В этом случае либо стоит отказаться от обновления, либо искать альтернативы.
  • Почитайте документацию к модулям, возможно для каких-то из них предусмотрено специфическое обновление. Вся нужная информация обычно содержится в файлах readme.txt или upgrade.txt в папке модуля. Я же обычно не уделяю этому внимание, а иду читать инструкции только когда что-то начинает работать не так. Подход неправильный, стараюсь исправляться)

  • Сохраните файлы из старых модулей, которые вы модифицировали, в папку с новой версией модуля. Обычно это только файлик i18n-ascii.txt модуля pathauto.

  • Сохраните файлы .htaccess и robots.txt, если конечно вы вносили в них изменения.

  • Сохраните папки files и sites. К слову, папки files в корне может и не быть, т.к. вообще стандартная папка в Drupal для хранения файлов это sites/default/files. Хотя я советую не копировать всю папку sites целиком, а сохранить только необходимые из нее файлы и папки. Это, как уже говорилось выше, папка files (если она содержит какие-то нужные файлы, а не создана автоматически и не является пустой) и файл настроек settings.php, т.к. в случае если сайт является старым, вы экспериментировали с различными модулями и т.д., папка sites может быть забита различным ненужным мусором, который вряд ли когда-то понадобится. Также не забудьте сохранить все созданные вручную папки и не являющиеся системными (например, папку с вашими шаблонами оформления).

  • Удалите с хостинга все системные папки и файлы Drupal. Т.е. по сути надо удалить все, включая файл index.php.

  • Залейте на хостинг новые системные файлы Drupal из скаченного дистрибутива. Скопируйте обратно на хостинг ранее сохраненные папки и файлы (файл settings.php обязательно).

  • Запустите файл update.php, для этого наберите в адресной строке http://site.ru/update.php. При этом вы должны быть все еще залогинены как администратор (хотя все файлы сайта удалялись и заливались новые, сессия админа все еще действительна). Следуйте инструкциям (в большинстве случаев надо нажимать только «далее»). В выпадающих списках с цифрами выбирайте наибольшую (номер обновления).

  • Залейте в папку modules ранее скаченные дополнительные модули, активируйте их и снова запустите файл update.php.

  • Импортируйте новый файл перевода.
  • Проверьте все настройки (настройки модулей, права доступа и т.д.) и отображение сайта, сравните с настройками старой версии сайта (который в идеале должен быть у вас запущен параллельно на локалхосте).

  • Снимите сайт с обслуживания.

 

Мда, как-то длинновато получилось. Ладно, если в сжатом виде, то:

  • Сохраните на компьютер все пользовательские папки с файлами и конфигурационный файл settings.php.
  • Установите тему Garland и отключите все дополнительные модули.
  • Удалите все системные папки и файлы и залейте на их место новые.
  • Скопируйте обратно файл settings.php и сохраненные папки.
  • Запустите файл update.php и следуйте инструкциям.
  • Удалите старые модули, залейте новые, запустите update.php.

PS
Добавил еще одну рубрику на блоге, “Drupal”. При создании сайтов чаще всего отдаю предпочтение именно этой CMS, следовательно и посты про Drupal будут появляться регулярно, и правильнее было бы выделить их в отдельную рубрику.

Комментарии

Ну раз уж ты и рубрику “Drupal” завел на блоге, то давай с начала, давай как поставить Drupal и вкратце как настроить.

Да этого в сети навалом, повторяться не имеет смысла, стараюсь писать только на те темы, которые либо никак не освещены, либо разбросаны по кускам на форумах, ну или же просто свой опыт описать. Сегодня/завтра должен написать еще более монстроподобную статью о прикрутке визуальных редакторов с возможностью загрузки картинок на сервер через веб-интерфейс=)

Может если у тебя такие посты будут я Друпал наконец то решусь освоить? :)
А то только в Юкозе - мастер...не, мастер это как то нескромно - продвинутый пользователь.

Если решишь заняться Друпалом, то к другим CMS-кам уже вряд ли вернешься=) Сначала, конечно, трудно будет, но зато потом ни один движок не покажется настолько функциональным и логически продуманным, как Друпал.

Доброго времени суток! Набрел на ваш блог когда искал решение проблемы. А именно. Модуль CKeditor я установил еще до захода на ваш сайт, строго в соответствии с документацией приложенной в архиве модуля, что разумеется совпадает с вашим описанием установки.
Начинаю создавать ноду, редактор работает нормально, изображения загружаются, нажимаю пред просмотр, или разместить на главной, а выкладывается только plain text, ни картинок, ни цветного шрифта, ничего. Все теги пишутся текстом :( Я уже все перерыл, но причину найти так и не смог. Может вы сталкивались с подобной проблемой?
Спасибо.

Сам CKeditor не использую, отдают предпочтение BUEditor. Но исходя из вашей проблемы, могу предположить, что используется фильтр для текста Plain Text, выставите Filtered HTML или если некоторые нужные теги все еще обрезаются, то Full HTML. Должно помочь. Если не поможет, отпишитесь тут в комментариях - установлю на локалхосте "чистый" Друпал с CKeditor'ом, посмотрю что там и как, может тогда уже больше по существу смогу что-то сказать.

Решил проблему. Все оказалось гораздо запутаннее, и вообще, седьмая версия как-то менее "внятная" что-ли, чем шестая. итак. Опишу действия по порядку.

1. На странице вкладки "модули" при нажатии на ссылку настройки модуля CKeditor путь: /admin/config/content/ckeditor. Высвечивалось сообщение: The WYSIWYG module was detected. Using both modules at the same time may cause problems. It is recommended to turn the WYSIWYG module off Так как до этого я установил именно этот модуль (WYSIWYG), он прописался в БД и CKeditor конфликтует с ним, даже будучи выключенным. Погуглив по этому мессаджу нашел эту тему: http://drupal.org/node/894120 где в 6 и 11 комментарии все четко написано. Итак, удалил WYSIWYG модуль, но проблема осталась. Зато исчезло это предупреждение указанное выше, что уже хорошо :)
Начал копать дальше, гугл оказался беспомощен пред моими запросами и включив наконец, остатки моих бренных, иссушенных поисками ответа мозгов, и прочитав ваш ответ на мой каммент (который дал идею, и направление поиска кстати), я начал искать сии настройки. В 6 друпале, если правильно помню, данные настройки были вынесены в раздел "содержание" - формат ввода, где были отображены и можно просто выставить галки как нужно... Так вот, в 7 этого нет.

2. Начал ковыряться в настройках самого CKeditora но там ничего подобного не оказалось, разве что открыл полезную фичу что бы CSS стиль редактора был таким же как и основная тема сайта. И вот тут началось самое интересное. Открываю ссылку "форматы ввода" путь: /admin/config/content/formats и что я там вижу!? Один одинешенек, plain text! Вот же блин! Пришлось создать новый формат ввода для админа (себя любимого) где и снять все эти фильтры на ввод содержимого, и дополнительно для будущих юзеров с некоторыми ограничениями на формат ввода. Затем нужно перейти в настройки модуля CKeditor, зайти в настройки профиля Full, путь: /admin/config/content/ckeditor/edit/Full открыть basic setup и под словами input formats добавить галками те, которые вы создали. После чего нужно пройти к типам материалов и создать новый тип материала, потому как редактирование старого, у меня не получилось, даже после очистки кэша сайта. После создания нового типа материала, проходите на вкладку управление полей (manage fields) путь: /admin/structure/types/manage/ваше название материала/fields/body где меняете обработку текста с "обычный текст" на "с применением фильтров" и внизу, под самим редактором, есть переключатель "формат ввода" где выбираете ваш заново, ранее созданный формат. Сохраняете, и будет вам счастье.

Зачем было городить такой огород мне не совсем ясно. В 7 друпале что то стало сложнее, а что то наоборот, проще и лучше, но первое впечатление, как ни странно, положительное. :)

Еще раз спасибо за помощь и наводку! Всем удачи и лучших пожеланий!

Спасибо за столь развернутый комментарий.

Единственное
После чего нужно пройти к типам материалов и создать новый тип материала вот это считаю не совсем хорошим решением, если уже существует много созданных нод со старым типом материала. Это ведь плюс еще одна лишняя сущность для описания аналогичного типа материала, плюс еще парочка таблиц в БД, плюс сложнее будет делать выборки во Views, если вдруг понадобится.

Полностью согласен, если у вас уже имеется материал, то создавать новый необязательно, у меня например всего 4 типа на сайте которых вполне хватает для моих нужд. А теперь парирую ваш упрек :)
Хочу заметить, что все это я проделал на новом сайте, там еще нет ни материала, ни пользователей, ни какого бы то ни было контента, да и не обкатан он еще, только-только CMS установил, и тут такая трабла.
Впрочем, эта проблема ведь возникнет только на новом сайте, так как CKeditor да и любой другой редактор устанавливается, в большинстве случаев, на новый сайт, где еще и пользователей то нет.
Кстати, теперь тип материала уже успешно редактируется. Думается невозможность редактирования была связана как раз со следами пребывания WYSIWYG модуля в БД, и косвенно, в типе материала.

Но старый тип материала, который не редактировался, я бы все-таки удалил, раз уж имеется новый аналогичный, чтобы лишних дублей не было =)

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.