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

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:

Hay que añadir otra regla para cubrir el caso de los sitios secundarios del Multisite:

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í:

Certificado TSL para conexión segura HTTPS con Let’s Encrypt y certbot

Imago voragine.net
[actualizado el ] • Por

Los certificados TSL permiten conectarse de manera segura a un sitio web usando el protocolo HTTPS (secure HTTP). Son conexiones seguras porque los datos que viajan desde el ordenandor del visitante hasta el servidor donde está alojado el sitio web, y viceversa, están encriptados y nadie puede inspeccionarlos.

El protocolo HTTPS encripta los datos utilizando criptografía asimétrica, que utiliza un par de claves: una pública para cifrar la información y otra privada para descifrarla. El servidor HTTPS difunde su clave pública a cualquier ordenador cliente que quiera conectarse a él, y guarda en secreto su clave privada.

El problema con la criptografía asimétrica es estar seguros de que la clave pública corresponde efectivamente al servidor al que se quiere conectar. De lo contrario existe el peligro de conectarse a un servidor que suplante al original.

Para asegurar la autenticidad de la clave pública de un servidor lo más eficaz es conocer una de las personas que gestionan el servidor, encontrarla presencialmente y que nos dé la clave. En un sistema global como internet en el se visitan servidores que están en otros continentes hubo que buscar otra manera. Es en este punto donde entran en juego las entidades de certificación: organizaciones de confianza que certifican la autenticidad de una clave pública.

Let's Encrypt es la primera entidad de certificación que emite certificados gratuitos y de manera automática. El proceso para obtener un certificado se puede hacer íntegramente desde la línea de comandos usando certbot.

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 lanzar una acción con jQuery cuando se acaba de redimensionar la ventana del navegador

Si se asocia una acción al evento $(window).resize() se ejecuta inmediatamente después de redimensionar la ventana. Como resultado, si se cambia el tamaño de la ventana con el ratón, la acción se lanza muchas veces.

Para lanzar una acción únicamente cuando se ha terminado de cambiar el tamaño de la ventana, es decir, cuando hemos soltado el puntero del ratón, podemos usar el siguiente snippet:

Cómo redirigir todas las URLs de un sitio web cuando se cambia de dominio usando htaccess

Si un sitio web cambia de dominio pero la estructura de enlaces se mantiene es una buena práctica redirigir cada uno de los contenidos en el viejo dominio a su homónimo en el nuevo. Esto se puede conseguir añadiendo unas reglas al archivo .htaccess.

Supongamos que el nuevo dominio es example.net:

Visto en una de las respuestas del hilo .htaccess redirect all pages to new domain de stackoverflow.

Una manera ligera y responsive de poner una imagen de fondo a pantalla completa en una web

Pequeño snippet de CSS para conseguir una web con una imagen de fondo a pantalla completa. La solución funciona en todo tipo de dispositivos, escritorio y móviles.

El último parámetro de background, / contain, es background-size y define cómo se comporta la imagen en diferentes proporciones de pantalla. Dos valores interesantes son contain y cover.