Directivas Clave de Apache para la Administración de Servidores Web
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 6,36 KB
Principales Directivas de Apache
A continuación, se describen algunas de las directivas de configuración más importantes del servidor web Apache:
- DocumentRoot
- Las páginas web de nuestro servidor deben estar todas guardadas en una misma carpeta raíz. Dentro de esta podremos crear más subcarpetas y clasificar así nuestros contenidos, guardando cada página donde consideremos más oportuno. ¿Cómo sabe el servidor web, cuando se va a ejecutar, dónde buscar los archivos que debe mostrar a los navegadores que le pedirán las páginas? Mediante esta directiva. Normalmente, el directorio por defecto es
htdocs
owww/html
. - ServerName
- Define el nombre del host (dominio) que el servidor utiliza para identificarse. Es importante para la configuración de Virtual Hosts.
- ServerRoot
- Indica el directorio raíz donde está instalado el software del servidor Apache.
- Listen
- Especifica los puertos y, opcionalmente, las direcciones IP en las que Apache escuchará las peticiones entrantes. Por defecto, suele ser el puerto 80 para HTTP y 443 para HTTPS.
- DirectoryIndex
- Define el nombre del archivo que Apache buscará y servirá automáticamente cuando un usuario solicite un directorio. Puede haber más de un nombre de archivo en orden de preferencia. Generalmente es
index.html
,index.php
, etc. - ErrorDocument
- Permite personalizar la página que se mostrará al usuario cuando ocurra un error específico (por ejemplo, 404 Not Found, 500 Internal Server Error).
- ErrorLog
- Especifica la ruta al archivo donde se registrarán los errores del servidor.
- LogLevel
- Controla el nivel de detalle de los mensajes que se almacenan en los archivos de registro (logs). Permite ajustar la verbosidad, desde errores críticos (
crit
) hasta información de depuración (debug
). - Alias
- Permite mapear una URL a un directorio específico del sistema de archivos que está fuera del
DocumentRoot
. - Allow
- Utilizada (principalmente en versiones antiguas de Apache junto con
Order
yDeny
) para indicar desde qué hosts (IPs, dominios) se permite el acceso a un recurso (directorio, archivo). Solo se puede utilizar dentro de secciones<Directory>
,<Location>
,<Files>
o dentro de archivos.htaccess
. - Deny
- Complementaria a
Allow
, especifica qué máquinas o redes tienen prohibido el acceso al recurso. - Order
- Define el orden en que se procesan las directivas
Allow
yDeny
. Por ejemplo,Order deny,allow
procesa primero las reglasDeny
y luego lasAllow
. - Require
- (Más común en Apache 2.4 y superior) Es el mecanismo moderno para el control de acceso. Permite especificar qué usuarios autenticados o qué hosts pueden acceder a un recurso. Ejemplos de valores incluyen
Require all granted
,Require all denied
,Require user [nombre_usuario]
,Require valid-user
(cualquier usuario autenticado válido),Require ip [direccion_ip]
.
Directivas para Directorios (Sección <Directory>
y .htaccess
)
- Options
Controla qué características del servidor están disponibles en un directorio particular. Pensada principalmente para directorios, pero permitida en otras secciones. Algunas posibilidades importantes son:
- FollowSymLinks: El servidor seguirá enlaces simbólicos dentro de este directorio. Es decir, permite que alias o accesos directos a archivos/carpetas funcionen correctamente a través de la web.
- Indexes: Si un usuario accede a un directorio mediante URL y no existe un archivo índice (definido por
DirectoryIndex
), esta opción hace que se muestre un listado del contenido del directorio generado automáticamente por Apache. Por seguridad, a menudo se deshabilita (-Indexes
). - Includes: Permite el uso de Server Side Includes (SSI).
- ExecCGI: Permite la ejecución de scripts CGI.
- MultiViews: Permite la negociación de contenido, donde el servidor elige el archivo que mejor se adapta a las preferencias del navegador si existen varias versiones (ej.
index.html
,index.en.html
,index.es.html
).
- AllowOverride
- Determina qué tipos de directivas, si las hay, pueden ser sobrescritas por las instrucciones contenidas en los archivos
.htaccess
dentro de un directorio. Estos archivos permiten ampliar o modificar la configuración principal para directorios específicos sin necesidad de editar la configuración central de Apache. En una configuración básica o por seguridad, a veces se deshabilita asignándole el valorNone
. Otros valores comunes sonAll
, o combinaciones específicas comoAuthConfig
,FileInfo
,Indexes
,Limit
,Options
. - Allow / Deny / Order / Require
- Estas directivas, mencionadas anteriormente, también se utilizan frecuentemente dentro de las secciones
<Directory>
o en archivos.htaccess
para aplicar reglas de control de acceso específicas a ese directorio. Por ejemplo:Require all denied
: Prohibirá el acceso a cualquier navegador a todos los ficheros y carpetas que estén dentro de dicho directorio.Require all granted
: Permitirá acceder a cualquier navegador a todos los ficheros y carpetas dentro del directorio.- Se pueden combinar con
Require ip [IP]
,Require host [dominio]
, etc., para un control más granular.