Это пока не окончательная статья, постепенно она будет дополняться [редакция от: 22.01.2009]
Описывается миграция только с версии 0.9.7.1
Если у вас более ранняя версия, Вам сначала необходимо обновить "2z project" до версии 0.9.7.1 и только после этого проводить миграцию.
Процесс миграции можно разделить на несколько стадий:
I Подготовительные операции
II Адаптация шаблонов
III Адаптация БД
IV Обновление файлов движка и конфигурационных файлов
I Подготовительные операции
Перед началом миграции необходимо сделать резервную копию всей информации (файлы, БД) средствами, предоставляемыми хостером.
Резервное копирование средствами "2z project" недопустимо.
При наличии возможности, процедуру апгрейда желательно сначала проводить на тестовой среде (к примеру, на локальной машине под denwer'ом) и только потом выполнять на работающем сайте.
II Адаптация шаблонов
Если вы планируете использовать один из шаблонов, идущих в поставке NG CMS, то этот раздел можно пропустить.
Для полноценного использования вашего шаблона в NG CMS вам необходимо:
1. Во всех файлах заменить {zz_url} на {admin_url}
2. Создать файл-описание для вашего шаблона. Он называется version и лежит в каталоге вашего шаблона.
Вот пример такого файла для шаблона default. Детально описывать значения полей не буду, т.к. в примере всё уже и так указано:
; ; Version file for template ; ; UNIQ template ID ID: madworks.default ; Author name Author: Mad works ; Author site page Author_URI: http://mad-works.com/ ; Version number Version: 01 ; Release date RelDate: 2008-10-07 ; Template title Title: Default template ; List of built in templates for plugins Plugins: archive, calendar, favorites, popular ; Size: 256 x 192, format: PNG ImagePreview: images/tpl_preview.png ; Size: 512 x 384, format: PNG Image: images/tpl_image.png
III Адаптация БД
Необходимо выполнить следующий SQL запрос (в случае, если ваш префикс отличается от 2z - замените 2z на ваш префикс):
alter table 2z_images add column orig_name char(100) default ''; alter table 2z_images add column description char(100) default ''; alter table 2z_images add column linked_ds int default 0; alter table 2z_images add column linked_id int default 0; alter table 2z_images add column p_width int default 0; alter table 2z_images add column p_height int default 0; alter table 2z_files add column orig_name char(100) default ''; alter table 2z_files add column description char(100) default ''; alter table 2z_files add column linked_ds int default 0; alter table 2z_files add column linked_id int default 0; ALTER TABLE 2z_category ADD tpl CHAR(20) AFTER cat_show; ALTER TABLE 2z_category ADD number INT(11) DEFAULT '0' AFTER tpl; update 2z_files set orig_name = name; update 2z_images set orig_name = name;
IV Обновление файлов движка и конфигурационных файлов
1. Скопируйте каталог engine/ из дистрибутива движка на хостинг
2. Скопируйте файлы .htaccess, changelog.txt, index.php, install.txt, license.txt, robots.txt из дистрибутива движка на хостинг
3. Перенесите содержимое каталога 2z/conf/ в каталог engine/conf/
4. Выставьте права доступа 0777 для каталогов engine/conf/, engine/backups/, engine/cache и их содержимого
5. Переименуйте файл engine/conf/config.inc.php в config.php
6. Замените в файле engine/conf/config.php текст zz_url на admin_url
7. Замените в файле engine/conf/config.php в параметре admin_url текст /2z на /engine
8. В файлах .htaccess и engine/trash/htaccess-dist.txt заменить текст 2z/ на engine/
9. Удалите каталог 2z/
Если вы хотите использовать шаблоны, идущие в составе NG CMS, то:
10. Скопируйте каталог templates/ из дистрибутива движка на хостинг
-------------------------
Если вы обнаружили какой-то недочёт в описании процедуры миграции - пишите сюда
Неактивен
hot, три семёрки - это универсальный вариант, который будет работать на всех хостингах.
При этом для правильного хостинга достаточно 0700 (т.е. хозяину - всё, остальным - ничего).
К сожалению, хостингов на которых клиентский Apache и FTP сервер работают с одним и тем же пользователем - не так уж и много.
Поэтому совет всегда один - если ты понимаешь что делаешь, то можешь понизить привилегии.
Если не понимаешь - оставляй всё как есть.
Неактивен
alter table ng_images add column orig_name char(100) default '';
не ng_images, а 2z_images
6. Замените в файле engine/conf/config.php текст zz_url на admin_url
2z на engine еще в этой строке, типа
'admin_url' => '{domain}/engine',
а так все тьфу-тьфу вроде все гладко прошло
// плюс перезаписать htaccess из админки надо
Отредактированно Wolverine (2008-11-19 15:07:51)
Неактивен
Не работает добавление и редактирование категорий
Ошибка: Error! Bad query! [insert into 2z_category (name, alt, cat_show, parent, icon, alt_url, orderby, tpl, number, description, keywords) values ('Видео', 'video', '1', '0', '', '', 'postdate desc', '', '0', '', '')]
все дело в том, что видимо поменялась структура таблицы categories. Добавлено поле tpl. Надо создавать вручную, какого типа оно должно быть?
// все нашел, char(20). Надо выполнить примерно такой запрос
ALTER TABLE 2z_category ADD tpl CHAR(20) AFTER cat_show
// о, блин еще одно поле
ALTER TABLE 2z_category ADD number INT(11) DEFAULT '0' AFTER tpl
Все, теперь работает
// я мастер SQL
Отредактированно Wolverine (2008-11-25 14:45:14)
Неактивен
При переходе по ссылкам .print вываливается ошибка 404
в .htaccess заменить
RewriteRule ^articles/([^/]*)/(.*).print(/?)+$ 2z/includes/print.php?category=$1&altname=$2 [QSA,L]
на
RewriteRule ^articles/([^/]*)/(.*).print(/?)+$ engine/includes/print.php?category=$1&altname=$2 [QSA,L]
// у меня articles вместо category. пока новой схемы урлов не будет
// хотя я вроде заменял .htaccess (т.е. по умолчанию в этой строке стоит engine), при перезаписи его из админки уже 2z стоит
Отредактированно Wolverine (2008-12-06 13:31:32)
Неактивен
наконец-то переехал. все прошло достаточно гладко, хотя с плагинами пришлось повозиться. в ФАК стоит добавить еще один пунктик:
в файле config.php смените ваш_сайт/2z на ваш_сайт/engine в строчке напротив admin_url
Неактивен
Я использую шаблон из 2z. Все работает, за исключением вывода капчи - картинка не выводится. Какие переменные могут не это влиять? Если использую шаблон default то капча отображается - значит беда именно в шаблоне.
Причем капча не работает только в комментах, при регистрации она видна.
Неактивен
1. Проверить, выполнили ли вы соответствующий пункт FAQ: "II Адаптация шаблонов".
2. Октрыть файл comments.form.tpl, найти там:
<img src="{admin_url}/trash/captcha.php" alt="" />
Заменить на:
<img src="{admin_url}/captcha.php" alt="" />
P.S. Если нету толку использовать сторонние шаблоны, то лучше не используйте...
Неактивен
Попытаться заменить:
<td style="padding-left: 15px;"><img src="{admin_urll}/trash/captcha.php" alt="" /></td>
На:
<td style="padding: 5px;"><img src="{admin_url}/captcha.php"></td>
Если не заработает тогда хз...
Версия какая?
Отредактированно infinity237 (2009-03-04 21:32:16)
Неактивен
Пытался сконвертировать шаблоны от 2z с Buy_design-a, но выдает ошибку: Internal system error: array ( 'type' => 'info', 'info' => 'К сожалению, новостей нет!', ). Установлена НГКМС 0.9.1 и шаблоны тоже от 2z такой же версии. Но что-то расходится.
Что это может быть? Аз не программер, нифига не понимаю. ААААА! (((
Неактивен
2z 0.9.1 соответствует NG 0.9.0. NG 0.9.1 это новый релиз, для которого необходимо адаптировать шаблоны по этой схеме http://ngcms.ru/docs/draft/upgrade/template_090-091.html
То есть от 2z сначала надо немного подогнать под NG по инструкции в шапке, а потом его модифицировать по инструкции выше для 0.9.1
Неактивен
chikot27, ты не до конца адаптировал шаблон для новой версии - в файле variables.ini не заполнен блок [messages]. см. документацию http://ngcms.ru/docs/draft/docs/
Неактивен
Можете подробнее написать как бази переносить?, вот я например имею дамп старой бази , но там все таблици с префиксом 2z их надо менять или как? и что дальше, когда инсталирую ng указывать старую базу или новую какой там префикс ставить?...
вопшем был бы очень благодарен по пунктикам а то я в этом полный ноль
Неактивен
1. Не надо менять префикс. В настройках админки только сменить ng на 2z
2. NG не надо инсталлировать. Просто заменить файлы. Только переезжать надо на 0.9.0, а не 0.9.1
Неактивен
Wolverine, тоесть если у меня все стоит на 2з, я меняю только содержимое папки 2з на содержимое engine, а з базами что так и оставлять, ничего менять не надо?
а где скачать можно NG CMS 0.9.0
Неактивен
Просто сделай все по инструкции В ней про установку NG не говорится. Что делать с базой тоже написано в пункте III Адаптация БД
0.9.0 лежит тут http://ngcms.ru/forum/viewtopic.php?id=89
Неактивен
8. В файлах .htaccess и engine/trash/htaccess-dist.txt заменить текст 2z/ на engine/ что то не пойму зачем и где взять engine/trash/htaccess-dist.txt заменять на engine/ если мы установили engine новый
Неактивен
наконецто я дожил до переезда с 2з на нж, и так делал так
2z --> ngcms 0.9.0 -->ngcms 0.9.1 -->ngcms 0.9.2
Три сайта прошли на мое удивление идеально ни одной проблемки, а вот самий старый и самых нагруженый на последнем этапе когда уже делал engine/upgrade.php мне выдало такую ошибку
впринципе все работает и вроде и новости могу закинуть, но чтото волнует вопрос почему ошыбка, может просто еще невижу чегото что неработает
Отредактированно legenda (2011-01-28 15:38:32)
Неактивен
Есть такое. Проблема кажется из-за того что скрипт не заточен под новую версию mysql.
Сколько галочек ставил?
Там просто выяснилось что если происходит ошибка, то дальнейшая работа скрипта приостанавливается.
Т.е. требуется несколько раз запустить скрипт и по очереди, по одной галочке выполнить обновление.
Кажется так. Точно не уверен.
Неактивен
infinity237, я сразу все 4 ставил, для 3 сайтов такое проканивало) шло без проблем, вот для одного сайта непроканало
попробовал еще раз по отдельности, так вот при первой же галочке викивает... когда
Выполнить обновление структуры БД 0.9.0 => 0.9.1
Данную операцию требуется произвести единожды при обновлении со старых версий.
Для апгрейда с версии 0.9.1 beta1 - не требуется
Отредактированно legenda (2011-01-28 16:05:49)
Неактивен