07 noviembre 2005

Apache: proteger página web con contraseña

Primero tenemos que añadir una entrada en el fichero de configuración del apache (httpd.conf) para el directorio que queremos proteger, por ejemplo:

<Directory "/home/usuario/public_html/directorio_a_proteger">
AllowOverride
All
</Directory>

Despues debemos crear un fichero .htaccess dentro de la carpeta a proteger indicando cual es el nombre de usuario y la contraseña (.htpasswd)

AuthName "Password requerido"
AuthType Basic
AuthUserFile /home/usuario/.htpasswd
Require valid-user

Finalmente en .htpasswd debemos escribir el usuario y la contraseña con el formato usario:passwd, donde passwd es la contraseña encriptada mediante el comando htpasswd.

Podemos generar este fichero escribiendo por ejemplo:

> htpasswd -b -c /home/usuario/.htpasswd usuario password

Nota1: si queremos encriptar con MD5 hay que añadir el parámetro -m; si queremos añadir varios usuarios, quitamos el parámetro -c
Nota2: el fichero .htpasswd tiene que tener permisos de lectura:
> chmod a+r .htpasswd

Enlaces relacionados:
http://bulma.net/body.phtml?nIdNoticia=656
http://www.apacheweek.com/features/userauth

2 comentarios:

Anónimo dijo...

Donde pones "Finalmente...blablabla" me parece que el archivo es el htpasswd, no el htaccess, ;-)

Blazde

eTaTuS dijo...

Cierto, un despiste. Ahora ya está corregido, muchas gracias