Resucitando el blog de Gustavo Montes

gustavo.ekiry.com antiguo

Ayer dejó de funcionar el blog de Gustavo Montes, que tengo alojado en MartinServer. Me daba un error de conexión a la base de datos, pero aparentemente el servicio MySql estaba funcionando correctamente y todos los demás websites alojados en MartinServer funcionaban con normalidad. Mirando con un poco más de atención, descubrí el motivo: Ubuntu 16.04, versión a la que acababa de migrar mi servidor, viene con PHP7, y en PHP7 la extensión mysql se ha declarado obsoleta, teniendo que optar en su lugar por mysqli.
O sea, que en vez de gestionar la conexión a la base de datos así:

connect = mysql_connect(‘server’,’username’,”);
mysql_select_db(‘dbname’);

tendría que hacerlo más o menos así:
connection = mysqli_connect(‘server’, ‘username’, ‘password’, ‘database’);

No parece un gran cambio, pero realmente me hubiera supuesto reescribir gran parte del código (todos los selects y queries) de una instalación de Dotclear muy antigua (la 1.2.1, de 2006). No tenía mucho sentido, realmente merecía la pena actualizar el blog a un CMS más moderno.

Otra opción hubiera sido volver a la versión antigua de PHP, PHP 5.6, o hacer convivir ambas versiones en la misma máquina. Se puede seguir para esto el procedimiento detallado aquí. Pero, nuevamente, considero que es mejor actualizar de una vez el software de base del blog en vez de ir haciendo remiendos.

Dotclear

Mi primera intención fue migrar el blog a una versión moderna del mismo CMS, Dotclear. La versión instalada, como ya he dicho, tenía más de 10 años de antigüedad, era la 1.2.1. La actual versión de Dotclear es la 2.9.1, y realmente en todos estos años ha evolucionado tanto que es otro CMS totalmente distinto. No hay una forma fácil de hacer la migración entre ambas versiones, es casi tan difícil como migrar a otro CMS diferente.

La única solución era hacer una migración manual, así que opté por cambiar de CMS. Al igual que otros blogs de MartinServer, decidí migrar a la última versión de WordPress. Exporté la base de datos a XML, realicé una instalación limpia de WordPress en el servidor y, con la ayuda del plugin WP All Import, importé todos los artículos y comentarios.

Paso seguido, subí todas las imágenes del blog a la carpeta /wp-content/uploads y, finalmente, cambié dentro de la base de datos la ruta relativa hacia las imágenes con una sentencia SQL:

UPDATE <tabla> SET <post_content> = REPLACE ( <columna>, ‘<url antigua>’, ‘<url nueva>’ )

Y eso fue todo. Ya volvía a funcionar el blog de Gustavo Montes. Obviamente, la plantilla o template que utilizaba (Promenade para Dotclear) no servía, lo adapté para la plantilla Writr para WordPress y ahora el blog luce tal que así:

blog de Gustavo Montes

Dotclear 2

dotclearCoño, que había salido la versión definitiva de dotclear 2.0 el pasado día 1 de agosto, y yo ni me había enterado.
Como seguramente no sabréis, m4rt1n.com está hecha con la versión 1.2.7.1 de Dotclear, y la verdad es que ya le va haciendo falta alguna renovación. Pero, hasta ahora, no me había planteado pasarme a una versión en Beta.
El equipo de desarrollo de este magnífico CMS para blogs parece que ha atravesado algún que otro problemilla durante este tiempo: no en balde, han pasado nada menos que 1.040 días hasta la aparición de la nueva versión.
Pero bueno, ya me la he bajado y, cuando tenga tiempo, iré haciendo pruebas. Tampoco voy a correr yo ahora.
Las características de Dotclear 2.2 son:

  • Apariencia completamente configurable
  • Administración intuitiva
  • Sistema flexible de plantillas
  • Gestión de archivos multimedia
  • Antispam integrado
  • Multilenguaje
  • Widgets de presentación
  • Plantillas y plugins gratuitos
  • Tags y categorías
  • Instalación automatizada
  • Soporta multiples bases de datos
  • Multiblog
  • Multi-usuario con gestión de permisos
  • Cumplimiento de los estándares Web
  • Accesible
  • Importación y exportación de blogs (tanto de versiones antiguas como de otros sistemas de gestión de blogs)
  • Optimización SEO
  • RSS
  • Trackbacks
  • Soporte Unicode
  • Suporte XML/RPC
  • Extensible
  • Libre y gratuito.