Выходят всё новые и новые версии систем управления контентом с новым функционалом, порой, даже не находится времени уследить за ними. Данная статья поможет найти ответы на вопросы: важен ли процесс обновления и миграции содержимого CMS Joomla! 1.5 на более новую версию 3.x и какие способы реализации этого процесса существуют.
Joomla! — это бесплатная, с открытым исходным кодом система управления контентом для создания веб-сайтов. В течение двенадцати лет данный проект не стоит на месте и прекрасно развивается, приобретая популярность у многих пользователей в мире.
Эта CMS имеет два типа поддержки: стандартную (STS) и долгосрочную (LTS). Срок долгосрочной поддержки составляет двадцать два месяца, стандартной — семь месяцев. LTS включают в себя версии х.5.
Таблица 1
Этапы развития CMSJoomla!
Версия CMS Joomla! |
Дата выпускасистемы |
Дата окончания поддержкисистемы |
1.0 |
09.2005 |
22.07.2009 |
1.5 (LTS) |
01.2008 |
09.2012 |
1.6 |
01.2011 |
08.2011 |
1.7 |
07.2011 |
02.2012 |
2.5 (LTS) |
01.2012 |
12.2014 |
3.0 |
09.2012 |
05.2013 |
3.1 |
04.2013 |
12.2013 |
3.2 |
11.2013 |
10.2013 |
3.3 |
04.2014 |
до выхода версии 3.4 |
3.4 |
02.2015 |
до выхода версии 3.5 |
3.5 |
03.2016 |
до выхода версии 3.6 |
3.6 |
07.2016 |
до выхода версии 3.7 |
Первое, о чём должен задуматься пользователь CMS, — это надёжность и безопасность. Число веб-сайтов на Joomla!, не устоявших перед атаками злоумышленников, увеличивается. Главной причиной этого является то, что версия системы 1.5 прекратила свои обновления в сентябре 2012 года и большинство пользователей не уделили этому моменту должное внимание.
Сама по себе Joomla! 1.5, достаточно безопасная, потому что является конечной версией линейки 1.x. Но основной проблемой являются часто используемые пользователями сторонние расширения, они, в свою очередь, очень уязвимы, так как были созданы для более старой платформы.
Одним из видов угроз выступают CSRF(«Cross-Site Request Forgery» — Межсайтовая подделка запроса) атаки. Данные атаки имитируют запросы пользователя к постороннему веб-сайту. В результате атак каждый зарегистрированный пользователь без всяких приоритетов может получить статус Super Administrator. Тем самым открыв для себя полный доступ к системе.
Также Joomla! 1.5 применяет для своей работы достаточно уязвимый платформонезависимый редактор контента Tiny Moxiecode Content Editor.
Удалённый пользователь, используя эту уязвимость, может открыть для себя доступ к произвольным файлам на системе и реализовать код сценария в контексте безопасности портала.
Другая проблема безопасности в системе кроется в вызове удалённых процедур XML-RPC (Extensible Markup Language Remote Procedure Call — XML). При помощи этой дыры в системе злоумышленники могут управлять данными веб-сайта. Так как интерфейс RPC, фиксирует ряд стандартных команд и типов данных и всегда находится во взаимодействии с плагином Blogger API, который, в свою очередь, можно использовать для манипуляции с информацией портала.
Безопасность — это, конечно, основная причина выполнить миграцию контента с Joomla! версии 1.5 на 3.x, но не единственная. Новые расширения и функционал помогут поддерживать контент в актуальном состоянии. К примеру, Google, в поиске с мобильных устройств, отдаёт предпочтение сайтам, у которых имеется мобильная версия. Система Joomla! 3.x поддерживает мобильный интерфейс и адаптирована под мобильные устройства. Так выходит, что веб-сайты не делаются один раз и навсегда. Интернет-технологии перманентно прогрессируют и можно не сомневаться, что рано или поздно портал будет иметь необходимость в изменениях, если не уделять время на его обновление сейчас, то от этого увеличится стоимость и сложность принятия этих изменений в будущем.
Большинство пользователей не хотят мигрировать свой ресурс на платформу 3.x, потому что они довольны работой сайта и системой управлением контента в целом. Думают, если нет проблем с запуском текущей версией Joomla! и сервер защищен, то нет нужды беспокоиться о миграции данных. Соответственно в результате взлома или когда произойдёт сбой портала, этим пользователям придётся чистить контент и систему, а это довольно проблематично, чем предотвратить попытку взлома. Поэтому и существует необходимость строго соответствовать требованиям безопасности и обновлять платформу при первой же возможности.
Миграция контента с версии 1.5 до 3.x требует немало изменений. Новая Joomla! имеет усовершенствованный функционал, большие изменения в таблицах баз данных и в структуре системы в целом. Это обновление не в одно действие. Для каждой отдельного элемента сайта на версии 1.5 необходимо провести анализ, планирование и только потом экспорт.
Процесс миграции можно реализовать как на удаленном сервере, так и на локальном. Миграция на удаленном сервере — это метод, при котором все операции будут выполняться на хостинге. Второй же вид сервера довольно затратный по времени, но более безопасный, так как он не затрагивает рабочий сайт. В этом случае подключение к сети интернет необязательно, если предустановлено всё необходимое программное обеспечение для миграции.
Есть несколько способов экспорта данных. Наиболее тривиальный метод — это ручной. Для реализации данной миграции необходимо только установить новую CMS Joomla! 3.x и вручную переносить весь контент.
Этот вариант целесообразен только в двух случаях: если объём содержимого системы, который нужно мигрировать, небольшой и, когда не обновляются архаичные компоненты, использующие базу данных.
Также существует ряд компонентов для выполнения миграции ресурса на Joomla!. Рассмотрим самые популярные из них:
J2XML — это расширение, которое помогает пользователям импортировать и экспортировать, с одной платформы на другую, такой элемент системы как «Материалы». При помощи него можно создать совершенно новый веб-сайт, но контент автоматически брать со старого проекта. Перенос информации выполняется после инсталляции компонента. Файл на выходе имеет формат — XML. Экспорту доступны параметры материалов такие как: статьи, метаданные, заголовки, информация о категориях и разделах системы, сроках публикации и авторах статей, датах внесения изменений, количестве просмотров. Данное расширение предоставляет возможность выбрать элементы для экспорта, которым на новой системе присваиваются идентификаторы.
Главный недостаток данного компонента — это то, что он только помогает реализовать миграцию контента с версии 1.5 на 2.5. Чтобы дойти до версии 3.x необходимо выполнить обновление стандартными расширениями Joomla! 2.5. Это конечно не очень удобно, но зато этот компонент находится в свободном доступе и не потребует финансовых затрат.
При помощи J2XML можно полностью воссоздать всю информацию на новом ресурсе, используя предыдущий проект, путем экспорта данных через XML файл. Тем самым решаются все проблемы, связанные с базами данных, и обеспечивается быстрое восстановление информации со старого проекта.
jUpgrade — это компонент, который был разработан аргентинской компанией Matware. Предназначен он для автоматизированного экспорта контента системы с версии 1.5 до 2.5 с резервированием всех данных, конструкции ресурса, URL, модулей и т. д. Инсталляция и настройка jUpgrade ничем не отличается от установки любого другого расширения Joomla!. На сайте разработчика можно скачать две версии программы: бесплатную и платную, которой присущ более широкий функционал.
jUpgrade выполняет следующие функции:
− установка Joomla! 2.5;
− миграция информации из базы данных старой версии веб-сайта на обновлённую;
− экспорт данных из набора стандартных компонентов системы;
− перенос ряда основных расширений.
Для корректной работы компонента, система должна соответствовать следующим системным требованиям:
− PHP версии 5.2.x или выше;
− Joomla! 1.5 должна быть обновлена до последней версии своей линейки (Joomla! 1.5.26);
− системный плагин MooTools;
− наличие веб-браузера с поддержкой Javascript и JQuery.
Так же как и в случаи с компонентом J2XML, что бы обновится до версии 3.x, необходимо воспользоваться стандартными обновлениями Joomla!.
Компонент redMIGRATOR создан разработчиками датской компании redCOMPONENT. Он может осуществлять процесс миграции содержимого системы в одном из двух режимов:
- RESTful — при этом режиме миграция данных в обновлённую систему, реализуется при взаимодействии redMIGRATOR с административной частью старого ресурса по протоколу HTTP. Это достаточно эффективный метод, если нет возможности на прямую из компонента экспорта обратиться к базе данных старого портала. Способ затратный по времени, но отлично подходит, если необходимо произвести процесс экспорта между двумя удаленными серверами. Также необходимо учитывать, то, что в Joomla! 1.5 должен быть предустановлен плагин plg_redMIGRATOR. Его можно скачать, как и сам компонент на сайте разработчика.
- DataBase — режим непосредственного подключения к базе данных старого веб-сайта и передачи из нее всей информации, которая затем преобразуется и заносится в базу нового ресурса. Этот режим значительно преуспевает по быстродействию и стабильности, чем RESTful. Данный метод эффективен, если все действия проводятся на локальном сервере.
Компонент обновления реализует процесс миграции контента с системы Joomla! 1.5 на усовершенствованные версии: 2.5.x и 3.x. Объектами миграции компонента могут быть стандартные элементы системы и расширения.
Минимальные системные требования для работы redMIGRATOR:
− PHP 5.3.x или более.
− Отсутствие в CMS Joomla! 1.5 других компонентов для миграции веб-сайта.
Также на сайте разработчика компонента redMIGRATOR можно заказать и оформить услугу переноса контента с системы 1.5. Стоимость данной услуги зависит от размера и сложности структуры портала.
В заключении можно сделать выводы, что периодические обновления CMS Joomla! очень важны для веб-сайта. Так как в программном обеспечении достаточно регулярно можно обнаружить уязвимости, а лучшим способом защиты от атак взлома является постоянное обновление CMS. Радует тот факт, что в сети можно найти способы миграции контента со старой системы на новую, тем самым наверстать упущенное и сделать сайт более защищённым от веб-угроз.
Литература:
- Joomla.ru — сайт поддержки российского сообщества Joomla! / [Электронный ресурс] — 2016 г. — Режим доступа: http://joomla.ru
- JoomlaPortal.ru — сайт команды локализации Joomla! / [Электронный ресурс] — 2016 г. — Режим доступа: http://joomlaportal.ru
- Joomla-Support.ru — форум русскоязычной поддержки пользователей и разработчиков. / [Электронный ресурс]. — 2016 г — Режим доступа: https://joomla-support.ru
- Колисниченко Денис Николаевич. Joomla! 3.0. Руководство пользователя. — М.: «Диалектика», 2013. — 256 с.