SERVIDORES APACHE: PROTECCIÓN DE UN DIRECTORIO CON CONTRASEÑA VÍA HTTPD.CONF

08.12.2017 15:09
Ya vimos como proteger con contraseña un subdominio, un directorio o incluso solo un archivo mediante un archivo .htaccess. Por cuestiones de rendimiento y de seguridad siempre cuando se pueda convendrá buscar una alternativa a ese archivo. Detallamos el procedimiento.
 
Para empezar crearemos un archivo .htpasswd. Para ello abrimos la consola de comandos (nosotros los hicimos directamente como administradores) y nos movemos al directorio Unidad de disco:\xampp\apache\bin. Los comandos serán los mismos en Linux que en Windows.
 
En la consola tipeamos lo siguiente:
 
htpasswd -bn nombredeusuario contraseña
 
El resultado devuelto será algo como:
 
nombredeusuario:$apr1$bQYro985$104hHP8I46HYRH1n6xdHp.
 
Creamos el archivo .htpasswd (dentro del directirio "xampp") y copiamos y pegamos en el mismo el resultado de arriba.
 
Ahora buscamos el archivo httpd.conf en la ruta "Unidad de disco:\xampp\apache\conf\httpd.conf"
 
Buscamos las siguientes líneas:
 
<Directory />
    AllowOverride none
    Require all denied
</Directory>
 
Y las modificamos:
 
<Directory />
    AllowOverride none
    Require all granted
</Directory>
 
Debajo insertamos lo siguiente:
 
<Directory "c:/xampp/htdocs/restringido">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile "/xampp/.htpasswd"
Require user nombredeusuario
</Directory>
 
El directorio "restringido" (o cualquiera sea su nombre) quedará protegido con contraseña. Podemos agregar más usuarios repitiendo el procedimiento en la consola de comandos.
 
Aconsejamos INSISTENTEMENTE que siempre prueben exhaustivamente los cambios antes de implementarlos. Diferentes plataformas, versiones y configuraciones pueden requerir de algunas modificaciones a estas directivas.
 
Artículos relacionados: