Миграция с joomla на AltoCMS


Здравствуйте!
Хочу поделиться радостным моментом: я мигрировал с joomla на altocms. Ура, наконец-то, я могу забыть о joomla, так как она постоянно подвергалась взломам.
А вот сам сайт — trendyclub.org.
Хочу поблагодарить aVadim за разработку плагина по конвертации БД.

С помощью него я успешно перенес:
— категории
— материалы
— комментарии
— пользователей

На старом движке я использовал расширения jomsocial (социальная сеть), k2 (контент менеджер) и jcomments (компонент комментарий).
Если вы использовали стандартный контент менеджер joomla, то можете просто установить компонент k2, и в главной панели импортировать все статьи с com_content.

Для начала миграции с joomla на altocms нужно сделать несколько шагов:
1. Установить Alto CMS (нужно скачать самую последнюю версию с гитхаба)
2. Задать админу логин, отличающийся от admin (т.к. будет конфликт при переносе юзеров из Джумлы)
3. Таблицы Джумлы перенести в ТУ ЖЕ базу данных, с которой работает Альто (префикс таблиц Альто и Джумлы должен отличаться)
4. Активировать плагин migrator (его можете скачать с github)
5. Перейти по адресу site.com/migrator/ и следовать инструкциям
6. По окончании убедиться, что все сработало хорошо, и отключить плагин
7. Если использовали компонент jomsocial, то аватары пользователей из папки /images/avatar/ следует перенести в папку /uploads/images/avatar/, остальные загруженные изображения могут оставаться там, где лежат
8. После того, как поняли, что все ОК, таблицы Джумлы можно удалить из этой базы данных. Если что-то не так, что всю процедуру можно повторить. Предыдущие импортированные данные будут удаляться автоматически

ВАЖНО: плагин работает без авторизации, т.е. он может быть запущен любым посетителем сайта. Поэтому ни в коем случае нельзя оставлять его на работающем сайте после миграции!

После конвертации нужно изменить структуру URL. Так как в joomla ЧПУ немного отличается, то пришлось в настройках изменять шаблон (Админ панель->Настройка->Настройка сайта-> вкладка Ссылки), где указал %blog_url%/%topic_url%-%topic_id%.html (Категория/Статья-id)
Структуру мы поменяли, но в моем случае ЧПУ формировал компонент sh404sef! и тот Алиас, что был сгенерирован компонентом k2, который мне не подошел (были разные замены букв к примеру в альто 'є' => 'ye', а в sh404sef! 'є' => 'e').

Я решил переформировать ЧПУ по своей таблице замен, а именно сделал 3 шага:
1) Через инструмент phpmyadmin выполнил команду очистки адресов статей через команду «update prefix_topic set prefix_topic.topic_url='';»
2) Открыл таблицу замен /engine/libs/UserLocale/i18n/ru.php и сверил с таблицей sh404sef!.
3) После проверки замен можем приступить к формировании ЧПУ через генератор ссылок (Админ панель->Настройка->Настройка сайта-> вкладка Ссылки — Генерация ссылок)

Теперь у нас ссылки одинаковые, только в категории мешает нам в начале приставка /blog/.
Мы ее можем удалить с помощью хаков 2-х файлов.
Открываем файл /app/config/config.local.php и в нем добавляем редирект для каждой категории по такому примеру:
$config['router']['uri']['~^interer/?$~i'] = 'blog/interer/';
После чего при переходе по ссылке site.ru/interer/ у нас не будет возникать ошибка 404. Ну это не все. Адрес категории в шаблоне остались с приставкой /blog/
Делаем хак в файле /common/classes/modules/blog/entity/Blog.entity.class.php
Находим строчку
return Router::GetPath('blog') . $this->getUrl() . '/';
заменяем ее на новую или комментируем
return Config::Get('path.root.web') . $this->getUrl() . '/';
Не забываем после обновления движка поправлять строку.

Вот теперь у нас ссылки статей и категорий полностью совпадают с предыдущем движком.

Миграция с джумлы закончена.

Еще раз хочу поблагодарить aVadim за помощь в миграции сайта!

Похожие статьи

  • Конвертирование БД
    (Конвертирование или конвертация?) В общем провел такой эксперимент (не вольно). После переезда с LS на AltoCMS 1.0.7 просто неимоверно возросла нагрузка на CPU. Страницы грузятся от 2 до 3 минут... Часто вылетает...

15 комментариев

0
Миграция с джумлы закончена.

Да уж — раз плюнуть.
Если что со второй половины я вообще ничего не понял))
0
Во второй половине я уже подгонял ЧПУ, дело в том, что у меня на старом сайте ссылки генерировал компонент sh404sef! и там отличалась таблица замен. Пришлось очистить импортированные адреса и перегенерировать.
Ну и потом еще избавился от приставки /blog/
0
А что стало с паролями пользователей, вы их сбросили или сохранили каким-то образом?
0
Основные поля пользователей удалось перенести, а именно: (логин, пароль, email, аватарку), joomla формирует хэш пароля так: md5(password+salt). В конвертации можно задать свой salt ($secret) и пароли будут совпадать.
0
Боюсь, что от взломов вы не избавитесь :-) так не от CMS это зависит.
Предвижу через пол годика пост… Алто дырявая и плохая, меня постоянно ломают.

PS: а ссылка то на гитхаб где?
Отредактирован:
0
Алто дырявая
И где хотя бы одна дыра?
0
В Joomla тоже нет дыр особых :-)
Я к тому, что ломают в 99% не из-за того, что есть дыры… А из-за самих владельцев сайтов :-)
Если это Joomla в 40% случаев это варез с бекдорами, 20% это расширения с уязвимостями, а остальное это не соблюдение элементарных правил безопасности.
В WP несколько другая картина, но сути этого не меняет около 80% это человеческий фактор.
А реальных уязвимостей через, которые можно было бы сломать CMS массово я разве что у WP припоминаю, да и то это была уязвимость библиотеки.
По этому я и говорю, что люди с таким подходом через пол года будут хаять и Альто в области безопасности, так как CMS не спасла их от того, что FTP пароли утекли в сеть или еще какая нибудь такая хрень.
0
А, пардон, не сразу въехал, что фраза про Альто — это как бы ожидаемый пост через полгодика :)
Я это поначалу воспринял, как утверждение )))
0
Кстати ссылочку на git со скриптом миграции не укажешь?
0
Выложу на днях в открытый доступ
0
А у вас есть сайты на joomla? Почитайте на форумах сколько случаев взломов. Joomla одна из самых популярных движков по взломам. По моему даже инструкций «как взломать joo..» в интернете полно…
Начиная от версии 1.0, может помните еще этого дракона? Сколько там находили дыр…
Я не говорю уже за уязвимость компонентов…
Или вы считаете, что дыры это вина вебмастера (при условиях, что движок актуальной версии)?

Скажу, что взломы это не основная причина перехода.
Отредактирован:
+1
У меня около 100-ни сайтов (личных).Где то 50 сайтов на Joomla.
И я могу сказать что взломов за лет эдак 5 использования можно посчитать по пальцам одной руки, и это происходило из-за халатности пользователей сайтов и один раз из-за редактора JCE.
Прежде чем писать, о сообщениях на сайтах, вы прочитайте внимательно, кто и что там пишет. В большинстве своем, я скачал компонент, модуль, шаблон с какого то сайта и у меня какая стал странная штука… и чет письма шлет не понятные.
Если говорить о Joomla 1.0 то там относительно Joomla 3 ломать нечего и при этом Joomla одной из самых защишенной CMS до сих пор массовой эпидемии из-за уязвимостей именно Joomla не было.
И еще по поводу количества зломов, количество сайтов на Joomla даже не на порядок больше чем ALTO, я думаю, что тут будет речь в разнице в 6-7 порядков, если не больше, следовательно и интерес к взлому сайтов на Joomla есть. Это так же как говорить, что Windows дырявая, по сравнению с Linux.
Лучше задайте вопрос себе, а что вы сделали для безопасности сайта? Так как я утверждаю, что любая популярная CMS достаточно хорошо защищена от взломов и проблема не в самой безопасности или кривости кода, а именно в пользователях и обслуживающем персонале сайта.
0
Я понимаю, что вы фанат joomla и спорить с вами не буду. Так как это популярный движок, то вероятность, что будут искать лазейку для взломов очень большая. А уязвимостьей в движке было найдено и исправлено не мало начиная от первых версий 1.5.х.
0
У меня тоже очень много сайтов на джумла. Начинал еще с Joomla 1.0, затем 1.5. Сейчас процентов 50 осталось на 1.5, остальные 2.5 и 3.
Лично у меня ломали только 1.5. Не скажу что часто — главное найти откуда залезли и перекрыть. Да и взломы все примитивные, при наличии бэкапа на все восстановление уйдет не более 5-10 минут. Клиентов с серьезными сайтами перевел на 2.5-3.*, остались много мелких фирм, которых вполне устраивает и сидение на 1.5 джумле. Есть еще куча решений и расширений для безопасности джумлы. Так что популярность системы и наличие методик взлома легко компенсируется возможностями ее защитить.
Те же admin tools позволят поставить дополнительный пароль на админку, пофиксить возможные узкие места, сменив, например id админа. Это уже не говоря про какие-нить файрволы и навороченные системы мониторинга. Так что на джумлу я совсем не жалуюсь. Зато знаю, что 80-90% пожеланий клиента уже есть в готовых расширениях для джумлы.
0
Я к сожалению не мог перейти на 2.5, так как уже было очень много доработок и были компоненты которые уже на 2.5 не поддерживались.
Еще 18 сайтов у меня осталось на joomla, из низ переводить на alto буду 1-н точно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.