Нет ничего плохого в joomla 1.5, в особенности если она с умом доработана, установлены все необходимые плагины и модули. Но  Google все равно делает замечания: "На сайте Joomla нужно обновить ПО. Мы обнаружили, что на Вашем сайте используется Joomla 1.5 – старая версия Joomla. Устаревшее или неисправное ПО может стать причиной взлома или установки вредоносного кода. Поэтому мы рекомендуем Вам обновить ПО." Так что будем обновлять.

К сожалению, разработчики Joomla не предусмотрели в версии 1.5 встроенных способов миграции на версии выше, поэтому необходимо будет воспользоваться сторонним компонентом, в частности jUpgrade. Радует, что компонент jUpgrade поможет осуществить миграцию, не отключая сайт на обслуживание и сохранять его работоспособность почти на всем этапе перехода. А далее для перехода с 2.5 на 3.х вообще все делается в один клик. Если все сделаете по инструкции, получится быстро и без ошибок.

Подготовка сервера к миграции Joomla 1.5 на 2.5 и 3

Проверяем конфигурацию серверного ПО. Оно должно соответствовать той версии Joomla, до которой мы хотим обновиться (а обновиться, к слову сказать, можно до любой). Joomla 1.5 работает и на новом серверном ПО c Debian 6 и Debian 7, версиями php 5.2.+, 5.3.+, 5.4.+, Apache 2.х.+, MySQL 5.5.+ Если на сервере кроме Joomla есть сайты или форумы на других движках, также проверьте заранее, смогут ли они работать на новом ПО.

Для Joomla 2.5. нужно: php от 5.2.4 и выше, лучше 5.3.+; MySQL от 5.0.4 и выше; поддержка хостингом Apache версии 2.x.
Для Joomla 3.4. нужно: php 5.3.10+, а лучше 5.4. и выше; MySQL от 5.1. и выше; Apache 2.x.; Nginx 1.1+

Посмотреть информацию о системе можно в админке своего сайта: Помощь -> Информация о системе.

Обновление джумла

И проверьте у Nginx установленные в настройках тайм-ауты, поставьте не менее 600, иначе при переезде на Joomla 2.5 получите 504 ошибку. Установите побольше разрешение на объем загружаемых файлов во избежание 403 ошибки.

Для правильной работы компонента jUpgrade нужно проверить, включен ли модуль cURL на хостинге. Обычно он включен. Для проверки заходим в админ. панель хостинга, далее в настройки PHP и в строке cURL должно стоять enable.

Обновление джумла

Проверяем права на запись.

Подготовка сайта к миграции Joomla 1.5 на 2.5

Делаем резервную копию сайта (полный бэкап - и файлы, и базы данных).

Обновляем свою Joomla 1.5 до максимальной (на данный момент это 1.5.26). Для этого скачиваем подходящий дистрибутив в зависимости от нашей верисии Joomla, распаковываем и заливаем файлы поверх своих с заменой. Универсальный дистрибутив- Joomla_1.5.0_to_1.5.26-Stable-Patch_Package. Скачать можно тут: http://forge.joomla.org/gf/project/joomla/frs/ или на joomlaportal.ru

Скачиваем архив компонента jUpgrade 2.5.2.zip с сайта разработчика http://redcomponent.com. Необходимо будет зарегистрироваться на сайте и только после этого скачать компонент jUpgrade 2.5.2. Прямая ссылка для скачивания http://redcomponent.com/subscription?Itemid=110&id=284

Включаем в админке сайта системный плагин Mootools: Расширения -> Менеджер плагинов -> Плагин -> Включить. Затем в настройках плагина обязательно указываем порядок "0 первый", доступ "Все".

Обновление джумла

Увеличиваем время сессии с хостингом: Сайт -> Общие настройки -> Сервер -> Время сессии. Ставим 100-120 минут

Обновление джумла

Родные плагины/компоненты/модули jUpgrade переносит качественно, а вот со сторонними могут возникнуть проблемы. Удаляем все сторонние расширения кроме тех, которые содержат большие объемы текстовой информации (комментарии, форум, магазин оставляем). Сторонние расширения перенос которых поддерживает jUpgrade: Форум Kunena; Компонент К2; JoomComment; redSHOP; AdminPraise; JEvents; Jumi; RedMEMBER; Virtuemart; JomSocial, redForm; CommunityBuilder; Oko; Akeeba Backup; Контакты Enhanced. У jcomments и, вероятно, некоторых других расширений, переносится только БД, сам компонент потом придется установить заново.

В качестве шаблона по умолчанию устанавливаем один из базовых шаблонов. Шаблоны сторонних разработчиков jUpgrade переносит некорректно, лучше их будет удалить.

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

Стратегия обновления до 2.5 и 3

Установим на свою Joomla 1.5 компонент jUpgrade, запустим его. jUpgrade сам создаст в корне нашего сайта новую папку jupgrade и загрузит в нее Joomla 2.5. Также в вашей базе данных он создаст новые таблицы с новым префиксом j25, в которые и перенесет данные со старой бд.  Новая версия сайта будет доступна по адресу ваш_сайт.ру/jupgrade/ , обновляем ее до тройки, доводим до ума, устанавливаем нужные расширения и переносим в корень, удалив предварительно старую версию. Чистим БД, удалив старые таблицы. Всё.

Обновляем Joomla 1.5 до 2.5

1. Устанавливаем на свою Joomla 1.5 компонент jUpgrade как и любое расширение: Административная панель -> Верхнее меню -> Установить/Удалить. Выбираем на компьютере скачанный архив с компонентом jUpgrade и нажимаем: Загрузить файл & Установить.

Настраиваем компонент: Расширения -> jUpgrade -> Параметры 

Обновление джумла

Обновление джумла

  • Дистрибутив: Выбора нет. В последней версии компонента только Joomla 2.5.6;
  • Драйвер SQL: Версия вашей базы данных;
  • Конечный каталог: папка, в которую будет производиться установка, по умолчанию jupgrade;
  • Префикс для старой базы данных: по умолчанию jos_;
  • Префикс для новой базы данных: по умолчанию j25_;
  • Отключить set_time_limit (): На время процесса миграции поставьте Да;
  • Отключить отчет об ошибках: По желанию. Если хотите следить за процессом обновления, вернее за ошибками миграции, выберите. Нет. Но советую Да.
  • Skips Пропустить проверку: Предварительная проверка установочных данных. (Нет)
  • Пропустить загрузку : Это загрузка дистрибутива Joomla 2.5.По умолчанию грузится jUpgrade . Можно установить самостоятельно. Поставьте Нет, если доверяете это дело jUpgrade.
  • Пропустить распаковку : Распаковка ZIP архива Joomla 2.5.
  • Skip templates copy (Пропустить перенос шаблонов): Предпочтительнее Да;
  • Skip 3dr party extensions (Пропустить перенос сторонних расширений). Если решили переносить сторонние расширения из списка выше ставите, нет. Не забудьте обновить расширения перед миграцией.
  • Core skips (Основные пропуски) Везде Нет, если решили перенести весь контент сайта.
  • Templates (Шаблоны) Сохранить исходные позиции? Это позиции модулей на новом сайте. Корректного переноса позиций шаблона не дождетесь в любом случае. Поэтому Нет;
  • Cleanup (Уборка) Удалите предыдущие миграции. Если делаете повторную миграцию или пробуете запустить миграцию второй раз, поставьте. Да.
  • Debug (Отладка) Включение миграции отладки. Хотите видеть ошибки миграции, ставьте Да. Ошибки будут отображаться внизу страницы.
  • Enable Mootools version debug (Включить отладку Mootools ) Лучше обновите, если нужно, плагин Mootols отдельно, а здесь поставьте, Нет.
  • После выставления всех параметров jUpgrade жмем Сохранить.

2. Запускаем миграцию: жмем огромную кнопку "Начать обновление" и с замиранием сердца ждем результатов.

НЕ выходите из окна обновления до окончания процесса или появления сведений об ошибках!

При успешной миграции вы увидите сообщение Joomla 2.5 Upgrade Finished! Теперь обновленная версия открывается по адресу ваш_сайт.ru/jupgrade Старая тоже по прежнему работает в штатном режиме.

Обновление джумла

3. Проводим ревизию нового сайта, сравниваем url страниц со старыми (исключив jupgrade в url). Особо тщательно проверяем пункты меню и бывшие разделы (в Joomla 2.5 разделы превратились в категории, а категории - в подкатегории). Корректируем при необходимости.

Если все в порядке, шагаем до тройки.

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

Логинимся в админке нового сайта на Joomla 2.5. Идем: Компоненты -> Обновление Joomla! -> Настройки. Выбираем "Дистрибутивы Joomla с краткосрочной поддержкой", жмем Сохранить и закрыть. В окошке появится последняя версия Joomla, до которой вы можете обновиться в один клик. Жмем Установить обновление. По идее всё, вы переехали на Joomla 3.

Если видите сообщение, что версия Joomla самая новая и нет информации про обновление, перейдите в Расширения -> Менеджер расширений -> Обновления и нажмите на кнопку Очистить кэш в правом верхнем углу.  Затем вернитесь в компоненты-обновление и обновитесь.

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

Устанавливаем необходимые расширения и шаблон. Проверяем работоспособность сайта. Вносим изменения в robots.txt и .htaccess, если это необходимо.

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

Подмена  Joomla 1.5 обновленной версией

  1. Полностью заворачиваем файлы и папки нового сайта в архив.
  2. Переносим архив в корень.
  3. Удаляем все файлы и папки старого сайта.
  4. Распаковываем архив нового сайта в корень.
  5. Проверяем права.
  6. Удаляем старые таблицы из базы данных.
  7. Обновление джумла

Принимаем поздравления с новосельем :)

 

 

Ошибки при переезде с joomla 1.5 на 3 с помощью jupgrade

В принципе, компонент jupgrade переносит сайт довольно гладко, но есть моменты, когда ошибки при переносе вам гарантировано обеспечены. В частности, это перенос сторонних плагинов и урлов на кириллице. Будем исправлять.

Перенос домена на кириллице

Категории и пункты меню переносятся почти без ошибок, точно так же, как и на латиннице, чего нельзя сказать о статьях. Статьи с алиасами полностью на кириллице не переносятся, вместо этого в БД создается пустая таблица с  id, соответствующим статье. Если среди кириллических символов присутствуют цифры или латинские буквы - статья переносится, но вся кириллица в алиасе стирается.

Вариант переименовать статьи до переноса (можно сразу в БД, чтобы побыстрее) и потом обратно переименовать после переноса - не самый быстрый, но лучшего пока не вижу.

Не нажимаются кнопки "сохранить" "сохранить и закрыть" в админке joomla 3

Нужно почистить кэш браузера.

Перенос jcomments

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

1054 - Unknown column 'c.deleted' in 'field list' SQL=SELECT c.id, c.parent, c.object_id, c.object_group, c.userid, c.name, c.username, c.title, c.comment , c.email, c.homepage, c.date, c.date as datetime, c.ip, c.published, c.deleted, c.checked_out, c.checked_out_time , c.isgood, c.ispoor , 1 as voted , case when c.parent = 0 then unix_timestamp(c.date) else 0 end as threaddate, '' AS object_title, '' AS object_link, 0 AS object_access, 0 AS object_owner FROM uns4o_jcomments AS c WHERE c.object_id = 3 AND c.object_group = 'com_content' AND c.published = 1 ORDER BY c.parent, c.date ASC

Очевидно, что у этой ошибки ноги растут из таблицы префикс_jcomments, где не хватает поля deleted, его необходимо добавить в таблицу либо пересозданием таковой:

CREATE TABLE IF NOT EXISTS `префикс_jcomments` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`parent` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`thread_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`path` VARCHAR(255) NOT NULL DEFAULT '',
`level` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`object_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`object_group` VARCHAR(255) NOT NULL DEFAULT '',
`object_params` TEXT NOT NULL DEFAULT '',
`lang` VARCHAR(255) NOT NULL DEFAULT '',
`userid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`name`VARCHAR(255) NOT NULL DEFAULT '',
`username`VARCHAR(255) NOT NULL DEFAULT '',
`email` VARCHAR(255) NOT NULL DEFAULT '',
`homepage` VARCHAR(255) NOT NULL DEFAULT '',
`title` VARCHAR(255) NOT NULL DEFAULT '',
`comment` TEXT NOT NULL DEFAULT '',
`ip` VARCHAR(39) NOT NULL DEFAULT '',
`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`isgood` SMALLINT(5) NOT NULL DEFAULT '0',
`ispoor` SMALLINT(5) NOT NULL DEFAULT '0',
`published` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`deleted` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`subscribe` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`source` VARCHAR(255) NOT NULL DEFAULT '',
`source_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`checked_out` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`editor` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY  (`id`),
KEY `idx_userid` (`userid`),
KEY `idx_source` (`source`),
KEY `idx_email` (`email`),
KEY `idx_lang` (`lang`),
KEY `idx_subscribe` (`subscribe`),
KEY `idx_checkout` (`checked_out`),
KEY `idx_object` (`object_id`, `object_group`, `published`, `date`),
KEY `idx_path` (`path`, `level`),
KEY `idx_thread` (`thread_id`)
) DEFAULT CHARSET=utf8;

либо добавлением в него поля deleted

ALTER TABLE `префикс_jcomments` ADD `deleted` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';

 

Установка mootools на joomla 1.5 перед миграцией jupgrade

Для тех, кто пытается мигрировать на J2.5 с помощью jupgrade, и кто при этом не нашел в плагинах "System - Mootools Upgrade", для тех, у кого компонент на работает после нажатия на начать обновление или этой кнопки нет вообще.

1. Обновляем Joomla до последней версии в ветке 1.5, а именно 1.5.26 (http://joomla.ru/download/viewcategory/276.html);

2. Устанавливаем mootools через "Расширения" > "Установить/Удалить" Скачать: (https://dl.dropbox.com/u/4000256/joomla/jUpdate/Mootools.zip);

3. Идем в "Менеджер плагинов" и находим "System - Mootools Upgrade" => включаем его и устанавливаем первым в спике, среди подобных ему плагинов, т.е. в сортировке прописываем ему "0 первый".

4. Скачиваем обновление библиотеки MooTools  https://dl.dropbox.com/u/4000256/joomla/mootools_111-123.zip  и две вложенные папочки из архива копируем в корень сайта;

5. Идем в папку "media\system\js". Тут нам надо файл "modal.js" переименовать например в "modal-1.0.js" (1.0 - это версия скрипта), а файл "modal-1.2.js" переименовываем в "modal.js"

6. Далее "Расширения" > "Установить/Удалить" и устанавливаем последнюю версию компонента jupgrade 2.5.2 (https://dl.dropbox.com/u/4000256/joomla/jUpdate/com_jupgrade-2.5.2.zip).

7. Очищаем кэш и cookies.

Настраиваем и запускаем "Компоненты" > "jUpgrade" и мигрируем на 2.5