Миграция, обновление СМС Joomla 2.5 до версии Joomla 3.х

Обновление Joomla, это не только лечение багов в работе системы, это еще устранение уязвимости сайта. Поэтому, если Вам не безразлична безопасность сайта, то рано или поздно, придется проделать эту процедуру.

Перейти с Joomla 2.5 на Joomla 3.х можно через обновление системы, но также можно через установку последней версии Joomla 3.х и переноса на нее базы.
Почему интереснее выбрать второй вариант?
В процессе обновления, могут остаться какие-то скрипты или ненужные файлы, и плохо будет, если они будут уязвимые, или как-то будут влиять на работу сайта.
Установка же последней чистой системы и подключение к ней рабочей базы, решает эти проблемы.

Не пробуйте обновлять систему на хостинге, это неудобно, медленно, не исключает появление ненужных проблем и посетителям сайта, это точно не понравится.
Все, что будем делать, делать будем на локальном хостинге, т.е. на компьютере. И после того, как все настроите, перенос, и установка обновленной системы займет 3-5 минут. Посетители сайта не успеют даже заметить изменений.

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

Могу предложить тот план по обновлению, которого придерживаюсь сам. Он проходит в два этапа.
На первом этапе делаю обновление системы до версии Joomla 3.х, с установкой всех компонентов, модулей, плагинов, с и их настройкой и проверкой работы.
Второй этап начинается опять с обновления Joomla 2.5 до 3.х, и переноса исправленной базы на последнюю версию Joomla 3.х, куда устанавливаю настроенный шаблон и проверенные компоненты, модули...  Это занимает дольше времени, но гарантирует стабильную работу системы и сайта.
Первый этап занимает больше времени, так как происходит настройка и проверка работы расширений, а второй этап дает нам возможность использовать последнюю информацию базы, с последними статьями и комментариями, которые могли появиться за время настройки сайта на первом этапе.

Минимальные требования для СМС Joomla 3.х:
PHP - 5.3.10
Рекомендуемые:  PHP - 5.4 и выше.

Подготовка Joomla 2.5 к обновлению

1. Обновляем Joomla 2.5.х до последней версии 2.5.28, обновление делаем через установку расширений.

Архив можно взять с официального сайта:
http://joomlacode.org/gf/project/joomla/frs/?action=index
если не получится скачать там, то можно скачать с нашего сайта здесь Joomla_2.5.x_to_2.5.28-Stable-Patch_Package.zip

Архив распакуйте в папке tmp и установите его, как обычное расширение из папки tmp.

После каждой установки расширения, папку tmp очищайте от лишних файлов, чтобы следующая установка прошла чисто.
Дальше, писать об этом не буду.

2. Если есть магазин Virtuemart 2, то его надо обновить до версии Virtuemart 3.
- Для этого, распаковываем архив компонента Virtuemart 3 в папке tmp и устанавливаем его, как обычное расширение. Эти же архивы потом будем использовать для установки магазина на чистую систему Joomla 3.х.
- После проделывает то же самое с архивом virtuemart-aio, после установки обновите таблицы плагина VM.

3. В Менеджере плагинов, отключите плагин "Система - Запомнить меня".

4. В Общих настройках, вкладка "Сервер", в настройке "Сообщения об ошибках", выберите - "Максимум", и сохраните.

5. Далее, нам надо деинсталлировать все сторонние расширения, которые не совместимы с версией Joomla 3.х. Это касается шаблонов, модулей и прочего, все, что имеет ID номер более 10000, кроме тех, которые относятся к магазину.
Не забудьте сделать копию шаблона, а удаление русификатора оставьте на последний момент.

Удаление расширений делаем в:
Расширения -> Менеджер расширений -> Управление.
Выбираем количество строк - Все и сортируем по ID.
Сторонние расширения имеют ID номер более 10000.
Удаляем расширения по-очереди одно за другим.

6. После деинсталляции расширений надо очистить кэш и папку tmp.

7. Зайдите в Компоненты, в "Обновление Joomla!" -> Настройки, и выберите пункт "Дистрибутивы Joomla с краткосрочной поддержкой". Сохраните.
Если сообщение о последней доступной версии обновления не появится, то перейдите в Менеджер расширений -> Обновление. Очистите Кэш и нажмите "Найти обновления".

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

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

Обновление до версии Joomla 3.х

8. После глобальной чистки, переходим в Joomla! Update и запускаем обновление системы.

Через пару минут у Вас будет последняя версия системы Joomla.
Нажмите кнопку с корзинкой Purge Cache, чтобы очистить кэш.

9. Идем в Менеджер расширений, в левой колонке меню выбираем Database (База данных) и жмем в верхнем левом углу кнопку Fix (исправить).  

10. Идем в плагины, и включаем плагин System - Remember Me (Система - Запомнить меня).

11. Для установки языка:
В менеджере языков, нажмите на кнопку Install Language (Установить язык). Выберите язык и установите его, нажав на Install.
Затем, зайдите опять в менеджере языков, и установить язык по умолчанию для сайта и админки.

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

На этом обновление Joomla 2.5 до версии Joomla 3.х можно считать завершенным.

Перенос базы на чистую систему Joomla 3.х

12. Устанавливаем на локальном хостинге (на компьютере), ту версию Joomla 3.х, до которой делали обновление.

13. Устанавливаем язык, как было описано в пп. 11.

14. Устанавливаем, если есть магазин, той версии, до которой делали обновление, и virtuemart-aio.
После установки virtuemart-aio, вход по его ссылке в компонентах, будет появляться ошибка. На работу магазина она ни как не влияет, это похоже на баг работы магазина и Joomla 3.х.

15. Подключаем базу
Идем в: Система - Общие настройки - Сервер
и там, меняем "Имя базы данных" и "Префикс таблиц базы данных", на те, которые прописаны в обновленной системе. После изменения, не забудьте сохранить изменения.
В результате у нас будет чистая Joomla 3.х с базой нашего сайта.

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

16. Теперь можно проверить доступные обновления и обновиться до последних версий.

17. Удалить информацию о шаблонах Joomla 2.5, которая появилась после подключения базы, их надо деинсталлировать, через Управление.

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

Если на старой версии сайта Вы убрали ID в статьях, то не забудьте повторить это на новой версии системы, иначе в адресе статьи будет добавлен ее номер ID. Здесь вы найдете статью, Как убрать ID номер из адреса статьи. Для Joomla 3.х, это работает.

Если после обновления Joomla 2.5 до версии Joomla 3.х появятся ошибки в работе системы, почистите кэш и перезагрузите браузер.

Для информации
Так же, базу можно подключить путем ее переноса.
Для этого идем в Phpmyadmin, выбираем базу обновленной системы, та, которая нам нужна для подключения к новому сайту.
Входим в Экспорт.
Выбираем способ экспорта "Обычный - отображать все возможные настройки".
- Смотрим, чтобы все таблицы были выделены;
- был выбран - "Сохранить вывод в файл";
- в поле "Шаблон имени файла" пишем имя базы английскими буквами;
- кодировка utf-8;
- компрессия - нет, если база будет превышать 2 МБ, то можно выбрать компрессию.
Остальное можно оставить по умолчанию.
Внизу страницы жмем на ОК, и сохраняем.

Далее открываем базу чистой системы, выделяем все таблицы и удаляем их.
Входим во вкладку Импорт и импортируем сохраненную базу.
Далее идем в папку нашего сайта и редактируем configuration.php
В строчке:
    public $dbprefix = '***_';
надо прописать префикс базы.
Сохраните, и идите на сайт.

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

Яндекс.Метрика
© 2014-2017 "Сашкин Дом" Все права защищены
"Сашкин Дом" - недорогие сайты и сопровождение