Несмотря на то, что первый релиз CMS Cotonti состоялся в феврале 2009 г., на момент написания данной статьи эта система управления сайтом привлекла к себе достаточно большое внимание со стороны веб-мастеров, веб-дизайнеров, программистов и владельцев веб-сайтов. Сохранив в себе все самое лучшее от CMS Seditio, Cotonti шагнула далеко вперед в плане использованных технологий и предлагаемых возможностей.
Хотя столь малый срок разработки пока не позволяет назвать Cotonti на 100% готовым коммерческим продуктом, веб-мастера уже получили в свое распоряжение достаточно стабильную платформу для создания технологичных и функциональных веб-сайтов практически любой тематики. Однако из-за отсутствия простых и дружественных к пользователю средств обновления, все еще открытым остается вопрос мигрирования сайта с Seditio на Cotonti. Именно этой теме посвящена данная статья.
Что необходимо для перевода сайта на CMS Cotonti
Прежде всего, необходимо понимать, что переход на Cotonti представляет собой действия, связанные с радикальными изменениями в дальнейшей работе вашего веб-сайта. Именно поэтому, во избежание фатальных ошибок, мы не рекомендуем выполнять мигрирование действующего сайта в режиме он-лайн. Воспользуйтесь локально установленным пакетом Apache / PHP / MySQL, например Денвер-3 или xampp.
Кроме того, необходимо позаботиться и о приостановлении работы веб-сайта на время мигрирования. Сделайте это при помощи плагина Maintenance или любым другим подходящим для вас способом. Будем считать, что копия веб-каталога, в котором размещен ваш сайт, дамп баз данных MySQL к нему, и дистрибутив CMS Cotonti у вас под рукой.
Следующие этапы мы будем проводить на локальном веб-сервере с двумя рабочими виртуальными хостами. На один из них установим исходный веб-сайт, на второй – дистрибутив Cotonti, который, по мере выполнения этапов мигрирования, станет нашей целью. Для удобства назовем эти хосты Seditio и Cotonti соответственно.
Итак, прежде чем начать первый этап мигрирования, вам необходимо подготовить:
- локально установленный пакет Денвер-3, xampp или им подобный
- хост с исходным сайтом (Seditio 121) и хост с дистрибутивом Cotonti
- текстовый редактор, работающий с Юникодом (например, Notepad++)
Первый этап мигрирования: подготовка исходного сайта
Для того чтобы сделать процесс перехода с Seditio на Cotonti максимально корректным и безопасным, избавимся от лишних данных.
Плагины (Управление сайтом -> Плагины)
В Cotonti реализовано множество функций, которые в Seditio были доступны только с помощью плагинов. Если вы знаете, о чем идет речь, отключайте только ненужное. Если же вы сомневаетесь, то во избежание каких-либо ошибок, отключайте все плагины. Таким образом вы обезопасите себя от возможных проблем, а необходимые плагины подключите вновь после перехода на Cotonti.
Рефералы (Управление сайтом -> Разное -> Рефереры)
Для сокращения размера базы данных можно очистить и этот раздел (Очистить все)
Системный протокол (Управление сайтом -> Разное -> Системный протокол)
Еще один кандидат на удаление из-за своего размера (Очистить все).
На этом подготовку можно считать законченной. При помощи утилиты phpMyAdmin экспортируем дамп базы данных MySQL.
Второй этап мигрирования: перенос файлов
Начинаем работать с хостом Cotonti. Из каталога с сайтом под управлением Seditio нам потребуется следующее:
- содержимое каталога datas/ за исключением файлов index.php и config.php, а именно подкаталоги avatars, defaultav, html, photos, signatures, thumbs, tmp, users
- содержимое каталога plugins/ за исключением плагинов, которые включены в дистрибутив Cotonti (adminqv, cleaner, forumstats, ipsearch, massmovetopics, news, passrecover, recentitems, search, statistics, whosonline)
- скин вашего сайта из каталога skins/
Скопируем все эти подкаталоги в хост Cotonti, переименуем файл datas/config-sample.php в datas/config.php (не забудьте сразу отредактировать в нем переменную $cfg['mainurl']) и перейдем к работе с базой данных.
Третий этап мигрирования: конвертирование базы данных в Юникод
Для начала необходимо создать базу данных для хоста Cotonti. Назовем ее sedition, как предлагается по умолчанию в установках config.dat. Теперь, для перехода на Юникод выполним операцию сравнения. Для этого в пункте Сравнение раздела Операции выберем utf8_unicode_ci и нажмем кнопку Пошел. (Продвинутые пользователи могут сразу выполнить SQL-запрос ALTER DATABASE `sedition` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci).
База данных создана и готова, но с дампом для нее придется немного поработать.
Откроем дамп в текстовом редакторе с поддержкой Юникода (в нашем примере Notepad++) и удалим все строки DEFAULT CHARSET=cp1251 (или с другой, отличной от UTF-8 кодировки, которую вы использовали). Сделать это можно при помощи операции поиска и замены.
Теперь необходимо преобразовать дамп в кодировку UTF-8 без BOM (Byte Order Mark). Сделать это несложно. Теперь и база данных и дамп готовы. Импортируем дамп.
Четвертый этап мигрирования: обновление базы данных до версии Seditio 125
На этом этапе мы снова займемся преобразованием базы данных. На этот раз – обновлением ее до исходной версии 125. Для этого нам потребуется выполнить скрипт upgrade-seditio12x-to-seditio125.php, который находится в корневом каталоге нашего хоста Cotonti. Однако прежде чем запустить его, необходимо переписать файл system/database.mysql.php на аналогичный файл из дистрибутива Seditio 121. Этот маленький хак потребуется нам только на время обновления базы данных, после чего мы вернем все на свои места.
Запускаем upgrade-seditio12x-to-seditio125.php и последовательно выполняем все 5 шагов:
Наша база данных обновлена. Удаляем upgrade-seditio12x-to-seditio125.php и перезаписываем system/database.mysql.php соответствующим файлом из дистрибутива Cotonti.
Однако запускать сайт еще рано: требуется обновить базу данных до текущей версии Cotonti.
Пятый этап мигрирования: обновление базы данных до текущей версии Cotonti
Это самый простой этап в переходе с Seditio на Cotonti. В нашем примере мы будем обновлять базу Seditio 125 до версии Cotonti 0.0.3. Для этого запускаем утилиту phpMyAdmin и открываем базу sedition. В разделе SQL -> Местоположение текстового файла -> Обзор выбираем файл с SQL-запросами для выполнения преобразования. Нам необходимо последовательно выполнить следующие SQL-запросы:
- patch-125-n-0.0.1.sql
- patch-0.0.1-0.0.2.sql
- patch-0.0.2-0.0.3.sql
Перевод сайта с Seditio на Cotonti завершен. Можно приступать к подключению плагинов, конвертации скина и тонкой настройке новых возможностей движка.
Заинтересовались? Звоните нам по телефонам +375 (29) 774-35-89 и +375 (44) 774-35-89 в Минске. Мы будем рады помочь Вам в реализации Вашего проекта.
8. Admin @ 20 апр 2010 г. в 22:29
7. Макс @ 20 апр 2010 г. в 17:59
6. Admin @ 20 апр 2010 г. в 17:43
5. Макс @ 20 апр 2010 г. в 07:03
4. Admin @ 9 апр 2010 г. в 20:46
3. Макс @ 9 апр 2010 г. в 05:42
2. Boss @ 16 июн 2009 г. в 01:38
1. Jorvik @ 16 апр 2009 г. в 22:18