Обновление joomla 2.5 до 3.x. Пошаговая инструкция по обновлению движка.

Руководство по обновлению Joomla 2.5 до 3.xЗдравствуйте, уважаемые читатели. Недавно я обновил движок Joomla на одном из своих сайтов с версии 2.5.28 до последней доступной на момент написания статьи версии джумлы 3.3.6. Многих волнуют вопросы типа: нужно ли обновлять джумлу, как обновить Joomla и что нужно для обновления, какие подводные камни могут возникнуть т.д. В этой статье я хочу поделиться с вами опытом по обновлению Joomla с 2.5 до 3.x. Итак поехали.

Нужно ли обновлять движок Joomla с версии 2.5 до 3.x?

Я считаю, что уже пора об этом задуматься, т.к. если вы обновили Joomla 2.5 до последней версии 2.5.28, то не могли не заметить сообщение в административной панели, говорящее о том, что поддержка Joomla 2.5 закончилась 31 декабря 2014 г.

Уведомление об окончании поддержки Joomla 2.5

Меня же дополнительно сподвигло на обновление движка необходимость внедрения на сайте системы тегов. Узнав, что у тройки имеется встроенная поддержка системы тегов решил заняться обновлением движка.

Предварительные шаги, которые обязательно нужно пройти для успешного обновления движка Joomla.

1. Первым делом не поленитесь проверить, удовлетворяет ли ваш хостинг системным требованиям для нормальной работы Joomla 3.x. Сейчас уже уважающие себя хостинги удовлетворяют таким требованиям, но лучше проверить, тем более это не долго. Как видно из таблицы требования к апачу у третьей джумлы не изменились (2.x+), а вот требования к PHP и базам данных изменились. Если Joomla 2.5 еще мог работать на PHP 5.2.4+ и на MySQL версии 5.0.4+, то для Joomla 3.x уже нужно как минимум PHP версии 5.3.1 и MySQL версии 5.1.+. Самый быстрый способ проверить версии PHP и MySQL, используемые на вашем хостинге это зайти в админку Joomla, далее в верхнем меню выбрать "Сайт" => "Информация о системе". Мы увидим различную информацию о системе, в том числе текущие версии PHP и MySQL.

Информация о системе Joomla

Если текущие версии ниже минимальных требований (что с каждым днем становится все маловероятней), то придется менять хостинг.

2. Далее вам нужно убедиться в том, что используемый на вашем сайте шаблон работает на джумле третьей серии. Информацию об этом вы можете узнать на сайте разработчика вашего шаблона. Возможно, разработчик шаблона выпустил отдельную версию под Joomla 3.x. Если нет, то, возможно, вам придется озаботиться поиском шаблона для третьей джумлы, а текущий шаблон, который не поддерживает тройку удалить. Как вариант, можно конечно адаптировать шаблон для джумлы 2.5 для работы в joomla 3.x, чтобы сохранить внешний облик сайта. Что мне и пришлось сделать.

3. Далее обновите версию джумлы 2.5 до последней версии 2.5.28.

После обновления до версии 2.5.28 проверьте на всякий случай обновилась ли схема вашей базы данных до версии 5.2.28. Для этого в верхнем меню выберите Расширения -> Менеджер расширений -> вкладка Базы данных. Если вы увидите примерно такую же картину как на рисунке ниже значит ваша база обновилась нормально.

Проверка схемы базы данных MySQL

Если же у вас вместо зеленой галочки нарисован белый "кирпич" в красном круге и выходит сообщение красным шрифтом, что ваша база не обновилась, нажмите на кнопку Исправить в правом верхнем углу.

4. Так-же перед обновлением нужно отключить плагин Система - Запомнить меня. В противном случае может быть проблема со входом в админку после обновления. После обновления данный плагин можно снова включить.

5. Вообще все расширения, которые встроены в дистрибутив joomla 2.5, без проблем будут работать и в джумле 3.x. Проблемы могут возникнуть со сторонними расширениями. Чем больше сторонних расширений, тем сложнее будет переход. Если у вас много сторонних расширений, советую нарисовать на отдельном листке или в файле табличку с двумя столбцами: "Наименование расширения" и "Наличие поддержки джумлы 3.x". Вписать в таблицу наименования всех сторонних расширений (компоненты, плагины, а также модули, установленные через менеджер расширений). Обновляем все найденные расширения до последней версии. При этом надо учитывать, что не все расширения используют механизм автообновления (Расширения -> Менеджер расширений -> вкладка Обновления -> кнопка Найти обновления). Лучше зайти на сайт производителя каждого обновления и посмотреть там наличие последней версии. Далее смотрим, какие из них поддерживают Joomla 3.x. Те расширения, которые не поддерживают тройку придется удалить, в противном случае обновление может закончиться неудачно и сайт может вообще перестать открываться.

Смотрим, возможно у расширений, не поддерживающих тройку, на сайте производителя имеются отдельные дистрибутивы для тройки. В этом случае мы просто установим их сразу после обновления движка. Если же разработчик вообще не выпустил версию для Joomla 3.x, тогда придется искать аналоги данного расширения или можно запросить разработчика будет ли он выпускать версию своего расширения для тройки и в какие сроки.

Возможно, вы в процессе такой инвентаризации обнаружите расширения, которые вы когда-то использовали, но теперь уже не используете. Такие уже ненужные расширения желательно также удалить.

Чтобы увеличить шансы на успешное обновление, можно перед обновлением временно отключить все оставшиеся расширения, которые вы устанавливали сами с момента первоначальной установки. После обновления будем их по очереди включать и проверять работоспособность сайта. Исключение составляют сторонние шаблоны (если они устанавливались), которые в данный момент используются в админке и на сайте. Ведь вы же, как я писал выше, позаботились об установке совместимого с джумла 3.x шаблона. Для отключения заходим в Расширения -> Менеджер расширений -> Управление. Далее сортируем последний столбец ID списка по убыванию. Все расширения, которые вы устанавливали сами, имеют ID начиная от 10000 и выше. Вот их и можно отключить перед обновлением.

Руководство по обновлению версии Joomla c 2.5.28 до 3.x.

Сначала обязательно читаете предыдущий параграф!!!

Я категорически против обновления боевого сайта непосредственно на хостинге. Ведь непонятно как сайт будет функционировать после обновления движка и обновится ли вообще. Я делал следующее.

Снял бэкап своего сайта: базу данных и файлы сайта и закачал к себе на компьютер.

Далее восстановил тестовую копию сайта на локальном вебсервере, например, на денвере.

Далее заходим в админку тестового сайта и выбираем в верхнем меню "Компоненты" => "Обновление Joomla!".

Меню компоненты -> обновление Joomla

Если вы выполнили все шаги из предыдущего параграфа, то у вас будет сообщение, что у вас уже установлена последняя версия Joomla!, 2.5.28.

Жмем на кнопку "Настройки" в правом верхнем углу.

В появившемся окне напротив поля "Сервер обновления" выбираем из выпадающего списка "Дистрибутивы Joomla с краткосрочной поддержкой"

Выбор дистрибутива с краткосрочной поддержкой Joomla

Нажимаем кнопку "Сохранить и закрыть".

У вас появится уведомление о том, что обнаружено обновление Joomla!

В моем случае система обнаружила обновление 3.3.6.

Устанавливаем обновление Joomla

Жмем на кнопку "Установить обновление".

Если все прошло нормально, то ваш сайт откроется. Проверяем версию движка из админки.

Далее при необходимости устанавливаете шаблон, поддерживающий Joomla 3.x. Расставляете все модули в новом шаблоне, доустанавливаете необходимые расширения и проверяете работу всех компонентов.

Если вы перед обновлением отключали расширения как я писал выше, то включаете по очереди их обратно и проверяете работу сайта.

Если все нормально, заливаете обновленный сайт на хостинг взамен старого.

Если сайт после обновления не открывается.

Если вы проделали все рекомендации, описанные выше, то после обновления до тройки сайт должен открываться. Но если все же главная страница сайта перестала открываться, это означает, что какая то компонента (которую вы пропустили), несовместимая с новым движком, мешает нормальному открытию сайта. Без паники! Обычно сайт все же дает попасть в админку. (Если у вас и админка не открывается, читайте ниже). Смотрим внимательно на выводимое на экране сообщение. Обычно в сообщении указывается путь к проблемному файлу и номер строки с проблемным кодом.

Если путь ведет к файлу в папке вашего шаблона, то скорее всего дело в вашем шаблоне. В этом случае вам нужно его сменить на другой, совместимый с Joomla 3.x (если вы не запаслись шаблоном заранее, можете применить один из встроенных шаблонов) и проблема устранится.

Если в сообщении, выводимом на экране, указывается путь к файлу какого то расширения, то вы можете удалить это расширение из админки. Если нет доступа в админку, то можете попробовать переименовать папку с проблемным расширением.

Если вы не можете определить к какому расширению относится проблемный файл, то открываем данный файл в любом редакторе (я использую notepad ++) и просто удаляем (а лучше комментируем) указанную строку проблемного кода. Далее пробуем обновить главную страницу. После обновления главной страницы сообщение уже может ссылаться на другую строку данного файла или другого файла. Таким образом продолжаете комментировать строки кода в проблемных файлах до тех пор пока сайт не откроется. После этого вы можете задать вопрос на каком нибудь из форумов поддержки joomla или в комментариях к этой статье к какому расширению относятся проблемные файлы, указав путь к ним и удалить данное расширение.

Если админка не открывается после обновления Joomla до версии 3.x.

Если вы не можете попасть в административную панель после обновления сайта, значит вы пропустили какое либо расширение или шаблон, которые не совместимы с третьей джумлой. Как я уже писал выше обычно на экране выводится путь к проблемному файлу, мешающему открытию. Если путь ведет к файлу шаблона, значит нужно его сменить, например, на один из встроенных в джумлу шаблонов: Atomic, Beez5 или Beez_20 . Если путь к файлу ведет в другое место, нужно определить, к какому расширению относится данный файл и удалить данное расширение. Но как удалить расширение или шаблон, если вы не можете попасть в админку? Будем править базу данных. Для этого заходим в phpmyadmin.

Через phpmyadmin мы не можем удалить расширение, но можем его отключить. Этого достаточно, чтобы попасть в админку, а затем уже из админки удалить расширение. Информация о всех установленных расширениях хранится в таблице xxx_extensions, где xxx это префикс таблицы, который у каждого может быть своим.

Для отключения расширения ищем его название в столбце Name таблицы и в столбце Enabled вместо единички ставим нолик.

Отключение расширения через phpmyadmin

Для смены шаблона на другой из phpmyadmin открываем таблицу xxx_template_styles. В этой таблице перечислены все шаблоны, установленные на сайте. Столбец client_id показывает, для какой части сайта предназначен шаблон (0 - для публичной части, 1 - для админки). Столбец Home показывает, какой шаблон сейчас используется по умолчанию (стоит единичка).

Смена шаблона Joomla при помощи phpmyadmin

Из рисунка выше, видно, что для админки могут использоваться шаблоны bluestork, hathor, isis, т.к. у них у всех в стобце client_id стоит единичка. По умолчанию используется шаблон  isis, т.к. у него в столбце home стоит единичка. Таким образом, меняя значения в столбце home мы можем сменить используемый шаблон.

PS: Как всегда буду рад вашим комментариям.

Вы можете помочь проекту, рассказав о нем в социальных сетях:

 

Спасибо!

You have no rights to post comments

Комментарии  

# vitool 08.06.2015 08:51
А если в Компонентах нет Обновление Joomla! у меня joomla 2.5.28
# Aleksandr 23.06.2015 12:36
Цитирую vitool:
А если в Компонентах нет Обновление Joomla! у меня joomla 2.5.28

Расширения => Менеджер расширений => Поиск => жмешь кнопку Найти (вверху справа) => отмечаешь галочкой Обновление Joomla! => жмешь Установить. Все :-)
# Галина 28.10.2015 04:30
Добрый день.
Вчера решила обновить Джумлу с 2,5 на 3,4. Обновление прошло успешно. Но при просмотре сайта выдал ошибку «500 JHtmlBehavior::mootools». Не зная что с этим сделать выполнила бэкап, но ситуация не изменилась, вернее теперь выдает ошибку «500 — JHtmlBehavior: :mootools не поддерживается». Помогите пожалуйста исправить положение. спасибо.теперь и в ПУ Джумлой зайти не могу. Выдает Ошибка сервера 500
# SiteAdmin 28.10.2015 10:06
Галина, указанная вами ошибка возникает, если вы перед обновлением не удалили расширения и шаблоны, которые не совместимы с Joomla 3.x. У вас какое то старое расширение использует mootols, которое несовместимо с joomla 3.x. Я писал в статье о том, что нужно все несовместимые расширения обновить или удалить перед переходом на Joomla 3.x.
Самый простой способ решения вашей проблемы это откатиться назад и еще раз пройтись по всем вашим расширениям.
Галина, при восстановлении из бэкапа, который был создан до выполнения вами обновления сайта, никаких ошибок быть не должно. Сайт должен вернуться в исходное состояние. Если у вас после восстановления из бэкапа все равно выходят ошибки, значит вы или не из того бэкапа восстановили или как то не полностью откатились назад. Имейте в виду, что нужно откатывать не только базу но и все файлы сайта.
Если же у вас нет другого бэкапа, то попробуйте поискать во всех файлах сайта вхождения строки JHTML::_('behavior.mootools');
и заменить его на
JHtml::_('behavior.framework');
Поиск в файлах можно сделать при помощи тотал командера или при помощи notepad++.
# Галина 28.10.2015 10:16
Все верно. Бэкап выполнен до обновления Джумлы. Откат не дал желаемых результатов - совершенно! Это беспокоит меня. Файл бэкапа вышел в Файловом менеджере с расширением .tar. Не встречала такого. Что Вы имели в виду говоря что нужно сделать откат всех файлов сайта? Как это сделать?
Дело в том что я теперь и в админку выйти не могу, и сайт не работает :cry:
# SiteAdmin 28.10.2015 10:28
tar - это файл архива, созданный вашим хостингом (такой же как zip или rar). Распаковывается любым архиватором. В архиве с бэкапом могут быть: файл базы данных, файлы сайта, архивы с письмами (если вы пользуетесь доменной почтой на вашем хостинге). Распакуйте его и посмотрите есть ли там структура файлов вашего сайта?
# Галина 28.10.2015 10:38
С форматом все ясно. Но нет, распаковать не могу. Общий вес больше 300 метров. Скачать также не получается. Инет не самый быстрый :(
# SiteAdmin 28.10.2015 10:57
Галина, ваша задача сейчас как можно быстрее восстановить работу сайта при помощи бэкапа. Я понял, что вы не можете самостоятельно откатиться на нормальное работоспособное состояние. Я бы вам посоветовал в этом случае обратиться в поддержку вашего хостинга и попросить их откатить ваш сайт из бэкапа, созданного два дня назад (если вы вчера делали обновление). У нормального хостинга бэкапы делаются автоматически каждый день и хранятся неделями, а у некоторых и даже на месяц назад можно откатиться.
А уже затем после отката сайта тестировать с обновлением, но не на хостинге, а на своем компьютере. Я об этом писал в статье. Никогда не делайте никаких обновлений сразу на хостинге, не протестировав предварительно в тестовой среде на своем компьютере.
# Галина 28.10.2015 11:04
Действительно, необходимо было проверить все на Денвере. Опыт.... Обратилась в тех.поддержку с просьбой откатить сайт до 27 октября. Посмотрим. Спасибо Вам за поддержку. Всего доброго
# SiteAdmin 28.10.2015 11:32
На всякий случай напишу, что если вдруг вам не смогут вернуть сайт в рабочее состояние, а в админку вы попасть не можете, то вы можете по очереди отключать установленные вами расширения напрямую редактируя таблицу _extensions базы данных (при помощи phpmyadmin)и проверять каждый раз работу сайта и вход в админку. Для этого в столбце enabled вы по очереди переводите единички на нолики. В последнем параграфе данной статьи я это подробно расписал с картинками. Удачи!
# Галина 29.10.2015 05:40
Знаете, сайт на откатку не идет. С расширениями я все поняла - отключала и все и по отдельности ничего не помогает. Их не так уж и много. По умолчанию стояли 2, отключила. Не работает. Есть ли еще варианты? Искать в файлах строки JHTML::_('behavior.mootools')н е могу т.к. файлы сайта нужно скачать с сервера, а у меня, к сожалению не хватает скорости Интернета.
# SiteAdmin 29.10.2015 08:42
1. Если отключение расширений не помошло, попробуйте также через phpmyadmin сменить шаблоны сайта и админки на дефолтные. В статье написано как это сделать. Возможно у вас шаблоны не совместимы с новой версией.
2. Для уменьшения размера файла архива в менеджере файлов вашего хостинга создайте вручную архив файлов вашего сайта за исключением следующих папок : images, cache, tmp, logs, multimedia. Возможно без этих папок ваш архив будет гораздо меньше по объему и вы сможете его закачать.
Вы наверное пытаетесь закачать архив через браузер. Нужно закачивать через ftp клиент (например Mozilla). Насколько у вас медленный интернет? С вечера поставили бы на закачку - к утру бы уж наверное закачалось :-)
# читатель 26.01.2017 21:16
Для тех кто будет повторять, поскольку версии 2.5 еще много где работают. В самом начале написано что надо сделать копию сайта. Если Вы не знаете что это и как делается, то уж обновлять его точно не надо самому, а предоставить это тому кто понимает что делает правильно. Ибо все легко и просто только при рассказывании. Тем более что рекомендовалось делать это вообще локально на копии сайта.
# Вадим 10.02.2017 14:58
версия 2,5,8
даже до 2,5,28 не предлагает
настройки менял, кэш чистил и у браузера тоже - все равно "версия самая новая"
# читатель 10.02.2017 19:57
Так зачем дальше обновлятся если столько времени на старой был сайт? Может о нем уже и совсем забыть пора с таким отношением?
# читатель 10.02.2017 20:02
Для следующих писателей. Статья об обновлении с вестии 2,5,28 до последней 3. Причем сначала предлагается до 3,5,1, а вторым этапом до последней. Это не форум поддержки для решения общих проблем. если нет вопросов конкретно по статье, не захламляйте и не мешайте тем читать, кто это будет в дальнейшем делать. в статье все понятно и достаточно подробно описано. если не получается или не понятно, может не за свое взялись и лучше все доверить специалисту? ну или хотя бы сделать как автор пишет, а не на живом сайте. потренироваться, если очень хочется. а модератору предлагаю все что не по существу статьи удалять. Для решения конкретных других проблем есть другие разделы.
# SiteAdmin 09.03.2017 13:07
Попробуйте скачать и установить версию 2.5.28 через менеджер расширений. У меня на некоторых сайтах через штатную функцию обновления не обновлялось. Обновления виделись, но не обновлялись. В этом случае я просто выкачивал обновление руками и устанавливал через менеджер расширений как обычное расширение.
# читатель 10.02.2017 19:55
Цитирую Вадим:
версия 2,5,8
даже до 2,5,28 не предлагает
настройки менял, кэш чистил и у браузера тоже - все равно "версия самая новая"

Ну а почитать как 2,5,8 обновить до 2,5,28 нельзя? Скачивается архив с официального сайта для обновления, закачиваются файлы по фтп и все, новая версия. Здесь статья о повышении версии с 2,5,28 до 3. Остальное уже на соответствующих темах. Обновлятор полезен когда с 2,5,28 на 3 переходит. Тут по другому уже сложнее. Только на этой неделе им перевел несколько сайтов. это чудо, а не инструмент.
# Александр 26.02.2017 18:46
У меня версия 2.5.28, в настройках обновлению меняю настройку на краткосрочные релизы, но все равно говорит, что версия самая новая, что делаю не так?
Пробовал этот момент на локальном сервере и на хостинге
# SiteAdmin 28.02.2017 16:54
Попробуйте очистить кэш в админке джумлы и в самом браузере:
1. (В админке Joomla):Меню Расширения - Менеджер расширений - Обновление — КНОПКА Очистить кэш.
2. (В браузере на примере Хрома) Настройки > Показывать дополнительные настройки > Кнопка Очистить историю > Поставить везде галки и нажать на кнопку Очистить историю.

Если не помогло, то cкачиваете архив, в названии которого имеется "Upgrade Package" (например, Joomla! 3.5.1 Upgrade Package (.zip)). Кстати штатная функция обновления джумлы предлагает обновиться именно до версии 3.5.1, хотя уже вышла версия 3.6.5.
Затем заливаете полученные файлы через FTP.
Перед этим нужно выполнить все требования, описанные в статье.
Возможно после этого вы получите ошибку типа:
Fatal error: Call to a member function getInt() on a non-object in ...\www\administrator\componen ts\com_login\controller.php on line 36.
Для того, чтобы это обойти, нужно переименовать папку \libraries\cms\controller. Она в Joomla 3.x не используется.
После этого вас пустит в админку. Далее нужно будет пофиксить базу. Для этого в админке идем Расширения ->Менеджер расширений -> вкладка База данных -> жмем кнопку обновить.
Вы обнаружите, что у вас пропала возможность устанавливать расширения.
Система при этом выводит сообщение:
"No installation plugin has been enabled. At least one must be enabled to be able to use the installer."
Для решения этой проблемы идем Расширения ->Менеджер расширений -> вкладка Поиск. По очереди устанавливаем плагины
Installer - Install from Folder
Installer - Install from Upload
Installer - Install from URL
а также другие расширения, которые имеются в этой вкладке.
После установки из этого списка шаблона Isis для админки можете перейти на него. Он специально разработан для тройки и используется а нем по умолчанию.
Далее обновите джумлу штатными средствами до последней версии.
# Татьяна 13.06.2017 18:27
Здравствуйте! Обновляю сайт с версии 2.5 до 3.Х. Установила 2.5.28, обновила gantry, k2, JCE, jQuery. В списке расширения/обновления пусто. Вопрос вот какой: нужно ли выискивать все расширения в Менеджере Расширений и проверять их на соответствие версии 3 или можно ограничиться теми обновлениями, которые я сделала, раз список обновлений пуст? По поиску тоже не нашлось новых обновлений, кроме джумлы 3.5.1. Дело в том, что попытка обновиться до 3.5.1 вешает и сайт и админку, ошибка 500.