Cómo se usa
- Escribe el dominio sin
http://y decide siwww.también debe funcionar. - Indica la raíz de documentos, por ejemplo
/var/www/example.com/public. - Para HTTPS, deja vacíos los campos del certificado si usas certbot o escribe tus propias rutas.
- Elige los extras, copia la configuración y sigue la nota de debajo para activar el sitio.
Cómo funciona
ServerNameyServerAliasdeciden a qué peticiones responde el bloque.<Directory>da acceso con la sintaxis de Apache 2.4Require all granted, fijaOptions -Indexes +FollowSymLinks(o+Indexespara los listados) yAllowOverride AlloNone.- Con HTTPS, el bloque 443 añade
SSLEngine ony los archivos del certificado; el bloque 80 redirige conRedirect permanent / https://dominio/o sirve el mismo sitio. - HTTP/2 añade
Protocols h2 http/1.1(módulo http2) y HSTS añadeHeader always set Strict-Transport-Security "max-age=31536000"(módulo headers). - Los logs van a
<carpeta>/<dominio>-error.logy<dominio>-access.logen formato combined.
Ejemplo
Para example.com con www, HTTPS, redirección, HTTP/2 y logs, el bloque del puerto 80 es:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
El bloque del 443 tiene los mismos nombres, DocumentRoot /var/www/example.com/public, la sección <Directory>, las dos líneas de logs y:
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Protocols h2 http/1.1
Consejos
- Ejecuta
apachectl configtestantes de cada recarga: una errata impide que Apache arranque. - Obtén primero el certificado (
certbot certonly --webrooto con la configuración solo HTTP) y luego activa HTTPS: Apache no arranca si falta un archivo de certificado. - Los archivos de la raíz deben poder leerse por el usuario de Apache (www-data o apache); guarda los secretos fuera de ella.