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
Los comentarios están cerrados.