Процесс миграции с Joomla! 2.5.28 на Joomla! 3

Начиная с этого года (с 1 января г.) все владельцы сайтов, работающих под управлением CMS Joomla! 2.5, столкнулись с большой проблемой - официально прекращена поддержка данной линейки! Это значит, что доступный на сегодня релиз Joomla 2.5.28 является последним и больше обновлений не будет. Это, в свою очередь, ничем не грозит, а с другой стороны - не будет обновлений касающихся безопасности системы. Поэтому на оффициальном сайте Joomla! и в панели у правления (если вы обновились к последней версии 2.5.28) есть информация, согласно которой вам рекомендуется пройти обновление (мигрировать) с Joomla! 2.5.28 на Joomla! 3.
Процесс миграции с Joomla! 2.5.28 на Joomla! 3.3.6 (последний доступный релиз для обновления на сегодня) весьма не прост, если у вас большой веб-сайт, использующий огромное количество сторонних расширений. Если же у вас небольшой, использующий минимум, расширений (компонентов, модулей, плагинов...) веб-сайт, то тогда процесс миграции для вас не будет затруднительным. Более сложным процессом окажется процесс обновления сайтов работающих на Joomla 1.5 (имеется возможность обновления и для них).
Как пример такой миграции, с Joomla 2.5.28 на Joomla 3.3.6, послужит видео, где вы увидите пример обновления небольшого сайта с минимум установленных расширений. К тому же более подробно процесс миграции описан ниже.
Процесс миграции с Joomla 2.5 на Joomla 3.x
Если же вы решились пойти на этот шаг, тогда, первым делом, что вам нужно сделать, это:
- Обновиться до последней доступной версии в линейке Joomla 2.5, а это Joomla 2.5.28.
- Удостовериться в соответствии программного обеспечения вашего сервера (хостинга) минимальным требованиям для работы Joomla 3.x. Версия PHP должна быть не ниже 5.3.10 (рекомендуется 5.4 +), а баз данных (MySQL) 5.1 +.
- Создать рерервную копию вашего сайта (файлов и баз данных).
- Определиться со списком всех установленных сторонних расширений, которые вам необходимы для дальнейшей работы и те, которые вы готовы удалить.
Сторонними расширениями считаются все расширения, в которых в столбце "автор" указано не "Joomla! Project", но есть и те которые имеют другого автора, но вы не сможете их удалить, поскольку они являются системными расширениями и защищены от удаления (стоит значок замка).
Вам потребуется зайти в "Менеджер расширений" > "Обновление" и проверить, нажав на соответствующую кнопку, наличие новых версий для ваших установленных расширений и обновить их в случае такой возможности. Далее перейти на вкладку "Управление" и выбрать там тип "Пакет", поскольку, при удалении все связанные с этим пакетом дополнения (компоненты, модули, плагины) будут автоматически деинсталированы. Далее по очереди удалите все ненужные расширения выбирая другой "тип". С оставшимися (нужными для работы сайта) вам придется определиться будут ли они совместимы с Joomla 3. У некоторых из них вы увидите информационный значок возле их версии, который проинформирует вас о доступной на сегодня версии (если она отличается, тогда вам придется вручную скачивать и устанавливать новую версию, поскольку в по началу, во вкладке "Обновление" не было обновлений для этого расширения). С другими расширениями, которые не имеют такого "информационного значка", придется разбираться вручную, узнавая на сайте разработчика о новых доступных версиях.
Имеются два варианта развития: 1) ваши расширения имеют пакет совместимый как с Joomla! 2.5 так и с Joomla! 3 - тогда вы смело можете обновлять это расширение; 2) ваши расширения имеют один пакет для Joomla! 2.5 и другой для Joomla! 3 - тогда вам нужно будет деинсталлировать их (расширения) и после обновления до Joomla 3 установить новый пакет (внимание! после удаления некоторых расширений вы можете потерять имеющиеся данные).
Не забудьте также и про ваш шаблон! Если у него разные пакеты, тогда вам нужно его удалить, назначив по-умолчанию другой, желательно, родной шаблон (как и в нашем случае на видео). - После того как вы удалили все расширения не совместимые с Joomla 3 вам необходимо зайти в "Общие настройки" на вкладку "Сервер" и выставить там значение параметра "Сообщение об ошибках" на "Максимум".
- Теперь зайдите в "Менеджер плагинов" и отключите там плагин "Система - Запомнить меня".
- Перейдите в меню "Компоненты" > "Обновление Joomla!" и кликнув на "Настройки" измените сервер обновлений на "Дистрибутивы Joomla с краткосрочной поддержкой". Сразу после сохранения настроек у вас должно появится сообщение о доступном обновлении до версии 3.3.6. Установите его! После успешной установки очистите кэш.
- Далее перейдите в "Менеджер расширений" и выберите слева подменю "База данных". Нажмите кнопку исправить.
- Далее перейдите в подменю "Поиск". Нажмите кнопку найти и обновите доступные для обновления новые версии расширений.
- Включите обратно плагин "Система - Запомнить меня".
- Перейдите в "Менеджер материалов", кликните на "Настройки" и выберите вкладку "Форма редактирования", где необходимо включить параметр "Save History".
- Установите свои новые расширения, включая новый шаблон, если это необходимо.
- Для завершения процедуры миграции необходимо удалить старый языковой пакет и установить новый, соответствующий новой версии Joomla! 3.3.6.
Всё! Надеемся, что и ваш процесс прошел также удачно!
Разьяснения о процессе миграции на нашем видео
Процесс проходил в точности как описано выше. Были удалены не нужные (не использующиеся и не совместимые с Joomla 3) расширения: Socbuttons, Xmap (был скачан новый пакет и установлен после перехода на Joomla 3), а также два плагина Core Design с которыми было решено прекратить работать.
А также был удален (требовалось по инструкции разработчика) и установлен еще на Joomla 2.5 новый пакет для JComments, поскольку новая версия компонента была совместима как с Joomla 2.5 так и с Joomla 3.
Комментарии
Чего только не пробовал и ваш вариант не прошел (из сторонних установлено SobiPro, шаблон Asiamarine - не обновлен).
Fatal error: Call to a member function get() on a non-object in /.../s/administ rator/component s/com_installer /controller.php on line 39
Fatal error: Call to a member function get() on a non-object in /..../s/adminis trator/componen ts/com_cache/co ntroller.php on line 36
Ошибка в админ. панели:
Table 'rov.zq5yh_post install_message s' doesn't exist SQL=SHOW FULL COLUMNS FROM `zq5yh_postinstall_messages`
На сайте:
Fatal error: Call to undefined method JParameter::loa dINI() in Z:\home\xxx\www \libraries\joom la\html\paramet er.php on line 76
Может это быть от того, что я Chronoforms не удалил. Вот, что выдает:
Фатальная ошибка: require_once(): ошибка открытия требуется '/home/p83065/w ww/***/administ ratorDSincludes DSdefines.php' (в include_path='. :/usr/местные/p hp55 в/lib/PHP в') в/home/p83065/w ww/***/plugins/ content/chronof orms/chronoform s.php на линии 3
Всё сделал как описано. Обновился. Но проблема в исправлении баз данных. Кнопка запускает и в конце переход на чистую страницу.
/administrator/index.php?option=com_installer&view;=database
Приходится снова входить в админ. Там ни чего не меняется.
Внимание: База данных устарела!
Таблица 'pm97z_menu' не содержит индекса 'idx_client_id_ parent_id_alias _language'. (из файла 2.5.0-2011-12-24.sql.)
Таблица 'pm97z_redirect _links' не содержит индекса 'idx_old_url'. (из файла 3.5.0-2016-03-01.sql.)
Основные таблицы базы данных Joomla! еще не преобразованы в UTF-8.
Версия схемы базы данных (из #__schemas): 3.5.1-2016-03-29.
Версия обновления (из #__extensions): 3.5.1.
Драйвер БД: mysqli.
92 изменений базы данных были успешно проверены.
147 изменений базы данных не изменили структуру таблиц и были пропущены.
Как решить эту проблему.
Спасибо.
2.5.0-2011-12-24.sql
3.5.0-2016-03-01.sql
Индексы есть. Я проверил.
Находятся они по адресу
\www\administrator\components\com_admin\sql\updates\mysql
Первый вариант просто зависает в стадии загрузки, т.е. шкала скачивания даже не появляется, а остальные требуют от меня этот файл xml.
Подскажите, что тут можно сделать?
Но если ваши расширения, как и сам шаблон поддерживают совместимость, как с Joomla 2.5, так и с Joomla 3, то вам не нужно их удалять.