Перейти к контенту
  • 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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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