Перейти к контенту
  • 0

Обновление с 1.2 на 2.1.7


gunnar

Вопрос

Итак, проблема вот в чем.

Был форум IPB со скриптами версии 1.2. Все работало, пока кому-то не понадобилось нас дропить, в итоге форум 3 месяца сидел с разными эксплоитами. Хозяин сайта (я же занимаюсь тех. суппортом) попросил меня решить проблему перехода на скрипты, которые менее подвержены взломам сейчас. Поскольку я слаб в скриптах (как админ - хорош, как программер - никак), а базу надо было сохранить во что бы то ни стало, был скачан скрипт в 5-ти разных реинкарнациях (от 2.1.0 до 2.1.7) и было установлено, что 2.1.7 наиболее стабилен, кроме того, "хакеры" не поубирали оттуда важных вещей, как-то лазанье ручками по скинам, убирание (С) и т.п.

Установка шла по инструкции, но по ходу _были_ ошибки. Сами ошибки не записал, поскольку все делалось быстро. Было решено, что в случае неработоспособности форум будет снесен и восстановлен старый. Но форум заработал и вся база сообщений успешно конвертнулась! Проверял по таблицам: _forums, _members, _message_text, _polls, _posts, _topics , поскольку эти 6 таблиц считаю святая-святым (кстати, на данном форуме не нашел F.A.Q. по содержимому базы, а сие очень важно).

Но по ходу форума стали валиться баги, как-то неожиданное падение форума, непринятие регистраций, часть оформления - английская.

Списываем это на то, что 1.2 была с предустановленными скинами, "комплект" от Бестфилез, т.е. уже не "классик", ну а 2.1.7 мягко говоря "не ясно кем, не ясно как"... smile.gif

Скин изначальный был от Бестфилез для 1.х, но параллельно стоял русский скин.

В общем, глубоко порывшись, нашел, что следующие таблицы либо битые, либо при конвертировании залезли баги, либо некорректно сформированные:

_cache_store - относительно нормальная, не хватало 2-х пунктов

_conf_settings - треть знаками "???", треть просто лишняя

_conf_settings_titles - часть "???", часть лишняя

_faq - покоцан, хотя таблица фунциклирует

_languages - 3 языка, 2 русских, в "нулевом" вараинте язык один

_skin_macro - 342 строки, чего не должно быть, перемешаны англ и рус версии

_skin_sets - 3 Сета, должен быть один

_skin_templates - 778 строк, должно быть 566

_skin_templates_cache - ахинея, но как я понимаю, именно здесь злоключения.

 

Проверялось так - нулевая база, нулевый скрипт, ставим, дампим базу, смотрим что получилось.

Проблемы на поверхности:

- Админка не функциональна на 50%

- Кроме установленного скина есть еще, непонятно что, но понятно откуда (не сконверченные с 1.2)

- Шаблоны перемешаны, и неудивительно, что форум неустойчив

 

Как я решил устранить проблему:

1) установить с нуля, затем потаблично выполнить SQL-запросы. Бага уже на стадии _emoticons - phpmyadmin не дружит явно с "веселыми" строками. Также ошибки на мемберах, было решено искать другое решение

2) установить с нуля, сделать "инкремент" баз из тех 6 таблиц прошлой базы. Инкремент зашил в .gz и ... см. п.1 - те же баги sad.gif

3) ладно, третий и последний вариант - раскрываем старый дамп, проверяем, работает. Затем потаблично заливаем 9 указанных выше таблиц с "нулевой" базы. Админка проинициализировалась с глюками, посему после первых 4-х таблиц, решено было рискнуть 5-ю оставшимися. Админка без багов! Ура! Но... форум нулевой. Дамп базы при этом отличный, без глюков вообще.

 

Понимаю, в каком направлении работать - ресинхронизация. Но что поделаешь, если я не понимаю этот процесс, просто не понимаю. Могу толлько пощелкать де надо (по F.A.Q. - пишут, что надо нажать "ресинхронизация" после смены скина, в админке 3 ресинхронизации, все выполнил, та же хрень).

 

Помогите, плиз! Впрочем, остается вариант 4 - разработчики не предусмотрели сборку базы из 2-х частей. Если это так - обидно елы-палы!

 

Забыл добавить - доступа к SafeMode нет, т.к. хостинг не мой...

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Короче, решил пока обратно возвратиться к старому форуму - перелил старые скрипты, залил базу с дампа и вот вам:

Fatal error: Cannot instantiate non-existent class: skin_global_5 in /home/f1upcom/public_html/forum/sources/ipsclass.php on line 1372

 

Я всю жизнь был сторонником жесткой логики. Если что-то где-то делаешь - сохраняй рабочую версию. Но если после экспериментов уже и рабочая версия не пашет - вы уж меня извините... Впрочем, я же писал, что форум был рабочим на 70%, мож вот это его и "убило". Короче пути назад нет!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо, конечно :D Но темы я прочитал. Как всегда, апостериори. Я - системщик-"экспериментатор". Т.е. доки пишутся не для меня :) Если получится по логике - все работает. А нет - обращаюсь к докам и что ж я не так сделал.

 

Абсолютно бесполезная тема для моей ситуации. У меня есть "чистая" таблица админки. Вопрос в том, что я не могу заменить таблицу в рабочей версии базы, после этого скрипт не отрабатывает. Опять же - почему? Кто придумал ресинхронизацию? Раньше без нее справлялся, теперь вижу, что повсеместно юзается, но я не понимаю фишки. Есть скрипты - обращаются к базе. Все. Зачем так усложнять, что еще и не каждый скин подойдет... В моем же случае я хочу избавиться от глючных таблиц скинов на рабочую. Неужели я хочу невозможного? ;)

 

Прелестно - решение есть добавить в cache->skin_cache->каталог skin_cache_5! Но это решение для бездумных. Потому как уже есть каталог 5, к которому идет обращение, теперь то же закидываем в skin_cache_5, потом еще 10-ток каталогов. НО у меня в старой версии скрипта, что я сносил вчера, ну не было каталога skin_cache_5 и все работало. Теперь нет. Где логика?

Кстати, а что это вообще за cache? Тогда как эти же пхп-модули есть в сорцах. Зачем они еще отдельно?

 

Тема полезная, даже мега. Но я лишь могу прочесть с сочувствием и посыпать голову пеплом, плюнуть и поставить нулевую базу :) Ну это по прочтении темы. Потому как я все делал НЕ ТАК.

Например, там сказано, что 1.2->1.3.1, 1.3.1->2.0.x, 2.0.x->2.1.7. Все с разными пачками апдейтов. Я же делал явно по-простому - запустил инсталл и он сам все проводил. Почти без ошибок! Но сделал 12 или даже 14 апдейтов, пока прошел ВСЮ цепочку.

Далее - из всего списка ошибок после инсталла не нашел ни одной. Странно, не правда ли? ;) И там именно _ошибки_, а у меня некорректности, которые тем не менее иногда вылезали в непотребных местах.

Далее - я не могу делать в Safe Mode. И что еще хуже - я не могу делать на локалке. Раньше было просто - МуСкл 3.5/Винда, Апач 1.3.5, пхп 4.0, тестовая лаборатория. Теперь у кого ни спрошу - как корректно поставить МуСкл 5.0 под винду только и делают что ржут, мол, ЮНИХа не знает, а под винду МуСкл глючит и на 90% неверно ставится. Решений по корректировке никто не предлагает.

А по сути решения моих задач в темах нет. Поэтому я и задал вопрос в новой теме.

 

Вообще я не могу понять - неужели я многого прошу:

- мне надо заменить таблицы Админки и FAQ, судя логически они не связаны с текстом форума

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

 

Вот не могу понять, почему же все настолько сложно? Есть 9 таблиц (считаем 6 критичных) на замену. Взял - заменил - работает. Последнее утверждение, выходит, ложно.

 

P.S. Кстати, не в тему. Жутко не люблю читать форумы в онлайн :) Обычно распечатываю темы и читаю на досуге. Но здесь темы больше 16 страниц обрубаются на странице 16. Самое интересное, что на этом форуме самые квалифицированные спецы, а по теме "распечатка" мне лично дали 2-3 дельных совета, которые я заюзал. Чей-то не вижу заюзывания здесь или же нужна хитрость? :)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Установка шла по инструкции, но по ходу _были_ ошибки. Сами ошибки не записал, поскольку все делалось быстро

ошибки в студию, так трудно помочь

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Установка шла по инструкции, но по ходу _были_ ошибки. Сами ошибки не записал, поскольку все делалось быстро

ошибки в студию, так трудно помочь

Хорошо, я так и думал, что потребуется...

Завтра поставлю базу от версии 1.2, опять сконверчу и запишу ошибки. 2-3 ошибки точно было.

И все же - по факту не получится?

Повторяю вкратце:

таблицы админки глючные с битыми данными

таблицы скинов избыточны (впрочем, я на досуге подумал, что скорее всего когда я заливал "чистые" таблицы, именно из-за скинов не заработало).

 

Кстати, о Эврика. На работе не пахал форум - пришел домой и все ОК. Я напоминаю, что я поставил старую версию скриптов и базу _до_ изменений скриптов. После чего была ошибка скина (см. код выше). Странные события...

 

И тогда возникает еще вопрос. Если я все залил старое, после чего ковырялся в Админке на предмет ресинхронизаций, выполнил, после чего и вылезла ошибка, до тех пор форум просто не грузился. Затем я удалил скрипты и из дома залил "с нуля" старые, но ничего не трогал. Вот и заработало. Так вопрос в том - все манипуляции меняют, получается, не только базу, но и скрипты/настройки скриптов?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А чего вы не стали патчить 1.2?

Здесь 2 причины:

1) Я собираюсь покупать у вас хоть одну версию 2.1.7 на мои 2 форума, токо бы инвест-пакет выдали :D

2) Для меня патчить - форуму хуже ;) Я знаю, что все делаю в динамике, быстро и зачастую без 100% гарантии качества. К тому же я ставил в свое время к нему хаки, 3 из 7 сработали галимо, пришлось делать возврат. Кабы я понимал, как фунциклирует тот или иной апдейт - тогда без проблем. А ставить бездумно - не для меня. А 2.1.7 пока патчить не надо. Надеюсь к моменту патчения чему-то да научиться.

 

Есть еще и 3-я причина - колоссальное удобство работы.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
1 Лицензия на форум = 1 форум.

Я это знаю. Сообщение несущественное.

 

Итак, по ошибкам обновления.

 

.../pforum/upgrade/upgrade.php

далее

 

Скрипт обновления успешно сделал свою работу и вы сейчас имеете IPB 2.0.0
Сейчас, пожалуйста, посетите основную систему обновления для обновления до последней версии

Т.е. сам скрипт обновления делает из 1.2 - версию 2.0.0, пропуская 1.3.1

 

Затем проводим обновления под админом.

Этот модуль обновит ваш форум с 2.0.2 FINAL до 2.0.3 FINAL

 

упс..

IPB Предупреждение [2] mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (Строка: 141 файла /home/f1upcom/public_html/pforum/ips_kernel/class_db_mysql.php)

 

Нажимаем "обновить" - все ОК и пошло дальше.

Затем выбираю опции "Обновить файлы помощи" и "Да, удалить все изменения во ВСЕХ стилях ...". Второе действие в прошлый раз не делал в одном из 3-х мест, и была ошибка скина. Сейчас все ОК.

469 шаблонов преобразовано

 

и в самом конце:

IPB Предупреждение [2] load_language(/home/f1upcom/public_html/pforum/cache/lang_cache/5/lang_global.php): failed to open stream: No such file or directory (Строка: 1710 файла /sources/ipsclass.php)

Но эту проблему я раздуплил сам - в conf_global.php есть пункт, где "5" заменить на "ru". Откуда эта "5"... не ясно, исторически сложилось :D

Но опять же в кэше только _1_ каталог. Вчерашнюю ошибку связываю с тем, что проводил ресинхронизацию форума с одной базой, после чего залил иную (тоже рабочую) базу, заменил таблицы (9 штук) и, похоже, что изменения ранее коснулись не только базы, но и скриптов, почему я и задал вопрос.

 

И все же выможете ответить на часть вопросов? Или это корпоративный секрет?

Потому как я могу экспериментировать до бесконечности, а смысла нуль.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

У меня такое ощущение, что экспериментами с IPB занимаюсь тут один :D

Короче, форум слетает до нуля после заливки "чистых" версий следующих таблиц:

_cache_store

_skin_templates_cache

У обоих поразительно одинаковый корень "cache".

После слета форум отображается "чистым". Вопрос открыт - почему? Похоже, этот "кэш" есть гениальная разработка Invision, которая впрочем у админов вызывает максимальные траблы ;)

 

Эти таблицы "безобидны" (но решил не менять):

_admin_permission_keys

_attachments_type

_upgrade_history

_forum_perms

_groups

 

После этих выдавались ошибки скина (приходилось добавлять лишние каталоги в кэш и были баги, решил скины оставить как есть):

_languages

_skin_macro

_skin_sets

_skin_templates

 

А эти я без зазрения совести заменил и работает:

_conf_settings

_conf_settings_titles

_faq

 

В принципе, задача выполнена на 80%, но хочется почистить и скины, тем более, что на том форуме они не выполняют вообще смысловой нагрузки (т.е. что есть, что нет - пофиг :) ). Кстати, удалил лишние скины из Админки - 167 записей, но начиная с 81, кое-где цепочка прерывается... Хочется же 1...167, по-человечески!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Нашел частичный ответ по восстановлению таблиц тут:

После обновления форум стал глючить

 

Странно, что никто не смог помочь в моей теме :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.