Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo solucionar el error ‘File not found’ en WordPress Multisite funcionando con Apache 2.4 y PHP-FPM 5.6

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Las instalaciones de WordPress Multisite que estén configuradas para mostrar los sitios como subdirectorios pueden dar error en un servidor funcionando con Apache 2.4 y PHP-FPM 5.6. Cuando se visita el panel de administración de cualquier sitio que no sea el principal: File not found.

Si se consulta el log de FPM se verán multitud de respuestas 404. Y si se consulta el log de Apache se encontrarán errores de este tipo: Got error 'Primary script unknown'

Para solucionarlo hay que modificar ligeramente la configuración de Apache. La siguiente línea configura la conexión con FPM:

ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/ruta/hasta/el/php5-fpm.socket.sock|fcgi://localhost/ruta/hasta/el/hroot/

Hay que añadir otra regla (antes que la anterior) para cubrir el caso de los sitios secundarios del Multisite:

ProxyPassMatch ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes)/.*\.php(/.*)?)$ unix:/ruta/hasta/el/socket.sock|fcgi://localhost/ruta/hasta/el/hroot/$2

Aunque esta solución funciona sigue arrojando los mismos errores, así que yo prefiero eliminar la configuración de FPM mediante ProxyPassMatch e incluir un handler dentro del entorno Directory. Así:

<Directory "/ruta/hasta/el/hroot">
  # otras configuraciones
   <FilesMatch \.php$>
      SetHandler "proxy:unix:/ruta/hasta/el/socket.sock|fcgi://localhost"
   </FileMarch>
</Directory>

Permitir incrustar servicios externos (embed) en el contenido de un post en WordPress Multisite: la capacidad unfiltered_html y los filtros kses

Imago voragine.net
• Por

Por seguridad WordPress Multisite desactiva la capacidad de incluir determinado código HTML para usuarios que no sean superadministradores (administradores de la red de sitios). Es una medida lógica para evitar que un usuario incluya código malicioso a través de la caja de contenido de un post. Sin embargo en redes de sitios controladas, con una comunidad de usuarios de confianza, puede tener sentido activar esta capacidad.

Lo que hace WordPress Multisite añadir los filtros KSES, que normalmente solo se aplican a colaboradores y autores, a los usuarios editores y administradores. También desactiva la capacidad unfiltered_html para editores y administradores.

El plugin Unfiltered MU elimina esta limitación. Para quien prefiera prescindir de plugin se puede incluir la activación en el theme que se esté usando.

Cómo eliminar el slug «blog» de la estructura de permalinks de WordPress Multisite

Imago voragine.net
[actualizado el ] • Por Enlace permanente

WorPress Multisite añade el slug «blog» a los permalinks del sitio principal bajo la configuración de subdirectorios, no de subdominios, y lo hace por una razón: para evitar conflictos al coincidir la URL de un contenido del sitio principal (el que está alojado en el dominio) y la URL de otro de los sitios del Multisite (los que están alojados en un subdirectorio).

Eliminar «blog» de los permalinks puede traer problemas: tenemos que estar atentos para que ningún slug de un post, etiqueta o categoría del sitio principal sea igual al slug de uno de los sitios.

Si aún así se necesita eliminar la palabra blog, se puede hacer de la siguiente manera:

  1. Ir a la sección Permalinks dentro de Ajustes del sitio principal. Elegir la opción Predeterminado.
  2. Ir a la sección Sitios dentro de Administrador de la red. Allí seleccionar la opción Editar del sitio principal.
  3. En la pestaña Ajustes modificar la opción Permalink Structure, Category Base y Tag Base.

Eso sí, si se actualiza en el sitio principal la estructura de permalinks, «blog» volverá a aparecer en ellos. Si se quiere actualizar por alguna razón (por ejemplo cuando añadimos un nuevo post type hay que actualizar los permalinks para que el nuevo post type funcione), habrá que repetir el procedimiento.

Cómo conseguir un sitio multilingüe con un WordPress Multisite: un sitio para cada idioma

Imago voragine.net
[actualizado el ] • Por
Conseguir un sitio multilingüe ha sido uno de los problemas históricos de WordPress. En el principio de los tiempos se hacía diferenciando los idiomas por categorías, luego empezaron a aparecer plugins; por fin apareció uno completo, fiable y estable, y al poco tiempo se volvió de pago (aunque no dejó de ser una buena opción). La alternativa siempre ha sido crear una instalación independiente para cada idioma, lo cual solía ser un infierno a nivel de mantenimiento; desde la versión 3.0 de WordPress y la integración estable de la estructura multisite esta posibilidad se democratizó y dejó de crear héroes. Tras leer Build a multilingual site with WordPress, y haber probado previamente las opciones que acabo de comentar, he llegado a la conclusión de que la opción multisite para conseguir un sitio multilingüe es ventajosa.

Cómo y por qué crear un tema «hijo», child theme, para WordPress

Imago voragine.net
[actualizado el ] • Por
Los temas hijos, child themes, en WordPress son aquellos que heredan las características de otro tema "padre", parent theme, del que dependen. La utilidad de los child themes reside en poder personalizar un sitio sin tener que crear un tema desde cero, ya que lo que no se defina en el child theme, éste lo heredará del parent theme.

Cómo activar el WordPress MU en WordPress 3.0

Imago voragine.net
[actualizado el ] • Por
Poder usar WordPress 3.0 como generador y administrador de una red de blogs, al modo del extinto WordPress MU, es una de las novedades más esperadas de la nueva versión. Esta opción no viene disponible por omisión, hay que hacer una pequeña modificación en el archivo wp-config.php para poder usarla.

Dos recursos para empezar con WordPress MU

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Qué es WordPress MU y qué permite hacer: «WP MU permite crear un sitio proveedor de blogs. No es más que un blog de cabecera a través del cual otras personas se registran para crear sus propios blogs o participar de blogs ya creados.»

Diferencias entre WordPress y WordPress MU.

Integración de WordPress y WordPress MU en la versión 3.0.