Конвертация базы из phpBB 3.0 в phpBBex 1.x

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

Описание: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Модератор: Поддержка

Сообщение #1 VEG » 18.04.2012, 21:11

На данный момент доступен только скрипт конвертации phpBB 3.0.x в phpBBex. Для того, чтобы конвертировать любой другой форум в phpBBex, сперва необходимо конвертировать его в phpBB 3.0.x, после чего уже приступать к конвертации в phpBBex.

Общая схема действий такова:
  1. Перед началом работы обязательно делаем копию всех данных!
  2. Если у вас установлены стили, отличные от prosilver, удаляем их через админку и устанавливаем у всех пользователей стиль prosilver по умолчанию. Для этого зайдите в Админка » Стили, и там на страницах «Стили», «Шаблоны», «Темы» и «Наборы рисунков» удалите всё, что отличается от prosilver. Если этого не сделать, после копирования файлов phpBBex вы получите ошибку, поскольку в комплекте с ним идёт только стиль prosilver.
  3. Если у вас есть хоть одно важное (глобальное) объявление — обязательно сделайте их обычными перед конвертацией (после конвертации вы сможете сделать их обратно глобальными).
  4. Удаляем файлы phpBB 3 кроме config.php, файлов аватар в каталоге ./images/avatars/ и файлов вложений в каталоге ./files/), вместо них записываем файлы phpBBex (config.php не перезаписываем). Учтите, что в каталоге загруженных аватар ./images/avatars/upload/ обязательно необходимо удалить файл .htaccess.
  5. Выполняем в базе скрипт /install/phpbbex.sql (вручную, при помощи PhpMyAdmin на вашем хостинге или другого подобного инструмента). Если у вас префикс таблиц отличается от «phpbb_», не забудьте перед выполнением изменить подстроку «phpbb_» (со знаком подчёркивания!) на ваш префикс в любом текстовом редакторе, кроме значения phpbb_captcha_nogd, его нужно оставить без изменений. Если у вас были установлены модификации, могут возникнуть ошибки (что-то вроде «колонка такая-то уже существует»), но большинство из них легко разрешается (спрашивайте, поможем).
  6. Запускаем в браузере скрипт обновления базы phpBB /install/database_update.php (на случай, если у вас до этого стояла не последняя версия phpBB).
  7. Авторизуемся, очищаем кэш (на главной в админке), заходим в Админка » Стили, где обязательно обновляем наборы изображений, темы и шаблоны для prosilver (без этого стиль будет отображаться некорректно из-за старых данных из phpBB 3).
  8. Админка » Система » Управление модулями » Администраторский раздел » Система » Автоматизация. Необходимо удалить модуль ACP_VERSION_CHECK.
  9. Админка » Система » Управление модулями » Администраторский раздел. Необходимо добавить модули «Быстрый ответ», «Верхние ссылки», «Управление вложениями», «Настройки отображения» и «Лог регистраций» в подходящие вам разделы. Не забудьте включить эти модули после добавления.
  10. Админка » Система » Управление модулями » Модераторский раздел. Необходимо добавить модуль «Редактировать предупреждение» в категорию «Предупреждения».
  11. Для отображения аватар необходимо их синхронизировать: Зайдите в STK (каталог ./stk/, например, http://вашфорум/stk/), Admin Tools, Resynchronise avatars, нажмите Yes и подождите, пока не появится надпись «Avatars successfully resynchronised!» (это может занять несколько минут!).
  12. Для установки новых пакетов смайликов: Зайдите в Админку, Сообщения, Смайлики, Установить пакет смайликов, выберите phpbbex.pak или phpbb3.pak (в зависимости от того, какой пакет смайликов вы хотите), выберите радиокнопку «Удалить все» и нажмите «Установить пакет смайликов».
  13. Не забудьте установить зарегистрированным пользователям право оценивать сообщения.
  14. После обновления базы зайдите в Админку » Сообщения » Вложения » Группы расширений, и удалите там группу QUICKTIME_MEDIA. Там же вы можете увидеть новые группы «HTML5 аудио» и «HTML5 видео» — эти группы вы можете назначать на следующие расширения для отображения их в виде плеера: ogg, ogv, opus, webm, wav, mp3, mp4, m4a, m4v.

Если у вас был установлен мод «Thanks for posts», вы можете импортировать благодарности во встроенную в phpBBex систему оценки сообщений.

Внимание! В этой теме обсуждаем проблемы конвертации. Решение проблем с уже установленным форумом в этом форуме.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев


Сообщение #41 Forrest » 10.11.2012, 23:03

идентификатор стиля prosilver для всех пользователей. Обычно это 1.
имеется в виду: прописать DEFAULT '1' ?
Forrest
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #42 VEG » 10.11.2012, 23:04

Нет, просто в записи каждого пользователя нужно указать 1.

Для замены типа авторизации на стандартный в таблице phpbb_config найдите параметр auth_type и замените на db.
Потом в зависимости от того, как пароли хранились раньше, скорее всего для входа придётся восстанавливать пароль через форму «забыл пароль».

И да, после всех операций с базой нужно чистить кэш форума. Без доступа к админке — просто удаляйте все файлы кроме .htaccess и index.htm в каталоге cache.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #43 Forrest » 10.11.2012, 23:17

1 в записи каждого пользователя проставил
auth_type заменил на db.

верхние ошибки исчезли, но ошибка со стилем осталась.
кэш чистил.

Общая ошибка
Template path could not be found: styles/subsilver2/template
Forrest
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #44 VEG » 10.11.2012, 23:21

В таблице phpbb_config в параметр default_style укажите тоже 1.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #45 Forrest » 10.11.2012, 23:35

заработало. спасибо!

подскажите, какой мод посоветуете установить для загрузки изображений в текст сообщений?
устанавливал postimage, не нравится, что всякая реклама по бокам...
Forrest
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #46 VEG » 10.11.2012, 23:38

Forrest, отлично! Не забудьте удалить в админке хвосты стиля subsilver2 (стиль, шаблоны, наборы изображений). Если у вас были установлены другие стили — их тоже удалите.
Forrest:подскажите, какой мод посоветуете установить для загрузки изображений в текст сообщений?
Это штатная возможность phpBB 3 (через вложения).
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #47 Forrest » 10.11.2012, 23:41

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

Добавлено спустя 7 часов 22 секунды:
После успешной конвертации форума на phpbbex переключился на стиль subsilver2,
все улучшения и обновления исчезли.
значит пока только на просильвере работает?
Forrest
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #48 VEG » 11.11.2012, 10:02

Forrest, это написано в FAQ (рекомендую изучить). В phpBBex поддерживается только prosilver. Если вы хотите subsilver2, заниматься его адаптацией под phpBBex придётся самостоятельно.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #49 Forrest » 11.11.2012, 10:43

ок, буду перекрашивать PROSILVER

Добавлено спустя 2 часа 38 минут 49 секунд:
есть ли возможность сделать, чтобы в сообщениях данные пользователя были не справа, а слева?
VEG » 11.11.2012, 13:45 Замечание
Оффтоп
Forrest
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #50 VEG » 11.11.2012, 13:41

Forrest:есть ли возможность сделать, чтобы в сообщениях данные пользователя были не справа, а слева?
Смотрите настройки отображения. Это стандартная возможность. Просьба больше не оффтопить в этой теме — она предназначена для вопросов, касающихся конвертации.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #51 ReXtor » 12.11.2012, 02:01

VEG:В STK есть инструмент для выполнения SQL запросов в текущей базе. Можете попробовать воспользоваться им.
Итак, у меня имелся phpBB 3.0.11 (от BB3x) и не было абсолютно никаких нормальных инструментов для работы с БД (MySQL)

Первым делом я убедился что в STK имеется функционал для выполнения SQL-запросов. Раньше про STK я и не слышал. Скачал последнюю версию, установил, запустил - работает.

Но, когда пришло время обновляться на phpBBex, уже в процессе столкнулся с внезапной проблемой. А именно:
Когда все файлы из поставки phpBBex уже лежали на хостинге и пришло время выполнять .sql запрос (пункт: "6. Выполняем в базе скрипт /install/phpbbex.sql (вручную)") я не смог попасть в STK, так как он напрямую связан с функциями самого движка phpBB. Ну а так как БД еще не была обновлена, движок не мог с ней работать и STK выдавал:
Код: Выделить всё
SQL ERROR [ mysql4 ]

Table 'chatforum.phpbb3x_user_browser_ids' doesn't exist [1146]

Вышел из положения следующим образом:
  1. Заменил директории include, adm целиком и файл common.php обратно на "родные" из поставки phpBB 3.0.11 (помог backup %).
  2. Залил обратно "оригинальный" STK (опять же из бекапа).
  3. Выполнил необходимые изменения в MySQL через STK.
  4. Снова заменил вышеуказанные директории/файлы теми, которые идут в поставке phpBBex.

В связи с чем вопрос/предложение:

А почему бы не выполнить содержимое phpbbex.sql в виде исполняемого .php-файла, наподобие database_update.php?


Тем более таким образом можно сделать "нативную" систему с выбором необходимых опций (из тех что можно выбирать). Я вот сначала не обратил внимания на имеющиеся комментарии в .sql и в итоге сделал:
Код: Выделить всё
-- Show all forums in active topics
UPDATE phpbb_forums SET forum_flags = forum_flags|16;
При том что "Активные темы" мне нужны не были. И потом, стандартными средствами форума, исправлял эту опцию в примерно 50 разделах (со sql не особо дружу ага).
ReXtor M
Откуда: Siberia
Репутация: 6
С нами: 11 лет 4 месяца

Сообщение #52 VEG » 12.11.2012, 12:42

ReXtor:А почему бы не выполнить содержимое phpbbex.sql в виде исполняемого .php-файла, наподобие database_update.php?
Это планируется, но сроков не установлено.
ReXtor:При том что "Активные темы" мне нужны не были. И потом, стандартными средствами форума, исправлял эту опцию в примерно 50 разделах (со sql не особо дружу ага).
Тогда получается, что функция «Активные темы» у вас не будет работать.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #53 iLou » 28.11.2012, 04:30

Доброго времени суток!
Полный перенос с 3.0.11 без косяков не получился, поэтому установил phpBBex с нуля.
Можно как-то перенести все данные с phpbb (форумы, юзверей, посты) без вреда (ведь явно есть новые поля в БД)?
iLou
Гость

Сообщение #54 Alexander » 28.11.2012, 11:30

VEG:Обновляем базу до последней версии phpBB (скрипт /install/database_update.php из стандартного пакета, запустить через браузер).
А возможно сделать обновление базы не на сервере, а провести манипуляции со скаченной на диск резервной копией БД? Дело в том, что обновление планируется провести одновременно с переносом на новый хостинг. Поэтому не хотелось бы ничего трогать на старом хостинге, пока на новом все не заработает.
Alexander M
Аватара
Откуда: Россия
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #55 VEG » 28.11.2012, 12:26

iLou, нужно делать по этой инструкции. Если при выполнении SQL запросов выводятся ошибки — не беда. Значит, у вас уже был модифицирован форум и уже были созданы некоторые требуемые поля. Просто удаляете ту часть запросов, что выполнилась успешно, и запускаете скрипт ещё раз. Только внимательно читайте, что за ошибки выводит MySQL. Если, например, ошибка «поле x уже существует», а в запросе добавляется сразу 10 полей, то нужно из запроса убрать упоминание поля x, а остальные — оставить.
Если же не получается, можете очистить базу от созданных вами полей при помощи официального STK — он умеет это делать. Только учтите, что если вы ранее использовали мод пола пользователей, то при таком подходе пол не перенесётся в phpBBex. Для переноса нужно именно выполнять указанный скрипт, исправляя запросы в соответствии с выводимыми ошибками. И да, те запросы, что уже выполнились корректно, повторно выполнять не нужно! Сразу удаляйте их.

Alexander, конечно же можно, это даже лучше.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #56 iLou » 28.11.2012, 12:36

Форум чистый стоял, из модов только thanks for posts
Установка проходила без проблем, после установки форум ругался "[phpBB Debug] PHP Warning: in file [ROOT]/adm/index.php on line 105: ob_start(): output handler 'ob_gzhandler' conflicts with 'zlib output compression'", который лечил отключением Gzip;
+ошибки в админке из-за нехватки файлов мода спасибки, которые явно лечатся переустановкой/удалением мода
Но по большей части расстроился из-за косяков шаблона, верхняя менюшка не отображалась как надо, ну а если с "лицом" проблемы, то внутрь я уже не стал лазить и просто снес.

Уже перенес все нужные данные, вроде без проблем...
iLou M
Репутация: 3
С нами: 11 лет 4 месяца

Сообщение #57 VEG » 28.11.2012, 13:10

iLou:Но по большей части расстроился из-за косяков шаблона, верхняя менюшка не отображалась как надо, ну а если с "лицом" проблемы, то внутрь я уже не стал лазить и просто снес.
Скорее всего вы просто не очистили кэш шаблонов и не обновили наборы изображений или стилей.
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #58 Alexander » 29.11.2012, 03:43

VEG:Alexander, конечно же можно, это даже лучше.
Я, возможно, не совсем точно выразился. Я имел в виду конвертацию БД не на локальном сервере, а просто имеется на жестком диске пакет установки phpBBex и файл БД (*.sql). Как в этом случае запустить конвертацию?

Добавлено спустя 4 минуты 23 секунды:
PS Здесь речь идет про конвертацию БД. А где посмотреть про установку чистого движка phpBBex?
Alexander M
Аватара
Откуда: Россия
Репутация: 0
С нами: 11 лет 4 месяца

Сообщение #59 VEG » 29.11.2012, 13:29

Alexander:PS Здесь речь идет про конвертацию БД. А где посмотреть про установку чистого движка phpBBex?
Установка чистого phpBBex ничем не отличается от установки чистого phpBB 3.
Alexander:Я, возможно, не совсем точно выразился. Я имел в виду конвертацию БД не на локальном сервере, а просто имеется на жестком диске пакет установки phpBBex и файл БД (*.sql). Как в этом случае запустить конвертацию?
Примерно так:
1. Нужно создать чистую базу на локалке, залить туда ваш дамп, после чего выполнить в этой базе содержимое phpbbex.sql.
2. Извлечь содержимое архива phpBBex в нужное место
3. В каталоге форума вручную создать файл config.php с параметрами подключения к вашей локальной базе:
Код: Выделить всё
<?php
$dbms = 'mysqli';
$dbhost = 'localhost';
$dbport = '';
$dbname = 'phpbb';
$dbuser = 'phpbb';
$dbpasswd = 'phpbb';
$table_prefix = 'phpbb_';
$acm_type = 'file';

@define('PHPBB_INSTALLED', true);
// @define('DEBUG', true);
// @define('DEBUG_EXTRA', true);
4. Из старой копии форума переместить файлы аватар и вложений
VEG M
Автор темы, Администратор
Аватара
Откуда: Finland
Репутация: 1653
С нами: 11 лет 11 месяцев

Сообщение #60 Вадик » 02.01.2013, 14:20

Выполняем в базе скрипт /install/phpbbex.sql (вручную)
как это сделать?
Вадик
Репутация: 4
С нами: 11 лет 5 месяцев

Пред.След.

Вернуться в Мастерская 1.x