# Configuracion Genérica del servicio solicitado en
# https://www.apuntesinformaticafp.com/actividades/practica_hosting.html
# Uso un sólo archivo de configuración (la distribución reparte ...
# la configuración en una estructura de varios directorios y archivos
DefaultRuntimeDir "/var/run/apache2"
PidFile "/var/run/apache2/apache2.pid"
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User www-data
Group www-data
HostnameLookups Off
AddDefaultCharset utf-8
Listen 80
Listen 443
# Configuración Genérica de Directorios
DirectoryIndex index.html index.txt index
# Por defecto no se puede acceder a ninguno
Options None
AllowOverride None
Require all denied
# Se puede acceder a los directorios en /var/www
Options FollowSymLinks
AllowOverride None
Require all granted
# Los archivos htaccess sólo para las aplicaciones que lo usen (p.ej. roundcube)
AccessFileName .htaccess
Require all denied
# Tipos de formatos de Log
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogLevel warn
# Archivos de Log
CustomLog /var/log/apache2/mi_log_acceso.log combined
ErrorLog /var/log/apache2/mi_log_servidor.log
# Páginas personalizadas de respuesta (comunes a todos los servidores)
ErrorDocument 404 /codigos/404.html
ErrorDocument 403 /codigos/403.html
# Set to one of: Full | OS | Minimal | Minor | Major | Prod
ServerTokens Full
# Set to one of: On | Off | EMail
ServerSignature On
# Setting this header will prevent MSIE from interpreting files as something
# else than declared by the content type in the HTTP headers.
#Header set X-Content-Type-Options: "nosniff"
#
# Setting this header will prevent other sites from embedding pages from this
# site as frames. This defends against clickjacking attacks.
# Requires mod_headers to be enabled.
#
#Header set X-Frame-Options: "sameorigin"
############################################################
## Módulos Instalados
## Más info en -> https://httpd.apache.org/docs/trunk/es/mod/
############################################################
LoadModule access_compat_module /usr/lib/apache2/modules/mod_access_compat.so
LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so
LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so
# Módulos relacionados con el tipo de autenticación
LoadModule auth_basic_module /usr/lib/apache2/modules/mod_auth_basic.so
LoadModule authn_core_module /usr/lib/apache2/modules/mod_authn_core.so
LoadModule authn_file_module /usr/lib/apache2/modules/mod_authn_file.so
LoadModule authz_core_module /usr/lib/apache2/modules/mod_authz_core.so
LoadModule authz_groupfile_module /usr/lib/apache2/modules/mod_authz_groupfile.so
LoadModule authz_user_module /usr/lib/apache2/modules/mod_authz_user.so
# Para incluir los iconos, según tipos de archivos
LoadModule autoindex_module /usr/lib/apache2/modules/mod_autoindex.so
IncludeOptional mods-enabled/autoindex.conf
# Incluye tipos MIME, sistemas de codificación y lenguajes
LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so
IncludeOptional mods-enabled/mime.conf
# Configuración Concurrencia
LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
# Configuración PHP
LoadModule php7_module /usr/lib/apache2/modules/libphp7.3.so
SetHandler application/x-httpd-php
# Deniega el acceso a algunos tipos de archivos
SetHandler application/x-httpd-php-source
Require all denied
Require all denied
# Configura algunas opciones según el navegador (UAS)
LoadModule setenvif_module /usr/lib/apache2/modules/mod_setenvif.so
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 "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^gvfs/1" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch " Konqueror/4" redirect-carefully
########################################
# Configuración Genérica del Módulo SSL/TLS
########################################
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
LoadModule socache_shmcb_module /usr/lib/apache2/modules/mod_socache_shmcb.so
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
# Tipos Mime específicos para algunos certificados
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout 300
# Para configurar el tipo de protocolos y suites de cifrado a usar
SSLCipherSuite HIGH:!aNULL
SSLProtocol all -SSLv3
LoadModule status_module /usr/lib/apache2/modules/mod_status.so
#
# SetHandler server-status
# Require user valid-user
#
ExtendedStatus On
############################################################
## Configuración Roundcube
##
############################################################
# Configuración de roundcube (webmail)
Alias /webmail /var/lib/roundcube
Options +FollowSymLinks
# This is needed to parse /var/lib/roundcube/.htaccess. See its
# content before setting AllowOverride to None.
AllowOverride All
Require all granted
# Protege estos directorios (
Options -FollowSymLinks
AllowOverride None
Require all denied
Options -FollowSymLinks
AllowOverride None
Require all denied
Options -FollowSymLinks
AllowOverride None
Require all denied
# Servidores Virtuales
# ¿Quitar este?
ServerName cesareo.freeddns.org
ServerAdmin cesareox@edu.xunta.gal
DocumentRoot /var/www/mi_web
ServerAdmin cesareox@edu.xunta.gal
ServerName cesareo.freeddns.org
DocumentRoot /var/www/mi_web
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/cesareo.freeddns.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cesareo.freeddns.org/privkey.pem
# Redirección sólo en ese servidor virtual (los otros no lo tienen)
Redirect 302 /m https://apod.nasa.gov/apod/astropix.html
Options none
Alias /iconos /var/www/mis_iconos
Alias /imagenes /var/www/mis_iconos
Options +Indexes
AuthType Basic
AuthName "¿Quién eres?"
AuthBasicProvider file
AuthUserFile "/var/www/bd_usuarios"
AuthGroupFile "/var/www/bd_grupos"
Require user cesareo
# Require group g1 # Sólo los usuarios en el grupo g1
# Configuración para streaming con HLS
Options +Indexes
# Añadimos los tipos MIME
AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts
# En este directorio están los iconos estándar de apache para
# mostrar en los listados. Están en el módulo autoindex
Alias /icons /usr/share/apache2/icons/
Require all granted
Options +Indexes