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>

Evitar ataques de fuerza bruta en WordPress protegiendo el archivo wp-login.php con contraseña

Imago voragine.net
• Por
Una de las medidas para prevenir ataques de fuerza bruta en WordPress es protegiendo el inicio de sesión con contraseña usando HTTP Basic Authentication. Esta capa de seguridad se configura directamente en el servidor web, Apache2 por ejemplo. Este método permite proteger con contraseña el acceso a determinadas áreas de un servidor, archivos o carpetas, previamente a la ejecución de PHP. Al no ejecutar PHP, el consumo de recursos del servidor es mucho menor y el colapso es más difícil. Por esta razón es una manera más eficaz que usar un plugin.

Proteger archivos o directorios con contraseña en Apache

Imago voragine.net
[actualizado el ] • Por
Proteger carpetas o archivos accesibles vía HTTP con contraseña permite añadir una capa de seguridad en un servidor web. Se puede hacer usando cualquier gestor de contenidos como WordPress o Drupal de manera trivial, sin embargo hacerlo directamente usando el servidor web, Apache en este caso, evita ejecutar PHP y ahorra recursos de hardware. Esto es especialmente útil si se está intentando evitar un ataque de fuerza bruta.

Cómo actualizar WordPress, instalar plugins o themes en localhost automáticamente

Imago voragine.net
• Por
WordPress se puede actualizar de dos maneras: automáticamente mediante el botón Actualizar del panel de administración, o sustituyendo los antiguos archivos por los nuevos vía FTP. Hay veces que usando el primer método, WordPress nos pide las credenciales de conexión con el servidor, y hay veces que aunque se las demos, la actualización no se produce. Esto es común en instalaciones de WordPress en localhost aunque se puede dar en cualquier servidor. Cuando esto ocurre la causa es una configuración del servidor incompatible; generalmente el problema está relacionado con los permisos y propietarios de los archivos.

Cómo configurar un subdominio en el servidor DNS y el servidor web

Imago voragine.net
[actualizado el ] • Por
Para configurar un subdominio en el servidor web Apache2 tenemos que crear un nuevo registro en la carpeta sites-availables y posteriormente activarlo mediante el comando a2ensite, como si de un dominio normal se tratara. El mecanismo es exáctamente el mismo que utilizamos para un dominio normal, es decir, asociamos el dominio, en este caso el subdominio, a una carpeta de nuestro servidor. En cuando al servidor DNS del dominio, lo único que tenemos que hacer es dirigir el registro principal @ a la IP del servidor. Fácil.

Cómo conseguir personalizar la estructura de permalinks para WordPress en un servidor web

Imago voragine.net
[actualizado el ] • Por
Para poder configurar a voluntad el aspecto de los permalinks en WordPress —la URL de cada página de una web— es necesario hacer unos retoques en el servidor web. Los siguientes pasos son para configurar un servidor web Apache2. Salvo los pasos específicos de WordPres, el tutorial es válido en general.