Configuración de Apache
Resumen de una línea
Estructura de ficheros config en Apache: apache2.conf, directivas clave (Timeout, KeepAlive, User/Group), contextos (Directory, Files), comprobación sintaxis.
Información
- Fuente: Curso Apache 2.4 - Unidades 4-6
- Ficheros: /etc/apache2/apache2.conf, *.conf en mods-enabled/ y sites-enabled/
- URL: https://plataforma.josedomingo.org/pledin/cursos/apache24/
Estructura de Ficheros de Configuración
Apache cargar configuración en cascada. Fichero principal: /etc/apache2/apache2.conf
# apache2.conf incluye:
IncludeOptional mods-enabled/*.load # Carga módulos (ordenado alfabético)
IncludeOptional mods-enabled/*.conf # Configuración módulos
Include ports.conf # Puertos escucha
IncludeOptional conf-enabled/*.conf # Config adicional
IncludeOptional sites-enabled/*.conf # Sitios virtualesDirectorios Clave
/etc/apache2/
├── apache2.conf # Fichero principal
├── ports.conf # Puertos escucha (80, 443)
├── mods-available/ # Módulos instalados
├── mods-enabled/ # Módulos activos (enlaces)
├── conf-available/ # Config opcionales disponibles
├── conf-enabled/ # Config activas (enlaces)
├── sites-available/ # VirtualHosts disponibles
└── sites-enabled/ # VirtualHosts activos (enlaces)
/var/www/ # DocumentRoot default
/var/log/apache2/ # Logs (access.log, error.log)
Directivas de Control
Conexión
# Tiempo máximo espera (segundos)
Timeout 300
# Conexiones persistentes
KeepAlive On # Default: On
MaxKeepAliveRequests 100 # Requests por conexión
KeepAliveTimeout 5 # Segundos entre requestsUsuario y Grupo
# Usuario que ejecuta procesos Apache
User www-data
# Grupo del usuario
Group www-data
# Por seguridad: NOT rootLogging
# Nivel de detalle (debug, info, notice, warn, error, crit, alert, emerg)
LogLevel warn
# Formato logs (apache predefinido, o custom)
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog /var/log/apache2/access.log common
ErrorLog /var/log/apache2/error.logContextos de Configuración
Directivas aplican a contextos específicos:
Directory (y subdirectorios)
<Directory /var/www/>
Options Indexes FollowSymLinks # Ver opciones disponibles
AllowOverride None # No permitir .htaccess
Require all granted # Acceso público
</Directory>
<Directory /var/www/privado/>
Require all denied # Acceso prohibido
</Directory>Files (conjunto ficheros)
# Denegar acceso a .htaccess
<Files ~ "^\.ht">
Deny from all
</Files>
# Ejecutar CGI en .cgi
<Files "*.cgi">
SetHandler cgi-script
</Files>VirtualHost (sitio virtual)
<VirtualHost *:80>
ServerName www.ejemplo.com
DocumentRoot /var/www/ejemplo
# Resto de directivas...
</VirtualHost>Opciones de Directorio
Directiva Options controla qué características activa:
Options Indexes FollowSymLinks
# All = Todas excepto MultiViews
# None = Ninguna
# FollowSymLinks = Seguir enlaces simbólicos
# SymLinksIfOwnerMatch = Seguir enlaces si propietario coincide
# Indexes = Listar directorio (si no index.html)
# MultiViews = Negociación contenido
# ExecCGI = Ejecutar scripts CGIActivar/desactivar con +/-:
<Directory /var/www/privado/>
Options -Indexes # Denegar listado
Options +MultiViews # Permitir negociación
</Directory>AllowOverride
AllowOverride None # .htaccess inerte (más rápido)
AllowOverride All # .htaccess puede cambiar todo
AllowOverride Indexes # .htaccess solo para Indexes
AllowOverride AuthConfig # .htaccess para autenticaciónComprobación de Sintaxis
# Verificar sintaxis sin reiniciar
apache2ctl -t
# Salida: Syntax OK o error detallado
# Ver configuración efectiva (expandida)
apache2ctl -S
# Muestra VirtualHosts, ports, documentrootsRelaciones
Conecta con
- Apache — Concept general
- Fundamentos de Apache — Instalación previa
- Virtual Hosting en Apache — Usando VirtualHosts en config
- Directorios y URLs en Apache — Directivas Directory avanzadas
- Autenticación en Apache — Contextos con Require