Апгрейд (замена версии) дистрибутива

Ссылки

Введение

InstantCMS – система с открытым кодом, позволяющая использовать ее как «конструктор». При таком подходе администратор сайта, использующего InstantCMS в качестве движка, может вносить в систему разнообразные изменения. Конечно, любой уважающий себя программист всегда ведет журнал логов, куда вносит все мельчайшие изменения, которые он сделал. Такой подход позволит сэкономить кучу времени, как при восстановлении обрушеного сайта, так и плановой замене (апгрейде) старой версии движка на новую.

Ниже расписаны две методики.

  • Первая методика описывает последовательность действий при апгрейде стандартного дистрибутива.
  • Вторая методика позволяет обнаружить и перенести, если это необходимо, сделанные Вами изменения с v1.5.1 на v1.5.2.

Важно. Ни в коем случае не перескакивайте через версию. Изменения ядра движка и структуры БД настолько велики, что Вы обрушите свой сайт. Поэтому, если Вы переходите, например, с v 1.0.2 на v 1.5.3, то Вам придется пройти путь v 1.0.2 → v1.0.9b3 → v1.1rc4. → v1.2.1 → v1.5.1 → v1.5.2 → v1.5.3. Тяжело, но необходимо.

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

Апгрейд версий

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

Итак, после всех необходимых предупреждений и пугалок приступаем к апгрейду СТАНДАРТНЫХ ВЕРСИЙ.

В этом разделе изложены две методики - «для пользователей» и «для гуру». Какой из них следовать - выбирайте сами, исходя из собственного мнения о своей компетентности. Первая методика позволяет не наделать фатальных ошибок, хотя занимает больше времени, чем вторая.

Для пользователей

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

Эта методика изложена в предположении, что сайт у Вас работает на v1.5.1, а ваша задача апгрейдить ее до v1.5.2. Если Вы «поднимаете» другие версии, пожалуйста учтите этот факт во избежание путаницы. Методика перехода, например, с 1.5.2 на 1.5.3 абсолютно аналогична.

  1. Устанавливаете ftp-соединение и скачиваете движок сайта v1.5.1 к себе на локальный сервер.
  2. Подключаетесь к БД удаленного сайта через phpMyAdmin и делаете дамп БД.
  3. Подключаетесь к БД на локальном сервере и заливаете в базу дамп, снятый в предыдущем пункте. Как это сделать, смотрите здесь.
  4. Отредактировать файл includes/config.inc.php. Как это сделать, читайте здесь.
  5. Запустить эту копию на локальном сервере и убедиться, что все работает. В противном случае повторить первые четыре пункта.
  6. Распаковать дистрибутив следующей версии v1.5.2 поверх старой с заменой файлов. Производить это на локальной машине с запущеным локальным сервером.
  7. Набрать в адресной строке браузера http:ваш-сайт.ru/migrate. Это очень важный пункт, поскольку происходит проверка таблиц в БД и добавление полей в эти таблицы в соответствии с новой версией. Ни в коем случае не пропускайте этот пункт!
  8. Удалить папки install и migrate в корне сайта.
  9. Перезагрузить локальный сервер и убедиться, что Ваш сайт на локальном сервере работает. В противном случае повторить предыдущие восемь пунктов. Если и после этого не работает - обратитесь к администрации. Не двигайтесь дальше, если не смогли запустить сайт локально! (Вы не забыли, что Ваш основной сайт на хостинге еще жив и здоров? Или тоже его уже убили? LOL )
  10. Снять дамп с БД на локальном сервере. После процедуры миграции состав БД претерпевает изменения.
  11. Подключиться через phpMyAdmin к удаленной базе данных, выделить все таблицы на ней и (надеюсь, Вы знаете, что делаете) снести все таблицы. В итоге вы должны получить пустую БД без таблиц.
  12. Закачать дамп, полученный Вами в пункте 10 в удаленную БД. В ней должны появиться все таблицы. Откройте любую из них и убедитесь, что все содержание тоже «переехало». В противном случае повторите пункты с 10-го и дальше (как хорошо, что у нас есть живая база на локалке, правда?)
  13. Установить ftp-соединение с хостингом. Скопировать туда файлы и папки Вашего движка с заменой.
  14. Отредактировать файл includes/config.inc.php. Как именно, изложено здесь
  15. Набрать в браузере адрес Вашего сайта и наслаждаться :-P

Для гуру

Это методика для опытных пользователей, способных НЕ наделать ошибок, а если сделали - исправить их самостоятельно.

  1. Сделать бэкап движка и БД - обязательно!
  2. Распаковать архив в корень сайта заменяя файлы
  3. Перейти по адресу www.ваш-сайт.ru/migrate
  4. Удалить папки install и migrate в корне сайта

Перенос Ваших изменений между версиями

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

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

Итак, приступаем:

Скачать программу Araxis Merge

Araxis Merge. ~ 68 Мб. Это программа условно-бесплатная, Вы можете использовать ее в течении 30 дней, потом обязаны снести. Если Araxis Merge по каким-то причинам вас не устроила, можете поискать аналоги, коих немало (например: WinMerge или WinDiff) Добавил Beekeeper araxis-merge-pro-20093713-rus-portable - вам в помощь…

Установить Araxis Merge
  1. Запросить на сайте 30-дневный ключ
  2. Установить и запустить Araxis Merge.

Подготавливаем файлы

Удобнее всего создать две папки рядом, и назвать их номерами версий, в нашем случае 151 и 152. В папку 151 кладем наши текущие файлы. В папку 152 распаковываем архив, скачанный с этого сайта.

Сравниваем папки

Открываем Araxis Merge и на тулбаре жмем кнопку «Folder Comparsion». Затем указываем пути к нашим папкам: 151 (левая панель) и 152 (правая панель), затем жмем Enter. Программа покажет содержимое обеих папок, а файлы, имеющие отличия будут подсвечены синими строками. Для наглядности см. скриншот 1: скриншот 1
Скриншот 1

Переносим наши правки

Обратите внимание на файл arhive.php на скриншоте выше. Как можно заметить, в левой панели (т.е. в нашей текущей версии) в нем есть изменения, которых нет в дистрибутиве. Об этом говорит красная точка на иконке файла. Если дважды щелкнуть по файлу arhive.php, откроется окно сравнения файлов. Наши изменения подсвечены зеленым цветом (См. Скриншот 2):

скриншот 2
Скриншот 2

Перенос изменений в новую версию

Естественно, переносить следует только те изменения, которые были сделаны Вами. Чтобы внести эти изменения в файл из новой версии, нужно:

  1. кликнуть по кнопочке со стрелкой
  2. поместить курсор в правую панель
  3. нажать кнопку «Сохранить» на тулбаре

Эта последовательность действий изображена на скриншоте 3:

скриншот 3
Скриншот 3

Дальнейшие действия

Вернуться к просмотру папок. Ищем следующий файл с красной точкой в левой панели и переносим следующее изменение. Когда перенос изменений завершен, просто забираем файлы из новой папки (152) и закачиваем на сайт, заменяя текущие.

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

Ссылки

Оглавление wiki-справочника по InstantCMS


Материал взят из блога Коллективный разум, который ведет наш милый админ.


Записала feba7

 
апгрейд_переустановка_версии_дистрибутива.txt · Последние изменения: 2010/02/04 13:57 От feba7