Las carpetas y los contenidos alojados dentro del "Document Root" de Apache son por accesibles por todos por defecto. En ocasiones es recomendable poder proteger con contraseña determinadas carpetas donde se guarda información confidencial o sitios de acceso sólo para miembros.

Consiste en 3 pasos:

1 – Editar el archivo de configuración de Apache, normalmente "httpd.conf" y buscar en la sección 2 "Main server configuration" entre las etiquetas <Directory /> la entrada AllowOverride y asignarle el valor "AuthConfig":

<Directory />
Options ExecCGI
AllowOverride AuthConfig
</Directory>

2 – Crear un archivo .htaccess y escribir lo siguiente:

AuthUserFile /etc/httpd/conf/.htpasswd //donde sea que ponemos el archivo htpasswd con ruta absoluta
AuthGroupFile /dev/null
AuthName "Nombre del dominio"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>

El archvo .htaccess se pondrá dentro de las carpetas a proteger con contraseña.

3 – Crear el archivo .htpasswd:

Para ello hay que ejecutar comando htpasswd que viene con Apache que encripta la contraseña con una versión modificada del algoritmo MD5 en Windows y usando la función crypt en el caso de Linux por lo que no podemos crearlas directamente. Ojo, los archivos no serán compatibles entre Windows y Linux.

El comando a ejecutar para crear el archivo es:

htpasswd -c .htpasswd pepe

Para añadir un usuario es:

htpasswd .htpasswd juanito

El programa nos pedirá el password automáticamente

Si queremos que el programa nos muestre la entrada por pantalla para posibles scripts debemos usar el comando:

htpasswd -nb nombre_usuario password

Por Ricardo F

Los comentarios están cerrados.