Mover un sitio WordPress a otro dominio

Les ha pasado alguna vez al terminar el desarrollo de un sitio en WordPress, que al mover el código al servidor del cliente, se pierden configuraciones, widgets, o menús?

El procedimiento que sigue la mayoría de personas es simplemente descargar la base de datos del sitio, buscar y reemplazar el nombre del dominio en el archivo SQL y luego subir este script modificado en el dominio nuevo.  Puede parecer que de esta forma todo esta bien, pero el problema esta en la forma como WordPress guarda la información de los widgets/menus en la base de datos: Serialized Data. Básicamente son cadenas de texto para el contenido y una variable para el tamaño de la cadena. Al buscar y reemplazar, la mayoría de las veces el nuevo nombre de dominio tiene mas o menos letras que el dominio que usamos para hacer el desarrollo y php al cargar el Serialized Data, rechaza el valor ya que el tamaño es diferente.

Desde el sitio oficial de WordPress nos dan la solucion al problema: utilizar el script http://spectacu.la/search-and-replace-for-wordpress-databases/ para hacer el cambio de dominio. Los pasos a seguir son:

  1. Descargar el script de la base de datos del sitio original.
  2. Sin hacer ninguna modificación, subir el script de la base de datos al servidor de destino.
  3. Instalar el script searchreplacedb2.php en el directorio public_html del servidor de destino y abrirlo en el navegador (ejemplo http://nuevoservidor.com/searchreplacedb2.php).
  4. Seguir las instrucciones en pantalla para buscar/reemplazar el nombre del dominio viejo, por el nombre de dominio nuevo.
  5. Borrar el script searchreplacedb2.php del servidor cuando termines! 

Es siempre recomendado bajar la última versión del archivo desde la pagina del desarrollador, pero por si acaso, aqui puedes bajar la version que utilice a la hora de escribir esta entrada:  searchreplacedb2.php

Primer mirada a Firefox OS

Hace unos  días me pico la curiosidad por desarrollar aplicaciones HTML 5 para Firefox OS así que decidí comprar un equipo ZTE Open que estaba muy económico sin contrato en Movistar ($150.000 pesos Colombianos, unos $78 USD).

ZTE Open

En la compra se incluía de regalo una gorra de la selección Colombia y un estuche blando original de ZTE. El equipo venia empacado en una pequeña caja que sorprende con su buen diseño; su construcción es similar a la caja del iPhone 4s pero usando los colores de Firefox: azul y naranja.

ZTE Open

ZTE Open

Dentro de la caja viene impreso el Zorrito de Firefox, un detalle que me agrado mucho.

ZTE Open - Firefox OS

Tomando el equipo en las manos para encenderlo se siente que es un celular bien construido, solido y que puede aguantar unas cuantas caídas. Incluye un cable micro USB, un cargador  y unos audífonos  genéricos, sin la misma calidad de construcción del equipo.

Al encender el equipo se puede notar de inmediato que la resolución de la pantalla y la calidad de los colores es baja, pero es de esperar por ser un smartphone de gama baja y de un precio muy bajo.

Al ser un sistema operativo “Abierto” esperaba que viniera limpio de fabrica, sin ninguna personalización del operador, pero no era así; el equipo venia lleno de aplicaciones de Movistar y al encender y apagar muestra el logo de la empresa.

Al usar Firefox OS 1.0 se nota inmediatamente que es muy lento, llegando a veces al punto de ser inutilizable. Instale el unico juego conocido para mi en la tienda de aplicaciones, Cut The Rope; y para mi sorpresa corre muy lento. Al abrir la aplicación de la cámara y tratar de tomar una fotografía, tarda unos 4 segundos en capturar la imagen, algo inaceptable en esta época.

Afortunadamente en el sitio web de ZTE está disponible una actualización gratuita a Firefox OS 1.1 que mejora mucho la estabilidad y velocidad del sistema, pero que aun se siente lento. Hace pocos días se lanzo para socios la versión 1.2 del sistema, pero aun no llega al publico en general.

En conclusión el ZTE Open es un equipo que en mi opinión no debería estar aun vendiéndose al publico, siendo solo apto como un teléfono para regalar a personas que solo utilizan su móvil para hacer y recibir llamadas, o para usarlo como linea de respaldo. En manos de usuarios expertos de iPhone o Android se siente como un equipo inferior que no merece la pena comprar. La falla puede que no sea el sistema operativo Firefox OS, si no las bajas especificaciones técnicas del equipo.

Drupal – Error de conexión con la base de datos MySql [mysql_old_password]

En algunas instalaciones de drupal en algunos servidores me he encontrado con problemas a la hora de seleccionar MySql como base de datos. Hasta ahora la solución  que había aplicado fue usar SqLite y olvidarme del problema… pero en un proyecto reciente requiero migrar un drupal de SqLite a MySql, con la ayuda del modulo DBTNG Migrator. Al empezar a mover la información de la base de datos, obtenía el mismo error que al instalar Drupal:

Drupal [mysql_old_password] Error

Me puse en la tarea de buscar cual podría ser el problema y encontré que las ultimas versiones de MySql usan un nuevo formato de password de 41 caracteres, mientras que la versión antigua es de solo 16, lo que causa que la función mysql_connect retorne errores.

La solución en mi caso fue editar en el servidor (usando SSH) el archivo /etc/my.cnf, desactivando el soporte a password antiguos cambiando el valor de la linea de OLD_PASSWORDS = 1 a OLD_PASSWORDS = 0 y reiniciando el servicio de MySql.

Luego actualice el formato de la contraseña en la base de datos ejecutando un par de lineas de sql como super admin del servidor:

Con todo listo volví al modulo DBTNG Migrator y todo funciono a la perfección:

Drupal DBTNG Migrator