¿Alguno de ustedes se ha preguntado como pasar todo un foro basado en
vBulletin
(vB) que es de pago, licencia ropietaria, a uno gratuito, con licencia
GPL 2
, como el
phpBB
?
Ya sea porque se aburrieron de vB, cosa poco probable debido a su excelente performance, ó tienen el software pirata y se ven obligados a usar un sistema de foros gratis, la conversión de un foro vB a un foro phpBB no parece ser sencilla a primera impresión, teniendo en cuenta que se nos complica al tener una base de datos (BD) pesada de vB.
------------------------------
Muy sencillo no es pero tampoco es complicadisimo hacerlo.
A continuación detallo los pasos a seguir para una buena conversión a
prueba de principiantes:
-----------------------------------
Paso 1: Haz un backup ó copia de
seguridad de la BD de tu vB, esto lo puedes hacer mediante el phpMyAdmin (http://es.wikipedia.org/wiki/PhpMyAdmin)
del panel de control de tu
hosting en la
opción exportar y obteniendo un archivo con la extensión .sql ó comprimido .gzip
que luego importaremos a nuestra BD del phpBB. Pero como esto muchas veces causa
errores si la BD es pesada utilizaremos una herramienta muy útil para estos
casos, el Dump y Restore que podiamos encontrar en http://insidephp.sytes.net
hasta hace poco, pero como no se que le paso a la página, aquí les dejo esos
scripts > dump y restore BD (http://lix.in/e605a6). Una vez obtenidos el dump y
restore seguiremos los siguientes pasos:
1.1: Crea una carpeta llamada dump en main (root) de el FTP de tu web
(donde se encuentra tu foro vB), alli colocaremos el dump_db.php que descargaste
con estas modificaciones:
$db_server="la dirección de base de datos, o localhost
(en muchos casos se deja como localhost)";
$db_name="el nombre de la base de datos de tu vB";
$db_username="el usuario de la base de datos de tu vB";
$db_password="el password de la base de datos de tu vB";
$auth_user="ponle un nick que usaras cuando ejecutes el script";
$auth_password="el password";
1.2: Una vez subido el dump_db.php que
modificaste a tu carpeta dump lo ejecutamos. Dependiendo del tamaño de la BD y
de tu conexión tendras que esperar un poco (o mucho) para que el script te avise
que ha creado el backup y que lo puedes descargar, el archivo llamado
filename.gz también se guardara en la carpeta dump que creaste en el paso 1.1.
1.3: Con la BD comprimida (filename.gz)
procedemos a subir a la carpeta dump el segundo archivo que te descargaste,
restore_db.php que también modificaremos:
$db_server="la dirección de base de datos, o localhost
(en muchos casos se deja como localhost)";
$db_name="el nombre de la base de datos que usaras para instalar el phpBB";
$db_username="el usuario de la base de datos que usaras para instalar el phpBB";
$db_password="el password de la base de datos de usaras para instalar el phpBB";
$auth_user="ponle un nick que usaras cuando ejecutes el script;
$auth_password="el password";
1.4: Con el archivo restore_db.php en la
carpeta dump, lo ejecutamos, dependiendo de el tamaño y la conexión esperaremos
a que complete el copiado de todas las tablas, una vez finalizado podremos
borrar la carpeta dump de tu FTP.
Paso 2: Descargate la última versión del
phpBB , instalalo en el FTP y
en la BD donde hiciste el backup de la BD de tu vB, en conclusión, las tablas
del vB que copiaste y del phpBB que instalaste deben estar en una misma base de
datos.
Paso 3: Descargate el conversor vb3_2phpbb
que puedes encontrarlo aquí: http://www.phpbb.com/phpBB/viewtopic.php?t=325692 ,
este conversor sirve para un vB 3.0.X 3.5, 3.6 o inferior incluso.
3.1: Si tu foro vB genera prefijos en sus tablas, vb3_ por ejemplo debes
de modificar el archivo conf.php que se encuentra
en la carpeta vb3_2phpbb y colocar alli el prefijo que te genera.
3.2: Teniendo la carpeta vb3_2phpbb, esa misma carpeta debes copiarla en
el directorio raíz (root) del phpBB. Por ejemplo, si el phpBB se encuentra en
/phpBB2/ la carpeta estaría en
/phpBB2/vb3_2phpbb
Paso 4: Con la carpeta vb3_2phpbb en el
directorio del phpBB ejecutas el script, por ejemplo asi: http://misitio.com/phpBB2/vb3_2phpbb/index.php
4.1: Sigue el script según el orden de los números, del 1 al 8 empezando
por el 1... :p .
Al finalizar la conversión, debes de modificar el archivo
login.php de tu phpBB de esta manera:
#
#-----[ Abrir ]------------------------------------------
#
login.php
#
#-----[ Buscar ]------------------------------------------
#
$sql="SELECT user_id, username, user_password, user_active, user_level
#
#-----[ En la misma linea Buscar ]------------------------------------------
#
user_level
#
#-----[ Después, agregar ]------------------------------------------
#
, salt
#
#-----[ Buscar ]------------------------------------------
#
if( $row['user_level] != ADMIN && $board_config['board_disable] )
{
redirect(append_sid("index.$phpEx", true));
}
else
{
#
#-----[ Después, agregar ]------------------------------------------
#
// check if this is a converted user
// handles punbb, vBulletin3 and Invision Power Board user passwords
if( md5($password) !== $row['user_password] && $row['user_active] )
{
$md5passwrd=md5($password);
// $md5password_salt=md5(md5($password) . $row['salt]);
if ( $row['user_password] == md5(md5($password) . $row['salt] ) || ( $row['user_password]
== md5(md5($row['salt]) . md5($password)) ) || ( $row['user_password] ==
substr( sha1( $HTTP_POST_VARS['password] ), 0, 32) ) )
{
// this is a vb3 user. Welcome them and make them a phpBB user now!
//take the subbed pass and put a md5 encryption on it and insert it into the
database
$sql="UPDATE " . USERS_TABLE . " SET user_password=" . md5( $HTTP_POST_VARS['password]
) . "' WHERE user_id=" . $row['user_id] . "'";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Password Error:<br />Please contact the board
administrator immediately.', '', __LINE__, __FILE__, $sql);
}
// reset $row[user_password]
$sql="SELECT user_id, username, user_password, user_active, user_level FROM "
. USERS_TABLE . "
WHERE username=" . str_replace("\\'", "''", $username) . "'";
if ( !($result=$db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__,
__FILE__, $sql);
}
$row=$db->sql_fetchrow($result);
}
}
#
#-----[ Guardar/cerrar ]------------------------------------------
#
¡Listo!, ya tienes tu foro phpBB2, ahora a modificarlo con los mods
que desees, te recomiendo el quick reply, hide, ezportal para empezar, pero ese
ya es otro cuento.
Fuente
Ya sea porque se aburrieron de vB, cosa poco probable debido a su excelente performance, ó tienen el software pirata y se ven obligados a usar un sistema de foros gratis, la conversión de un foro vB a un foro phpBB no parece ser sencilla a primera impresión, teniendo en cuenta que se nos complica al tener una base de datos (BD) pesada de vB.
------------------------------
Muy sencillo no es pero tampoco es complicadisimo hacerlo.
A continuación detallo los pasos a seguir para una buena conversión a
prueba de principiantes:
-----------------------------------
Paso 1: Haz un backup ó copia de
seguridad de la BD de tu vB, esto lo puedes hacer mediante el phpMyAdmin (http://es.wikipedia.org/wiki/PhpMyAdmin)
del panel de control de tu
hosting en la
opción exportar y obteniendo un archivo con la extensión .sql ó comprimido .gzip
que luego importaremos a nuestra BD del phpBB. Pero como esto muchas veces causa
errores si la BD es pesada utilizaremos una herramienta muy útil para estos
casos, el Dump y Restore que podiamos encontrar en http://insidephp.sytes.net
hasta hace poco, pero como no se que le paso a la página, aquí les dejo esos
scripts > dump y restore BD (http://lix.in/e605a6). Una vez obtenidos el dump y
restore seguiremos los siguientes pasos:
1.1: Crea una carpeta llamada dump en main (root) de el FTP de tu web
(donde se encuentra tu foro vB), alli colocaremos el dump_db.php que descargaste
con estas modificaciones:
$db_server="la dirección de base de datos, o localhost
(en muchos casos se deja como localhost)";
$db_name="el nombre de la base de datos de tu vB";
$db_username="el usuario de la base de datos de tu vB";
$db_password="el password de la base de datos de tu vB";
$auth_user="ponle un nick que usaras cuando ejecutes el script";
$auth_password="el password";
1.2: Una vez subido el dump_db.php que
modificaste a tu carpeta dump lo ejecutamos. Dependiendo del tamaño de la BD y
de tu conexión tendras que esperar un poco (o mucho) para que el script te avise
que ha creado el backup y que lo puedes descargar, el archivo llamado
filename.gz también se guardara en la carpeta dump que creaste en el paso 1.1.
1.3: Con la BD comprimida (filename.gz)
procedemos a subir a la carpeta dump el segundo archivo que te descargaste,
restore_db.php que también modificaremos:
$db_server="la dirección de base de datos, o localhost
(en muchos casos se deja como localhost)";
$db_name="el nombre de la base de datos que usaras para instalar el phpBB";
$db_username="el usuario de la base de datos que usaras para instalar el phpBB";
$db_password="el password de la base de datos de usaras para instalar el phpBB";
$auth_user="ponle un nick que usaras cuando ejecutes el script;
$auth_password="el password";
1.4: Con el archivo restore_db.php en la
carpeta dump, lo ejecutamos, dependiendo de el tamaño y la conexión esperaremos
a que complete el copiado de todas las tablas, una vez finalizado podremos
borrar la carpeta dump de tu FTP.
Paso 2: Descargate la última versión del
phpBB , instalalo en el FTP y
en la BD donde hiciste el backup de la BD de tu vB, en conclusión, las tablas
del vB que copiaste y del phpBB que instalaste deben estar en una misma base de
datos.
Paso 3: Descargate el conversor vb3_2phpbb
que puedes encontrarlo aquí: http://www.phpbb.com/phpBB/viewtopic.php?t=325692 ,
este conversor sirve para un vB 3.0.X 3.5, 3.6 o inferior incluso.
3.1: Si tu foro vB genera prefijos en sus tablas, vb3_ por ejemplo debes
de modificar el archivo conf.php que se encuentra
en la carpeta vb3_2phpbb y colocar alli el prefijo que te genera.
3.2: Teniendo la carpeta vb3_2phpbb, esa misma carpeta debes copiarla en
el directorio raíz (root) del phpBB. Por ejemplo, si el phpBB se encuentra en
/phpBB2/ la carpeta estaría en
/phpBB2/vb3_2phpbb
Paso 4: Con la carpeta vb3_2phpbb en el
directorio del phpBB ejecutas el script, por ejemplo asi: http://misitio.com/phpBB2/vb3_2phpbb/index.php
4.1: Sigue el script según el orden de los números, del 1 al 8 empezando
por el 1... :p .
Al finalizar la conversión, debes de modificar el archivo
login.php de tu phpBB de esta manera:
#
#-----[ Abrir ]------------------------------------------
#
login.php
#
#-----[ Buscar ]------------------------------------------
#
$sql="SELECT user_id, username, user_password, user_active, user_level
#
#-----[ En la misma linea Buscar ]------------------------------------------
#
user_level
#
#-----[ Después, agregar ]------------------------------------------
#
, salt
#
#-----[ Buscar ]------------------------------------------
#
if( $row['user_level] != ADMIN && $board_config['board_disable] )
{
redirect(append_sid("index.$phpEx", true));
}
else
{
#
#-----[ Después, agregar ]------------------------------------------
#
// check if this is a converted user
// handles punbb, vBulletin3 and Invision Power Board user passwords
if( md5($password) !== $row['user_password] && $row['user_active] )
{
$md5passwrd=md5($password);
// $md5password_salt=md5(md5($password) . $row['salt]);
if ( $row['user_password] == md5(md5($password) . $row['salt] ) || ( $row['user_password]
== md5(md5($row['salt]) . md5($password)) ) || ( $row['user_password] ==
substr( sha1( $HTTP_POST_VARS['password] ), 0, 32) ) )
{
// this is a vb3 user. Welcome them and make them a phpBB user now!
//take the subbed pass and put a md5 encryption on it and insert it into the
database
$sql="UPDATE " . USERS_TABLE . " SET user_password=" . md5( $HTTP_POST_VARS['password]
) . "' WHERE user_id=" . $row['user_id] . "'";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Password Error:<br />Please contact the board
administrator immediately.', '', __LINE__, __FILE__, $sql);
}
// reset $row[user_password]
$sql="SELECT user_id, username, user_password, user_active, user_level FROM "
. USERS_TABLE . "
WHERE username=" . str_replace("\\'", "''", $username) . "'";
if ( !($result=$db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__,
__FILE__, $sql);
}
$row=$db->sql_fetchrow($result);
}
}
#
#-----[ Guardar/cerrar ]------------------------------------------
#
¡Listo!, ya tienes tu foro phpBB2, ahora a modificarlo con los mods
que desees, te recomiendo el quick reply, hide, ezportal para empezar, pero ese
ya es otro cuento.
Fuente

