Configurar autenticación en Apache con authn_dbd y MySQL

libapache2-mod-auth-mysql está descontinuado en Ubuntu 18.04, por lo que para configurar la autenticación Basic en Apache es necesario utilizar authn_dbd. En este caso se usa autenticación Basic porque Digest no funciona :( por lo que es necesario utilizar https (cosa que es recomendable siempre).

Primero hay que activar los siguientes módulos de apache:

Hay que crear el fichero /etc/apache2/mysql_auth_virtualhost.inc en el que tendremos la configuración a añadir a todos los virtualhosts en los que utilizaremos alguna autenticación. Esta configuración indica el servidor MySQL y las credenciales de la conexión a la tabla MySQL de usuarios y grupos:

Hay que cear el fichero /etc/apache2/mysql_auth_directory.inc, donde tendremos la configuración a incluir en cada directiva <Directory> para activar la autenticación para dicho directorio:

Configurar cada VirtualHost con lo siguiente:

Configuración de la Base de Datos

Estas son las tablas que contienen los usuarios y grupos a los que pertenecen:

En la tabla mysql_auth hay una fila por usuario y en la tabla mysql_groups hay una fila por cada grupo al que pertenece un usuario (en groups realmente se indica único grupo, nombre mal elegido en su día).

Las contraseñas las creo del tipo bcrypt (que es la más segura por el momento:

y en el campo mysql_auth.passwd copio el hash creado con bcrypt: $2y$05$Uy3ert...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.