Apuntes para cambiar de ubicación un foro phpbb2

0 votos

Estos son unos pequeños apuntes del procedimiento a seguir, para recordarlo. También sirve para otras personas que estén en situaciones similares.

Premisas:

Supongamos que tenemos dos subdominios, el principal dirigido a la dirección base, y uno secundario de un proyecto privado.

Supongamos que utilizamos una aplicación phpbb2, esta se instala en el principal.

Supongamos que hasta la fecha, teníamos una página que leía la base de datos del foro y recogía los títulos de últimos mensajes de dicho foro para ponerlos en el espacio secundario.

Supongamos que por azares de la vida, cambiamos de alojamiento o de plan de alojamiento, y éste no tiene la opción de allow_url_include activa en el php.ini y no piensan activarnoslas aludiendo que “es un problema de seguridad“. Paso que podría solucionar este procedimiento en unos segundos.

¿Qué podemos hacer?

Si no tenemos muchos conocimientos de programación. Lo más sencillo es mover el foro al lugar donde pensamos “anunciar” esos datos, y al mismo tiempo conseguiremos organizar el foro en el lugar adecuado.

Esta guía recoge ese procedimiento:

  • Hacemos una copia de seguridad (descargamos desde FTP) a los archivos que dependen de la aplicación (el directorio completo).
  • Cambiamos los enlaces a las páginas web de nuestra ubicación del foro (la principal), para que se dirija fácilmente a la nueva.
  • Adicionalmente podemos poner una página index.html en el lugar antiguo que se dirija a la nueva ubicación (una simple con la cabecera:
    META http-equiv="refresh" content="0;URL=ubicación_exacta"

    será mas que suficiente), no es muy recomendable para páginas accesibles, pero es la forma mas sencilla para redirigir a nuestros visitantes si tienen apuntada la página antigua.

  • Cambiamos las ubicaciones de algunos enlaces que tengamos puestos en nuestra página secundaria respecto a ciertos enlaces. Podemos hacer un cambio global con nuestro programa de diseño de páginas web, pero hagamos una copia antes de dicho cambio por si nos cargamos algo, poder recuperarlo fácilmente. Solo tenemos que decirle que haga un cambio global en todo el sitio, y que busque en el código fuente, la dirección base del foro principal y la cambie por la dirección base del lugar al que pensamos poner el foro nuevamente. Apuntaremos dichas páginas para poder subirlas cuando tengamos el proceso completado, y no antes.
  • Estos cambios de páginas no serás efectivos (subidos) hasta que no hallamos completado todo el proceso siguiente. Pero los tendremos preparados en nuestro ordenador.
  • Mediante el panel de control, nos conectamos al alojamiento, en la zona del subdominio secundario. Y creamos una nueva base de datos con su usuario y clave. Esta tiene que ser MySQL. Recordaremos estos datos, porque son necesarios para poderlos usar con el foro.
  • En las páginas del foro que hemos bajado del principal y del cual tendremos copia de seguridad extra antes de tocarlo, tenemos que cambiar los datos de un archivo: config.php (del foro phpbb2). Cambiamos los datos del nombre de la base de datos, el usuario y la clave que pusimos en el paso anterior.
  • Subimos la carpeta del foro con el fichero config.php recién modificado, en la nueva ubicación (subdominio secundario).
  • Nos conectamos como administradores a nuestro foro, en la ubicación principal, para copiar unos datos que necesitamos. Sección: Administración General -> Configuración, desde allí copiamos el campo de texto llamado “Descripción del Sitio“, si tenemos un campo con muchas propiedades (enlaces directos a páginas web de otros lugares y algún otro mensaje mas, estos quedarían machacados, al mover la base de datos).
  • Mediante el programa de FTP, desactivamos momentáneamente el foro, un simple renombrado de la carpeta será suficiente, así obtendremos que nadie se pueda conectar al foro (le salga página inexistente), mientras nosotros hacemos esta operación,  evitando problemas de divergencias en la base de datos que vamos a replicar.
  • Hacemos una copia de seguridad a la base de datos, mediante el panel de control de nuestro alojamiento y el phpmyadmin (webadmin) de la base de datos: Exportar -> marcamos la base de datos a exportar -> marcamos “Enviar (genera un archivo descargable” -> y le damos al botón “continuar“. Esto nos debería de descargar un fichero llamado localhost.sql (o nombre similar) sin comprimir.
  • No la comprimimos, porque vamos a hacer un cambio antes de volverla a subir a nuestra nueva ubicación. Una vez descargado haz una copia del fichero, porque lo vamos a modificar.
  • Con el fichero descargado, lo editamos (procura que tu editor ASCII soporte ficheros de varios megas, el Notepad (Bloc de Notas) del Windows suele ser muy malo, utiliza otro como el Notepad++ o mejor. Después de: “—Base de datos: ” y antes de “Estructura de tabla para la tabla ‘phpbb_auth-access’“, tenemos que borrar lo siguiente:
    CREATE DATABASE `basededatos` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    USE `basededatos`;

    (los nombres basededatos pueden variar de una a otra configuración). Esto permitirá una buena importación en el siguiente paso.

  • Si tenemos una conexión lenta de subida, podemos comprimir el archivo (una vez modificado) en zip o en gzip. Así el archivo a subir será mas pequeño y tardará menos en transferirse.
  • Nos vamos al panel de control del alojamiento secundario, en el webadmin de aquella base de datos que creamos antes. Importamos los datos de la base de datos que acabamos de comprimir:Importar -> Archivo a importar -> Examinar -> elegimos archivo ->  y le damos al botón “continuar“.
  • Esta operación puede tardar varios minutos, pero cuando termine, no debe salir ningún mensaje de error, y veremos en la parte izquierda las tablas llamadas phpbb_[loquesea], todas añadidas (hay 30).
  • En teoría ya tenemos nuestro nuevo foro con su base de datos activa, pero antes tenemos que hacer unos cambios desde la base de datos, para que no se conecte al viejo alojamiento al entrar en la nueva ubicación del foro: Le damos al botón Examinar -> Pulsamos sobre la tabla phpbb_config -> bajamos por los datos (por la página), y le damos a la página siguiente [>], tenemos que encontrar uno llamado server_name -> tendrá la ubicación antigua (el dominio principal) debemos cambiarlo al nuevo -> le damos al lapicero de editar y en “valor” cambiamos la ubicación al que corresponda. -> le damos al botón “continuar“.
  • Si hemos cambiado la ubicación (el nombre del directorio de phpbb2), tenemos que hacer el mismo proceso, pero cambiando el nombre de script_path que contendrá el directorio donde está ubicada la aplicación phpbb2. Si hemos preferido conservar el nombre antiguo, este paso no hace falta hacerlo.
  • Ya podemos salir del phpmyadmin y del panel de control del alojamiento.
  • Intentemos conectarnos, desde la nueva ubicación, al foro. Nada mas conectarnos deberíamos ver una replica exacta del lugar (como lo vería un visitante) es posible que alguna cosa de la cabecera esté descolocada, es normal.

NOTA IMPORTANTE: Si tienes el directorio admin del phpbb como directorio privado con usuario y clave (ficheros .htaccess y .htpasswd, debes editar el .htaccess y cambiar la ubicación del dominio al subdominio, sino no te dejará entrar. Si no usas esta protección extra de seguridad, no deberías tener problemas.

  • Cuando estés dentro del panel de phpbb, ve desde el menú “Administración General” en la opción “Configuración“, y comprueba lo de “Descripción del sitio“, es probable que si tuvieras enlaces, estos estén machacados y con caracteres o ubicaciones raras. Por eso te hice copiar esta información en un paso anterior, restaura los valores, y si tienes enlaces, modifícalos para que se dirijan correctamente. Ten en cuenta que este campo tiene un tamaño de caracteres reducido, a lo mejor tienes que hacer ciertas modificaciones o apaños para que se dirijan correctamente, para hacer que vuelva a funcionar. Como último recurso y si no quieres trabajar, puedes borrar dichos enlaces, dejando solo los mensajes o la descripción del foro. Al grabar los datos se volverá a ver bien la cabecera.
  • Antes de salir del foro, poned un mensaje de aviso a vuestros visitantes, anunciando la mejora o re-ubicación, así todos sabrán porque ha habido un parón. También debéis mencionar los posibles inconvenientes o fallos colaterales y las soluciones que se están llevando a cabo.
  • Es el momento de subir las páginas modificadas con las re-ubicación del foro.
  • Cuando hallamos terminado y comprobado que funciona todo correctamente, podemos borrar el foro antiguo y la base de datos antigua del alojamiento principal.
  • Un último apunte, aparte de las páginas web de acceso al foro, si el propio foro está enlazando determinados mensajes dentro del foro (hilos), tendréis que actualizar dichos enlaces. Se podría hacer desde la propia base de datos un cambio global. Pero no olvidemos que si el foro ha estado durante mucho tiempo ubicado en el lugar principal, los procedimientos a seguir cambian con el tiempo (la forma de escribir, etc, se perfeccionan, varían las formas de hacer o enlazar, además de que otros usuarios pueden hacer lo mismo en sus contestaciones), así que podría no funcionar el cambio global o tener problemas derivados o cargarnos algo. Puedes optar por el cambio fino y lento, que es tener que repasar los mensajes uno a uno. Si tenemos muchos, esto nos puede llevar horas o días si lo hacemos solos.

Y esto es todo… al final del proceso, posiblemente si has tardado mucho en el último paso, no tengas muy buen humor… así que olvida eso de:

“Las mejoras del nuevo alojamiento por el cual os cambiasteis con tanto ahínco.”

…y relájate un poco haciendo otras tareas o durmiendo muchas horas, y sobre todo, no coincidas con el co-administrador durante un tiempo, no sea que se te escape el martillo que tienes cogido con una de las manos… :mrgreen:

1 comentario

  1. Pse.
    Vaos a mterenos un poco contigo 🙂

    A ver. ¿Me quieres decir que los hilos de los foros estan sobre la URL completa?

    Vaya patata de foro. Ni que estuviese yo implicado en la instalacion.

    A migrarlo. Hay que migrarlo a quno que funcione mejor 😛

    En Serio

    Enhorabuena Ignacio

ATENCIÓN: Puedes opinar sin meter Correo electrónico o Web.


Deja un comentario

Tu dirección de correo electrónico no será publicada.

CAPTCHA *