# 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