Restringir el acceso a directorios mediante Apache
Hay ocasiones en las que no queremos que se acceda a directorios de nuestro servidor web, ya sea porque estamos en fase de construcción, o porque contenga información confidencial, o porque sea el directorio dónde tenemos la aplicación de administración, o simplemente porque es el ordenador de casa y queremos poder acceder a él, pero no queremos que cualquiera se meta.
Realizar esta operación en Apache es sencillo, sólo necesitamos crearnos un fichero de usuarios, modificar (si es necesario) la configuración del servidor y añadir un fichero en los directorios que queramos restringir.
El primer paso es crearnos el fichero de usuarios, para ello usaremos la aplicación htpasswd que ofrece Apache (se encuentra en el directorio …/Apache/bin), indicándole como parámetro -c por si es la primera vez y tenemos que crear el fichero de usuarios, la ruta dónde se encuentra el fichero de usuarios y el usuario que queremos crear.
htpasswd -c [path]/passwords.conf nuevo_usuario
Después deberemos comprobar que en el fichero httpd.conf no tiene la directiva AllowOverride con el valor None en el directorio que queremos, ya que si es así permitirá el acceso.
Y por último, crearnos un fichero llamado .htaccess, este contendrá que tipo de autorización se va a aplicar, el nombre de la autorización, dónde se sitúa el fichero de usuarios y a qué usuarios se le da acceso.
AuthType Basic
AuthName "Nombre Autorizacion"
AuthUserFile [path]/[fichero_contraseñas]
Require valid-user