Los contenedores de Apache son directivas de configuración especiales que agrupan otras directivas. Los contenedores usan etiquetas de estilo XML, lo que significa que el comienzo de un contenedor es
Este contenedor aplica directivas a los directorios dentro de la ruta del directorio. El ejemplo aplica las directivas Deny, Allow y AllowOverride a todos los archivos y directorios dentro de la jerarquía de directorios /var/www/html/test. La sangría es solo para facilitar la lectura.
<Directory /var/www/html/test> Deny from all Allow from 192.168.2. AllowOverride All </Directory>
El AllowOverride directiva en este contenedor especifica clases de directivas que están permitidas en archivos .htaccess. Los archivos .htaccess son otros archivos de configuración que normalmente contienen directivas de autenticación de usuarios. Los TODOS argumento para AllowOverride significa que todas las clases de directivas están permitidas en los archivos .htaccess. Hay clases de directivas que controlan la autorización, controlan el acceso de clientes, controlan la indexación de directorios y otras.
Este contenedor aplica directivas si se carga module-name. Con el signo de exclamación opcional, Apache hace lo contrario; es decir, establece las directivas en el contenedor si el nombre del módulo no está cargado. Un ejemplo es el siguiente:
<IfModule mod_userdir.c> UserDir disabled </IfModule>
Este contenedor limita las directivas de control de acceso a métodos específicos. Un método HTTP especifica acciones para realizar en un identificador uniforme de recursos (URI). Ejemplos de métodos son GET (el predeterminado), PUT, POST y OPTIONS. El siguiente ejemplo deshabilita las cargas HTTP (PUT) de sistemas que no están en el dominio example.com:
<Limit PUT> Order deny,allow Deny from all Allow from .example.com </Limit>
Este contenedor es lo opuesto al contenedor Limit en el sentido de que limita las directivas de control de acceso a
todos excepto los métodos especificados. El siguiente ejemplo usa el contenedor LimitExcept pero también ilustra que los contenedores se pueden anidar. Este ejemplo controla el acceso a los directorios UserDir restringiendo estos directorios para que sean de solo 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>
La directiva Opciones controla las características del servidor por directorio. Algunos de estos se describen:
- Vistas múltiples :permite que una página se muestre en diferentes idiomas, por ejemplo
- Índices :Genera una lista de directorios si la directiva DirectoryIndex no está configurada
- SymLinksIfOwnerMatch :sigue enlaces simbólicos si el archivo o directorio al que se apunta tiene el mismo propietario que el enlace