Migrando y poniendo en línea….

He de confesar que no había pasado por aqui desde hace mucho….

Por falta de tiempo mi blog personal había sido abandonado «a la buena de dios». Lo que sucedió fue que mi sitio, al igual que otros, fue vulnerado en una oleada de hackeos perpetrados a las cuentas de Dreamhost, en los que, una vez tomadas las bases de datos de la mayoría de los CMS, se hicieron inyecciones masivas de código malicioso que redireccionaba a una página rusa, que fue reportada como atacante por las inspecciones de Google.

Por más que traté de localizar las cadenas infectadas en la base de datos, fue inutil, pues estaban encriptadas en base 64, (según me dijo un compañero en una consulta técnica), por lo que tuve que tuve que eliminar al usuario de la base de datos del blog, la base de datos misma, además todos los archivos pertenencientes a la instalación que fue hackeada. Una vez hecho eso exporté los posts del blog y los importé en una instalación local limpia de wordpress, intentando que tuviera las configuraciones, y los plugins que tenía la anterior instalación de mi blog (para estos casos, es útil apuntar configuraciones y plugins instalados en un cuaderno).

Problemas con la migración del wordpress local al hosting de pago

Una vez reinstalado mi blog en wordpress en el hosting de pago, me di cuenta que al intentar realizar cualquier operacion (por ejemplo autentificarme para entrar a la administración, navegar por los posts, etc), el blog redireccionaba a mi instalación en el servidor local (http://localhost/instalación_limpia). Lo anterior debido a que toda instalación de WordPress 3.5 realizada en un servidor local, tiene escrita en varias tablas de su base de datos una redireccion al servidor en donde originalmente fue instalada.

Para superar el problema de la redirección es necesario:

  1. Identificar las tablas que contienen la redirección (en mi caso, bastó con hacer una búsqueda en phpMyAdmin en todas las tablas de mi WordPress, para detectar las que contenían la palabra «localhost» en algunos de sus campos.
  2. Reemplazar los datos de la redirección al servidor local, por los datos del dominio en donde fue instalado. Para no hacerlo a mano para cada registro identificado de la tabla, se puede realizar a través de una consulta SQL, dirigda a la tabla y el campo de la tabla que contiene la información de redirección (en mi caso, reemplacé la dirección http://localhost/instalacion_limpia por http://guillermosantos.net). Abajo, pongo una consulta genérica, a la que puedes sustituirle la información «wp_tablaidentificada» e «wp_campoidentificado», por la información de la tabla y el campo de la tabla que corresponden a tu instalación de wordpress.

UPDATE wp_tablaidentificada SET wp_campoidentificado = replace(wp_campoidentificado, 'http://localhost/instalacion_limpia', 'http://guillermosantos.net');

Recomiendo este post, que indica una serie de pasos que son útiles para la migración de una instalación local de wordpress a un servicio de hosting de pago, aunque advierto que está mal la sintaxis de la consulta que publican ahi. Por otra parte no han identificado todas las tablas que contienen información de redirección.

PD. Vale la pena decir que como blog fue eliminado del índice de Google, y reportado por este como sitio atacante, por lo que tuve que hacer una solicitud de reconsideración en las herramientas para webmaster de google,que fue atendida en menos de dos semanas. También que en esta nueva instalación, puse mi  archivo wp-config.php, fuera de la carpeta de instalación de wordpress, y también cambié cambié la forma de acceder a la administración del blog.

Estoy contento por que he regresado :D.