Buenos días a todos!

Esta semana está siendo la semana de las sorpresas, parece que se han aliado todos los astros, fuerzas oscuras de la galaxia o vete tú a saber quién, pero me están poniendo a prueba. Si hace dos días os hablaba sobre uno de los problemas más raros con los que me he encontrado en lo que a administrador de sistemas se refiere (vease Fichero imborrable crontab con permisos 000 “bash: /usr/bin/crontab: Permiso denegado” ), hoy me he encontrado con un error totalmente aleatorio y sin información alguna.

He de decir que me encanta aprender, pero que esto de jugar a ser el Dr. House intentando adivinar qué le pasa al servidor o a la web, teniendo que mirar logs, encontrando errores “comodín” que te dicen solo que algo falla pero no te dan más pistas…. etc, está fenomenal como hobbie y seguro que desarrollan mi capacidad intelectual, de pensamiento y entreno muy bien a mis neuronas. Pero como trabajo diario lo que me provoca no es nada agradable y además tengo muchas más cosas que hacer que andar arreglando fallos aleatorios.

Así que por favor, como no cuento con un equipo de 5 informáticos que puedan ir a ver si la paciente (el servidor) tenía en su casa (en la carpeta web del cliente) un gato con ébola o una lata de champiñones caducada (algún plugin de wordpress que cascaba), pido al responsable de estas indeseables situaciones de la semana que deje por favor de hacerme pruebas que me toca solucionarlas a mí solito.

Ya me desahogué de una forma friki, sigamos.

Todo ha sido cuando he ido a acceder a una de las webs alojadas en uno de mis servidores, cuando de repente he visto que recibía una web totalmente en blanco. Curioso… así que en vistas de no recibir ningún mensaje, decido abrir el plugin de desarrollo web de mi Google Chrome y obtengo la siguiente información:

Captura de pantalla 2014-10-23 11.10.59

Estupendo, un error status of 500 (Internal Server Error), para los que no lo conozcan, este error “solo puede ser resuelto a través de correcciones al software del servidor web. No es un problema del lado del cliente. Depende de los operadores del servidor web del sitio el localizar y analizar los registros que pueden dar más información sobre el error.” (fuente checkupdown.com)

Pero para más inri, es un tipo de error que no indica más pistas, lo que se conoce como error comodín,o lo que es lo mismo puede ser cualquier cosa, apáñatelas y busca el problema.

Para ver si puedo obtener más información recurro a leer el log httpd del sitio web en concreto ejecutando en mi caso el siguiente comando:

cat /var/log/httpd/indi-access_log | grep "23/Oct"

Mediante cat leo el fichero y gracias a grep llego hasta la información del día de hoy, 23 de Octubre, de lo contrario vería en la pantalla mensajes de otros días que no me interesaban, total que después de esto veo varias líneas similares a las siguientes:

2.5.230.111 - - [23/Oct/2014:09:13:38 +0200] "HEAD / HTTP/1.1" 500 - "-" "Site24x7"
72.5.230.111 - - [23/Oct/2014:09:13:44 +0200] "GET / HTTP/1.1" 500 20 "-" "Site24x7"
95.39.233.197 - - [23/Oct/2014:09:14:52 +0200] "GET / HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36"
95.39.233.197 - - [23/Oct/2014:09:14:53 +0200] "GET / HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36"
95.39.233.197 - - [23/Oct/2014:09:15:02 +0200] "GET / HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36"

Vamos, que hay un error 500 y punto.

Después de haber probado a restaurar la web a un estado anterior gracias a mi sistema de copias de seguridad “casero” (aquí podéis ver cómo hago copia de las bases de datos MySQL), el resultado sigue siendo el mismo.

Así que me paro a pensar un rato (ya habían transcurrido nada menos que 2 horas y media de intervención) y pienso en que me estoy enfrentando a una web en WordPress , y mira tú por donde, se me ocurre pensar que quizá por arte de magia algún plugin ha dejado de funcionar. Pero tengo un problema, no tengo acceso a la administración de wordpress de esta web porque también recibo el error status 500, así que accedo mediante phpmyadmin a la base de datos de la web, clicko sobre la tabla wp_options y ejecuto la siguiente consulta sql:

SELECT * FROM wp_options WHERE option_name = 'active_plugins';

Clicko para editar dicho campo y le doy el valor siguiente:

a:0:{}

De esta forma desactivo todos los plugins de la web. Pues efectivamente el problema era de un plugin porque de repente la web va 🙂

Cuál fue mi sorpresa cuando me dispuse a activar uno a uno cada plugin hasta encontrar el que fallaba, que no era nada menos el WPML , para los que no lo conozcan es un plugin que permite realizar webs multilingüe, en varios idiomas, tenéis más info en http://wpml.org/.

Lo más curioso de todo es que no actualicé ni realicé ninguna operación en mi wordpress, falló de forma espontánea, así que descargué la última versión del plugin en concreto (es de pago y tengo licencia, sí, así que si lo tenéis pirata…. no me seáis ratas que por 79$ tenéis descargas gratuitas durante un año o por 195$ para toda la vida :D).

Y nada más, así solucioné mi problema, espero que a alguno le sirva mi experiencia.

Nos vemos en otras entradas! (aunque espero que sean por gusto y no por necesidad)