Directorios restingidos
Podemos restringir el acceso a ciertos directorios mediante clave. Para esto tendremos que configurar el directorio adecuadamente. Lo vemos mediante un ejemplo. Queremos que para acceder al directorio /var/www/html/privado el navegador solicite una contraseña.
En primer lugar tendremos que indicarle a apache que busque en ese directorio un fichero .htaccess. Esto lo haremos indicando AllowOverride AuthConfig:
<Directory /var/www/html/privado> AllowOverride AuthConfig <Directory |
En segundo lugar creamos un fichero llamado .htaccess en el directorio /var/www/html/privado con el siguiente contenido:
AuthName "Acceso restringido" AuthUserFile /var/www/.htpasswd AuthType Basic require valid-user |
El fichero .htpasswd es conveniente que esté fuera del árbol de directorios accesibles por los clientes del servidor web.
Por último creamos el fichero .htpasswd a la vez que damos de alta un usuario:
htpasswd -c /var/www/.htpasswd usuario
Podemos dar de alta más usuario ejecutando:
htpasswd /var/www/.htpasswd usuario |
en este caso sin la opción -c que se utiliza para crear el fichero.
Directorios personales
Vemos un ejemplo de configuración del directorio personal para que esté restringido como sólo lectura:
<Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> |
Directorio raíz
El valor de directorio tendría que ser el mismo que indicamos en la directiva DocumentRoot.
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> |
Configuraciones de directorios
Cada directorio al que Apache tenga acceso se puede configurar para satisfacer los servicios y características que se permiten o no en dicho directorio y en sus subdirectorios.
Valor predeterminado
Primero configuramos el predeterminado con un conjunto de características muy restrictivas:
<Directory /> Options FollowSymLinks AllowOverride None </Directory> |
Esta configuración garantiza el mayor rendimiento ya que el servidor, por un lado no tiene que comprobar si un fichero es un enlace simbólico y por otro no tiene que leer ficheros .htaccess.
Si queremos modificar estas características, lo haremos más adelante para directorios concretos.
BrowserMatch
BrowserMatch modifica las repuestas normales HTTP en función de los problemas conocidos de ciertos navegadores.
BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully |