Autenticación básica en Apache con usuario y contraseña

Probablemente haya algunas secciones de un sitio web que deseemos estén solamente disponibles para ciertas personas. Por lo tanto, deberemos disponer de algún mecanismo que permita o impida el acceso a determinados contenidos. Por suerte, Apache dispone de varios métodos a tal fin, siendo la autenticación básica el más simple de ellos.

Autenticación básica en Apache

Para empezar, vayamos al sitio web de la documentación de Apache y examinemos la directiva AuthType. Esta directiva se utiliza para indicar el tipo de autenticación que se utilizará para acceder a un directorio o archivo específicos. En los ejemplos de la documentación veremos que además, se utilizan otras directivas para configurar el acceso dichos recursos.

Las siguientes líneas indican que para el acceso a /var/www/aguantecla.com/public_html/documentos se utiliza autenticación básica. Por eso, se emplea la directiva Directory antes de nombrar dicho directorio dentro /etc/apache2/sites-available/aguantecla.com.conf:

<Directory "/var/www/aguantecla.com/public_html/documentos">
    AuthType Basic
    AuthName "Documentos de Aguante CLA"
    AuthBasicProvider file
    AuthUserFile "/etc/apache2/passwd/passwords"
    Require valid-user
</Directory>

El archivo de configuración debe quedar como se muestra en la Fig. 1:

Configurar la autenticación básica en Apache
Figura 1 – Configurar la autenticación básica en Apache

En resumen, cada vez que se intente acceder a los contenidos de /var/www/aguantecla.com/public_html/documentos aparecerá un formulario que solicitará un usuario y contraseña. Dicho formulario tendrá como título Documentos de Aguante CLA, y se deberán ingresar un usuario y contraseña tal cual se encuentran en /etc/apache2/passwd/passwords.

El nombre y la ubicación del archivo que alojará la lista de usuarios y contraseñas permitidos en el esquema de autenticación básica puede elegirse a gusto propio, así que debemos asegurarnos de que www-data tenga permisos de lectura sobre el mismo.

Finalmente, en el próximo post explicaremos cómo utilizar el comando htpasswd, a fin de poder crear la lista de usuarios a quienes se permitirá el acceso al directorio en cuestión. Mientras tanto, tomen unos minutos para familiarizarse con las directivas que se muestran en la Fig. 1 para que les resulte más fácil la compresión del tema.

¡Nos leemos en breve!