Форум русской поддержки Joomla!® CMS
21.01.2017, 17:17:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

[howto] Обновление Joomla либо перенос контента на другой сайт

 (Прочитано 21697 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Poliandra
Новичок
*

Репутация: +0/-0
Offline Offline

Пол: Женский
Сообщений: 9



« : 05.02.2007, 11:54:47 »

Добрый день!
У меня Джумла Паранойя 1.0.8.2
как ее обновить на более позднюю версию?
И если можно расскажите более подробно... Чтобы у меня никакая информация не потерялась.
Заранее благодарю.
« Последнее редактирование: 05.02.2008, 00:25:43 от beliyadm » Записан
 
beliyadm
Профи
********

Репутация: +1583/-61
Offline Offline

Пол: Мужской
Сообщений: 8293


Севастополь == Россия


« Ответ #1 : 05.02.2007, 12:42:08 »

Первое правило - перед ЛЮБЫМИ изменениями сайта сделать дамп (backup, архив, резервную копию) БД и файлов

Способ первый - простой

1 - Сделать дамп БД и архив всех файлов.
 - При наличии PHPMyAdmin делается так: вкладка "Экспорт" - "Отметить все" - параметры по умолчанию - кнопка "Пошел". Результат можно сохранить в текстовом файле.
 - сделать обычный архив всех файлов сайта и сохранить в надежном месте
2 - перезаписать все существующие файлы данными из архива последней версии движка (желательно перезаписывать обновленные файлы  - в нормальных фтп-файловых менеджерах есть такая функция)
3 - посмотреть на результат - может немного отличаться от ожидаемого


Более надежный способ (хотя и более трудоемкий, рекомендуется когда результаты предыдущего шага не соответствуют ожиданиям и\или были большие модификации файлов движка).
Базу существующего сайта обзовем "база1", базу для установленной последнй версии "база2".
1 - на локалхосте (рекомендуется) поставить последнюю стабильную версию движка (в моем случае это была Joomla 1.0.12)
2 - выборочно переносить данные из таблиц старой базы в новую. Как - рассмотрим подробнее:
Перенести обязательно - цветом выделены обязательные для переноса таблицы
По желанию - таблицы, данные из которых можно восстановить из админки после обновления без особых проблем

_categories - таблица созданных категорий сайта
_sections - таблица разделов (секций) сайта
_content   - таблица содержит данные по всем материалам сайта из вышеуказанных разделов-категорий
_content_frontpage - содержит идентификаторы материалов для отображения на главной странице (не обязательна для переноса, можно позже из админки переназначить при необходимости)
_contact_details   - содержит контакты сайта
_menu   - пункты меню
_modules_menu - связь модулей с менюшками
_poll_data   _poll_date  _poll_menu  _polls   - все, связанное с голосованиями
_template_positions  - записывают в БД мозможные позиции для вывода модулей
_templates_menu - отвечают за регистрацию в БД шаблонов сайта
_weblinks - ссылки стаднартного компонента ссылок Joomla, если искользовался сторонний скрипт - переносить не имеет смысла
_users
_core_acl_aro
_core_acl_aro_groups _core_acl_aro_sections
_core_acl_groups_aro_map

Как осуществить выборочный перенос таблиц:
   1 - сделать дамп свежей версии новоустановленного движка (база1).
   2 - открыть в PHPMyAdmin (база 2) список таблиц, предпоследняя справа (обычно, может меняться в зависимости от версии админа) кнопочка "очистить" нам и нужна, нажимаем ее для каждой строки с таблицей, либо можно галочками отметить все и внизу выбрать "С отмеченными - очистить"
   3 переходим в "база1", выбираем вкладку "экспорт" и отмечаем одну строку для таблицы _sections и "Пошел". Из всего полученного результата выбираем только строки INSERT:
Цитировать
INSERT INTO `egorov_sections` VALUES (1, 'News', 'The News', 'articles.jpg', 'content', 'right', 'Select a news topic from the list below, then select a news article to read.', 1, 0, '0000-00-00 00:00:00', 5, 0, 1, '');
копируем полученный результат.
   4 переходим в управление "база2", находим вкладку "SQL" и в окошко вставляем скопированные строки и "пошел". В итоге должны получить "Ваш SQL-запрос был успешно выполнен". Если выдается ошибка - проверить все ли данные были предварительно очищены.
Шаги 3, 4 повторяем для каждой таблицы (на первые разы рекомендую делать все по отдельности)

3 - устанавливать последние версии компонентов и для них тоже выборочно делал INSERT существующими данными из старой версии. Какие именно таблицы надо переносить сложно сказать, надо предварительно зайти в "база1" и посмотреть содержимое таблиц (обычно они имеют в названии часть компонента)

4 - Аналогично поступить с модулями и мамботами
, поэтому не рекомендую автоматом переносить таблицы _modules  _components  _mambots, нужные настройки проще и надежнее восстановить руками

5 - у меня записано - какие системные файлы (движка и нужных компонентов-модулей) подвергались модификации (хакам), эти изменения вносил в новые файлы (поскольку у них структура может быть различной в старых версиях, простое перезаписывание опасно для жизни). Стоит обратить внимание, что слепое перезаписывание строк тоже чревато последствиями, стоит внимательней изучить код до и после изменений (если есть 33 различия - лучше задать вопрос гуглю или на форуме). Если версия компонента-модуля-бота не менялась, то можно просто после установки перезаписать новые файлы данными из старой версии
Потратил на все это дело для одного сайта порядка 4-х  часов, зато все работает как часы. Как пример - обновление с версии 1.0.3 до 1.0.12 (компоненты были обновлены с версии, соответствующей движку)

Еще несколько статей по данной теме (ну и конечно гугль в помощь):
База данных
Управление БД через веб-интерфейс
Бекапирование базы
« Последнее редактирование: 28.03.2007, 21:01:25 от beliyadm » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet