Cómo migrar de PHP-Nuke a PostNuke sin morir en el intento

Escribo esto como reseña de algo que hice durante la semana, pero que le puede servir como guía a más de uno que tenga algún problema similar al mío, ya que no hay una guía como tal por la web. Trataré de ser breve y conciso.

Hasta la semana pasada, el sitio de Software Libre en Morelos utilizaba como CMS un software llamado PHP-Nuke el cual hace algunos años funcionaba de maravilla (de hecho, ImoqLand en sus inicios tuvo PHP-Nuke) y se supone que es Software Libre, pero hace algún tiempo el autor cambió el tipo de licencia del mismo la cual especifica que a la última versión sólo puedes acceder pagando por lo que si la quieres gratis, deberás conformarte con la penúltima versión. Eso no estaba tan mal excepto que deja un pequeño problema: si se descubre una vulnerabilidad en el software (la seguridad es lo primero) estarás desprotegido de ataques. Se supone que para evitar eso, el autor sacaba «parches» para la penúltima versión pero al parecer se le pasaron algunas cosas, pues a pesar de estar «al día» en el portal de SLM hubo un incidente de seguridad que hizo que finalmente decidiéramos migrar a un CMS verdaderamente libre, gratis y con menos recovecos.

La opción elegida por mí fue PostNuke por dos razones básicas: a) Que me siento cómodo y familiar con este CMS pues lo he usado por muchos años ya. Éste y otros sitios lo utilizan, por lo que he aprendido a utilizar su potencial, y b) que puesto que alguna vez PHP-Nuke y PostNuke fueron «hermanos» (vienen de la misma rama, pero se separaron los proyectos hasta convertirse en algo diferente) las bases de datos guardan cierta coherencia por lo que migrar los datos anteriores (lo cual era crítico dada toda la información conque se cuenta en el portal) debía ser relativamente fácil. Después de buscar un rato me di cuenta que no era trivial pero que sí era posible hacerlo y he aquí los pasos que seguí:

1. Hacer una copia de tu base de datos en PHP-Nuke. El procedimiento que menciono sustituye las tablas de PHP-Nuke por las de PostNuke, por lo que se podría llamar «destructivo». Si no tienes una copia de tu base de datos original y algo sale mal, estarás perdido. Repito: ¡haz una copia de tu base de datos original de PHP-Nuke!.

2. Renombra el directorio en donde esté tu portal o si tienes más archivos que no son parte del CMS, borra todo lo relacionado a PHP-Nuke, excepto el archivo en donde guardas tu nombre de usuario, contraseña, base de datos y todo lo relacionado con la conexión a la misma pues los necesitarás un poco más adelante. La idea es que en el nuevo directorio que crees, o en el que ya tenías, no quede rastro de ningún archivo de PHP-Nuke.

3. Baja la versión 0.726 (fíjate bien en el número: estoy hablando de una versión vieja) de PostNuke. Si tu portal al final va a estar en español, te recomiendo que la bajes de la Comunidad Hispana de PostNuke pues ya tienen una versión completamente traducida al español (castellano, dicen ellos ;)). Descomprímela en el directorio en donde antes «vivía» tu PHP-Nuke o en el nuevo que hayas creado (yo recomiendo que crees uno ex professo para este paso, renombrando el anterior. En un momento más explicaré por qué).

4. Baja el PhpNuke2PostNuke y descomprímelo en el directorio en donde pusiste el PostNuke 0.726 sobreescribiendo los archivos de instalación que sean necesarios. No te alarmes, en la documentación verás que ese programa es para migrar PHP-Nuke 7.4 a PostNuke 0.726 (por eso recomendé bajar esta última versión) pero yo logré migrar mi PHP-Nuke 7.8 (la última versión disponible gratuitamente) sin problemas. Seguramente las bases de datos no han cambiado tanto por lo que sirvió.

5. Ejecuta la instalación de PostNuke normalmente (tusitio.com/install.php) y dile que vas a migrar de una versión anterior a PostNuke. Cuando te pregunte, le das los datos de tu base de datos y le especificas que vas a migrar desde PHP-Nuke. Después de un rato convirtiendo los datos, te dirá que la migración ha sido exitosa (¡espero!) y después de borrar el install.php y el directorio install/ en PostNuke podrás entrar a tu nuevo sitio. Lo primero que deberás hacer, es ir al panel de administración (tusitio.com/admin.php) y en «módulos» desactivar todo lo que no vayas a utilizar y borrar los que sea necesario. Debes quedarte con lo mínimo indispensable para el siguiente paso. También deberás ir a la configuración de tu sitio y decirle que el tema predeterminado para todos sea «ExtraLite». Te recomiendo que después de eso vuelvas a hacer otro respaldo de tu base de datos y te prepares para los pasos finales.

6. Renombra otra vez tu directorio de tu web (o borra todos los archivos de la 0.726) y descarga la versión 0.762 (la última) de PostNuke (otra vez, si descargaste la anterior del sitio en español hazlo otra vez con la nueva) y descomprímela en lo que será tu directorio web. Ejecuta otra vez el script de instalación y dile que vas a actualizar desde una versión anterior de PostNuke. El proceso debe ser rápido y quedar listo en segundos.

7. Después de volver a borrar el install.php y el directorio install/, ve a tu sitio y probablemente veas con horror que se ve todo mal. No te preocupes, es por la falta de actualización de los módulos de tu PostNuke. Tan sólo deberás ir a «tusitio.com/index.php?module=Modules&type=admin» y te aparecerá tu lista de módulos. Dale «Actualizar» a todos los que te aparezca «Nueva versión instalada» y en un dos por tres tu sitio regresará a la normalidad. Ve al menú de «Settings» y configura todo lo necesario para empezar a usar PostNuke. Descarga los módulos que sea necesario, configúralos, usa tu nuevo sitio. Sé feliz 🙂

Al final de cuentas la migración no es tan latosa como parece. Sería infinitamente sencillo si el PhpNuke2PostNuke tuviera soporte para migrar el PHP-Nuke 7.8 a PostNuke 0.762 directamente (¿alguien quien se lo aviente?) pero como no es así, deberás tomar algunos pasos adicionales los cuales no son difíciles teniendo ya algo como guía.

Recuerda, otra vez, respaldar tu información en cada paso y no tendrás problema alguno.

¡Adoro el PostNuke! 😉 😀 🙂

También te podría gustar...

4 Respuestas

  1. kuve dice:

    Muchas gracias por la guian epsero que me sirva, esta muy detallada.

  2. Imoq dice:

    kuve:

    Yo también espero que te sirva. Saludos 🙂

  3. Daniel dice:

    Me vienes cómo anillo al dedo… Voy a migrar mi portal phpnuke a phpbb, sólo quiero saber una cosa… el foro… se migraría tambien?

    Saludos

  4. javier dice:

    Recomiendo aferve.com: una web de desarollo postnuke 100 % castellano, con bloques, modulos, themes, una amplia red de colaboradores que os van a contestar vuestras dudas en el foro.

    salu2 😀


    javier, webmaster esta2.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *