WordPress en Raspberry Pi con lighttpd y php5 (III)

Bueno, en los anteriores posts dedicado a esta bonita y espantaja tarea de hacer correr a WordPress en una Raspberry Pi que corre un servidor web lighttpd os comentaba al final que descubrí un detallejo que podría tener interés explicar.

Dado que soy un principiante en estas cosas y que de administración de sistemas/redes/servidores se bastante poco, es posible que algún ser humano más espabilado que yo pueda decir que estoy haciendo tonterías… pues bien, para eso está el dejar comentarios… los espero con ansia para aprender de ellos.

Pero… ¿Cual es el problema con WordPress y la Raspberry Pi?

Pues resulta que yo todo alucinado con los resultados que estaba obteniendo decidí llevármela a presumir un poco  y que la vieran algunas gentes a las cuales tengo un profundo respeto por su sabiduría en esto de los bits. Cual fue mi sorpresa al pinchar la Raspberry en otra red distinta a la de mi casa y comprobar que WordPress no funcionaba como era debido. Aparte de quedarse esperando sin límite a la carga de la página, aparecía la página sin formato ninguno. Afortunadamente, la pista crucial me la dio Javi, el informático de mi trabajo, que advirtió al ver el código fuente de la página que en algunas rutas de acceso a algunos archivos (el de la propia hoja de estilos, por ejemplo) figuraba una IP… que no era sino la que me había otorgado el servidor DHCP del router de mi red doméstica cuando instalé WordPress en la Raspberry… Por eso no cargaba ni cargaría la página… y al momento di con el quid de la cuestión.

WordPress no está pensado para servidores móviles

Y la Raspberry Pi lo es, porque podemos coger nuestra Raspberry y pincharla en una red del vecino, o en el trabajo o donde queramos porque para eso tiene un tamaño un poco más grande que una tarjeta de crédito.

El problema viene porque WordPress almacena una variable, la dirección web del sitio y de la página de inicio, que es la que luego usará para generar los enlaces a los archivos que forman las páginas. Cuando el script de instalación creó el archivo wp_config.php, usó la IP que tenía entonces el servidor. Ahora, al cambiar la IP de nuestra maquinita ya que hemos conectado a otra red y su DHCP nos habrá asignado otra, los navegadores estarán pidiendo los archivos mediante enlaces equivocados… y la cosa no funcionará.

La cosa, en pricipio , parece tan sencilla como acceder al panel de control de WordPress -> Ajustes -> Generales  y cambiar los valores de Dirección del sitio (URL), donde aparecería la IP original por la nueva… pero de eso nada…

Hay que tocar en las tripas de WordPress

Pues sí… tenemos que tocar ahí… y esas tripas no son sino las tablas de MySQL donde WordPress almacena el contenido y la configuración de nuestro sitio. Después de investigar un poco, resulta que esta variable está almacenada en la tabla wp_options de la base de datos. La variable se llama siteurl y es la que debemos cambiar para que todo vuelva a funcionar.

OJO, CUIDADÍN CON LO QUE HACES A PARTIR DE AHORA PORQUE PUEDES, COMO YO HE HECHO, CARGARTE TODO TU WORDPRESS… ¡¡¡ESPECIAL ATENCIÓN A LA CLAUSULA WHERE DE LA SENTENCIA UPDATE QUE VAS A HACER!!!

Lo primero es acceder a la base de datos, como ya expliqué el otro día, lo haces a través de la línea de comandos:

Una vez que te aparezca el prompt que te indica que el cliente de MySQL está dispuesto a recibir órdenes y, si has conectado con el servidor sin especificar la base de datos, es el momento de conectar con ésta mediante use wordpress. Ahora puedes pajarear un poco desoxidando tu SQL o pasar directamente, sin pensártelo, a cambiar la IP. Yo por lo menos, prefiero mirar primero a ver cómo están las cosas:

Bueno, ya tenemos claro qué campos tiene la tabla… como os he dicho, la opción que tenemos que modificar se llama siteurl… luego vamos a ver, antes de nada, qué valor almacena:

Ahí tenéis el valor que ahora no es válido… pues nada, imaginad que ahora, mediante ifconfig, por ejemplo, habéis obtenido como IP de vuestra máquina la 172.23.2.199… pues cambiamos el valor en la tabla y listos:

Y ahora que todo ha ido bien, ya podremos acceder a nuestro Blog sin problemas.

En casa del herrero, cuchillo de palo…

Bien, ¿habéis tomado nota de la advertencia que os he hecho unas líneas atrás? Así lo espero… ya que yo me despisté y se me olvidó poner la clausula where en la sentencia update… y el efecto ha sido que todas las opciones tienen el “option_value” con el mismo valor… Resultado: WordPress descojonado… no diréis que no os lo advertí…

En mi próximo post voy a tratar de daros un script de python para hacer todo esto más fácil… pero antes tengo que volver a instalar todo otra vez… No pasa nada… ¡¡¡esto es Linux!!!