Joomla v.1.013: жизнь после смерти или Некромантия
или: Как заставить работать Joomla 1.0 на PHP 5.3 и 5.4?
Шел год 2025-йТем не менее, возникла необходимость продлить (хоть ненадолго) жизнь старых сайтов-проектов двадцатилетнего возраста, созданных в 2008-м году на cms Joomla v.1.013 (и чудом доживших до наших дней). Сегодня, ранее арендованный сервер перестал поддерживать php 5.2 и старые версии MySQL. Модернизации проекты не подлежат (по разным причинам), а выбросить — жалко (пока что). Такая вот печальная и озабоченная история под наступающий Новый год.
Удалось подобрать сервер (у популярного хостера), который поддерживает пока еще php 5.3 и database 5.7 (сервер Ubuntu 18.04.1).
Для адекватной работы Joomla v.1.013 на выбранном сервере необходимо немного обновить «движок», «заставить» работать его на php 5.3 (или 5.4).
Как долго «продержится» устаревший сервер не известно, но это не суть. Будем пробовать?.. Некрофилию.
Ничего сверхсложного в нужном обновлении/апгрейде — нет, но есть нюансы и порядок исполнения «мероприятий».
- В настройках сервера указываем кодировку utf-8. Дамп базы должен иметь кодировку utf-8.
- Скачиваем архивы патчей-обновлений (установочные пакеты в процессе апгрейда участия не принимают, опубликованы «на всякий случай»).
- Перед обновлением сайта имеет смысл сделать резервную копию своего проекта.
- Для обновленного проекта понадобится исходный файл
configuration.php
(в корневой директории сайта). Его необходимо скорректировать и сохранить в кодировкеutf-8
. Правку файлаconfiguration.php
(и иных нужных файлов с расширением*.php
) делаем в любом текстовом редакторе, например, Блокнот (от Windows).
Исправить нужно строчки (при необходимости):$mosConfig_locale = 8'ru_RU';
$mosConfig_lang = 'russian';
Все остальные настройки конфигурации оставляем без изменений. - Перезаливаем по протоколу FTP на свой сервер файлы обновлений и патчей с заменой оригинальных файлов своего сайта Джумла (используя файловый менеджер Total Commander, например. Или через файловый менеджер своего хостера) в следующем порядке:
- Обновление Joomla v.1.013 до v.1.015
- Патч Joomla v.1.015 для работы на php 5.3
- Пакет файлов Joomla v.1.016 (неофициальная версия, Подробнее про Joomla v.1.016)
- Отправляем на сервер исправленный файл
configuration.php
в кодировке utf-8 и файлы оригинального сайта, типаrobots.txt
иhtaccess
. - Если на сайте есть файлы русификации
russian.php
(в папке/language/
), то их тоже нужно перезаписать в кодировке utf-8 (в исходной версии joomla v.1.013 они записаны в кодировке Windows 1251 и отображают на страницах сайта «кракозябры», знаки«?» или ромбики с вопросами.) - Чистим кэш и обновляем страницы сайта и Админпанели. Админпанель отображается на английском, сайт на русском.
Смотрим настройки сервера/сайта: Сайт адекватно работает и отображается на версии php 5.3 (тестировался и на php 5.4, работает). - Сторонние расширения, например, sh404SEF, True Gallery, VirtueMart, иные плагины-модули-компоненты: необходимо основным файлам и файлам русификации исправить кодировку на utf-8После внесения исправлений обновляем страницу Ctrl-F5, чистим кэш.
- Необходимо изменить файлы шаблона в кодировке utf-8 (критично важно).
В файлindex.php шаблона стоит заменить строку кодировки:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Пустячок, но нужный (для поисковых систем). - В основном — «апгрейд некрофилии» закончен, ураВсё работает? У меня работает на пяти площадках. Хотя времени было потрачено прилично.
Обновления и патчи Joomla
- Обновление Joomla v. 1.013 до v.1.015
- Патч Joomla v.1.015 для реализации работы cms на php 5.3 (или php 5.4)
- Патч Joomla v.1.016
- Joomla v.1.015 установочный пакет
- Joomla v.1.016 установочный пакет
Примечания: Установочные пакеты опубликованы для общего развития, вдруг кому-то пригодятся. По нынешнему времени это уже антиквариат
Возможные «осложнения» и сетевая «мифология»
- Встретилась «рекомендация» в Сети, что после апгрейда нужно добавить в файле
includes/database.php
после строки//@mysql_query("SET NAMES ’utf8’, $this->_resource);
Следующий код:@mysql_query( "set session character_set_server=cp1251", $this->_resource ); @mysql_query( "set session character_set_database=cp1251", $this->_resource ); @mysql_query( "set session character_set_connection=cp1251", $this->_resource ); @mysql_query( "set session character_set_results=cp1251", $this->_resource ); @mysql_query( "set session character_set_client=cp1251", $this->_resource );
Не надо добавлять этот код. Категорически не надо. - Иногда в файле .htaccess встречается строчка:
AddDefaultCharset cp1251
Удаляем эту директиву за ненадобностью. - В «языковых» XML-файлах иногда прописано:
<?xml version="1.0" encoding="windows-1251"?>
Можно заменить на:<?xml version="1.0" encoding="utf-8"?>
- Админпанель иногда «подглючивает» при сохранении материала (модуля, меню). Стоит регулярно обновлять страницу в браузере.
- Сторонние расширения, как правило, на php 5.4 работать отказываются. Но это, как говорится, совсем иная история. На php 5.3, по крайней мере, все популярные расширения работоспособны. Сам «движок» на 5.4 функционирует адекватно. Версия cms устарела безнадежно (особенно в части сторонних скриптов), стоит срочно перенести материалы на новые версии, если они, конечно, еще актуальны/«дороги как память». Предложенная выше версия «продления жизни» сайта весьма проблематична и недолговечна.
- В процессе обновления могут появляться разные проблемы, важно иметь бэкап.
Тестируйте, «перепиливайте», комментируйте. Оставьте свой комментарий, при желании. Вопросы, если возникнут, задавайте. По возможности ответим
Сомнительно, однако, что в Интернет еще остались проекты на древней cms Joomla 1.013. Но, всякое бывает.
Для комментирования материалов регистрация на сайте не нужна. Правила публикации: наличие здравого смысла. Комментарии проходят премодерацию и публикуются только после проверки администратором.