17.12.2011

Обновляем MODx

Обновляем MODx

MODx team постаралась сделать процесс апдейта максимально простым. Однако многие, тем не менее, побаиваются переходить на новые версии, оперируя тем, что уже установили кучу расширений и настроек. Главное правило, которому рекомендуют следовать разработчики наверное всех CMS — не лезьте в ядро! Они создали замечательный API для расширений и прочих способов применять всяческие стероиды для своего сайта. Поэтому, если вы не трогали ядро, и все плагины разрабатывали или устанавливали в соответствии с рекомендациями, вам нечего опасаться.

Единственное, что я хотел бы вам посоветовать: не стоит обновляться каждый раз при выходе новых версий. Для себя я решил, что целесообразнее всего обновляться до «мажорных» версий с патчами. Например, у меня версия 1.0.1. Выходит 1.1.0. Ждем патчей. Уже после выхода 1.1.x, можно обновляться. В выборе именно такого принципа можно убедиться, просмотрев список изменений. Так же не следует обновлять боевой сайт до предрелизных версий. Только стабильные. Но все это конечно же на ваш срах и риск.

Этот туториал создан для тех, кто по тем или иным причинам, не уверен в своих силах или боится сделать что-то не так. Я сам такой. Но забегая вперед, скажу что в моем случае все прошло максимально гладко. За исключением тех моментов, где я специально наступал на грабли, с целью проверить, а что если. Благодаря этому я, должно быть, поднял свой скилл апдэйта до нового для себя уровня. Итак, приступим.

Небольшие ремарки


В первую очередь хочу уточнить некоторые моменты.
  • Я все это проделывал на локальном сервере, так как не мог позволить похоронить боевой.
  • Я обновлялся с версии 2.0.8 до версии 2.1.5, но в рамках обновления Revolution, этот туториал так же справедлив и для других версий.
  • Все проблемы, в основном, возникают из-за банального отсутствия прав на запись для тех или иных папок или файлов. Поэтому внимательнее следите за этим.

Подготовка


Собственно скачайте с официального сайта последнюю стабильную версию. Я не рекомендую использовать какие-то левые сборки, обещающие дополнительный функционал или что-то еще. Во-первых тем самым у вас не будет никаких гарантий, что все будет работать гладко. Во-вторых бывает так, что такие сборки содержат не нужные внешние ссылки, а то и вовсе банальный вредоносный код.

Создайте полную резервную копию всех файлов и всей базы данных. Она вам очень понадобится в самом конце апдэйта.

Теперь необходимо обновить все установленные пакеты. Это стоит сделать в обязательном порядке, потому что, как правило, в каждой новой версии MODx исчезает пачка устаревшего кода и функций, которые могут использоваться старыми расширениями.

Хорошей идеей будет почистить кэш и логи. Они вам больше не понадобятся. Смело удаляйте содержимое папки core/cache. Если вы используете пакет phpThumbOf, то так же можете удалить содержимое assets/components/phpthumbof/cache.

Апдэйт


Теперь внимательно. Файлы, которые вы скачали, вам необходимо залить на сервер поверх старых. Перезаписываем все, кроме assets, core/components и core/config/config.inc.php. Для последнего необходимо открыть права на запись (777). Педантам советую заливать файлы и папки под одному. То есть сначала каждую папку в core по отдельности. Потом все остальное.

После заливки еще раз проверяем права для папок и файлов. Для перечисленных ниже должны быть выставлены три топора (777):

assets
assets/components (и ко всему содержимому)
core/cache
core/config/config.inc.php
core/components (и ко всему содержимому)
core/export
core/packages


В некоторых случаях может возникнуть небольшая проблема с таблицей prefix_membergroup_names. Это может произойти, если у вас несколько групп пользователей и связана с появлением нового уникального поля rank в этой таблице. В целом на это можно не обращать внимания. И лечится просто. Достаточно в этой таблице проставить группам rank 1,2,3 и так далее.
Теперь переходим в раздел установки на сайте. Для большинства это будет адрес типа http://example.com/setup/. Следуя инструкциям проходим уже знакомые этапы. Не забываем, что мы обновляемся.

После того, как все пройдет успешно и вам предложат перейти в админку. Не забудьте отметить галочкой удаление папки установки.

Теперь о резервной копии


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

В заключение


Процесс обновления, как и обещалось, прост. Попробуйте зайти в адмику и на сайт. Если все работает, хорошо. Если нет, пишите о своих проблемах, попробуем решить. Часто после обновления в журнале ошибок появляются какие-то записи. К сожалению, логирование в MODx не самое информативное и часто без пол-литра не разобраться вовсе. Но это хоть какая-то отправная точка для поиска багов.



Стоит посмотреть
UncosNews — Компонент для MODx Revolution
UncosNews — Компонент для MODx Revolution
Making of

Оставить комментарий