OpenServerPanel/modules/PHP-8.3/ospanel_data/default/templates/httpd.conf

662 lines
29 KiB
ApacheConf

# -----------------------------------------------------------------------------------
# General settings
# -----------------------------------------------------------------------------------
AcceptFilter http none
AcceptFilter https none
DocumentRoot "{root_dir}/home"
EnableMMAP Off
EnableSendfile Off
ExtendedStatus On
HostnameLookups Off
KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100
#MaxRanges 1
PidFile "{root_dir}/temp/{module_name}.pid"
Protocols http/1.1
ServerName ospanel
ServerRoot "{root_dir}/modules/{module_name}/Apache"
ServerSignature Off
ServerTokens Prod
#ThreadsPerChild 128
ThreadStackSize 1048576
Timeout 60
UseCanonicalName Off
# -----------------------------------------------------------------------------------
# Modules
# -----------------------------------------------------------------------------------
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule authz_core_module modules/mod_authz_core.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule brotli_module modules/mod_brotli.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule data_module modules/mod_data.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
LoadModule filter_module modules/mod_filter.so
LoadModule headers_module modules/mod_headers.so
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule http2_module modules/mod_http2.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
#LoadModule ldap_module modules/mod_ldap.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule logio_module modules/mod_logio.so
#LoadModule lua_module modules/mod_lua.so
LoadModule macro_module modules/mod_macro.so
#LoadModule md_module modules/mod_md.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
#LoadModule proxy_html_module modules/mod_proxy_html.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_http2_module modules/mod_proxy_http2.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule request_module modules/mod_request.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_crypto_module modules/mod_session_crypto.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
#LoadModule socache_redis_module modules/mod_socache_redis.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
# -----------------------------------------------------------------------------------
# 3rd-party modules
# -----------------------------------------------------------------------------------
# To activate log_dbd_module or vhost_dbd_module copy
# lib\libmysql.dll from MySQL module dir to the apache\bin dir.
# To activate perl_module, you must also activate apreq_module
# in this config and install the Perl module in OSPanel.
#LoadModule antiloris_module modules/mod_antiloris.so
#LoadModule apreq_module modules/mod_apreq2.so
#LoadModule auth_ntlm_module modules/mod_authn_ntlm.so
#LoadModule fcgid_module modules/mod_fcgid.so
#LoadModule jk_module modules/mod_jk.so
#LoadModule limitipconn_module modules/mod_limitipconn.so
#LoadModule log_dbd_module modules/mod_log_dbd.so
#LoadModule log_rotate_module modules/mod_log_rotate.so
#LoadModule maxminddb_module modules/mod_maxminddb.so
#LoadModule perl_module modules/mod_perl.so
LoadModule php_module ../PHP/php8apache2_4.dll
#LoadModule vhost_dbd_module modules/mod_vhost_dbd.so
#LoadModule view_module modules/mod_view.so
#LoadModule watch_module modules/mod_watch.so
#LoadModule xsendfile_module modules/mod_xsendfile.so
# -----------------------------------------------------------------------------------
# Additional settings
# -----------------------------------------------------------------------------------
<Directory />
AllowOverride None
Options -ExecCGI -MultiViews -Indexes -IncludesNoExec -Includes -SymLinksIfOwnerMatch +FollowSymLinks
Require all denied
</Directory>
<Files ".ht*">
Require all denied
</Files>
<LocationMatch "/\.(?!well-known)">
Require all denied
</LocationMatch>
<IfModule headers_module>
RequestHeader unset Proxy early
</IfModule>
<IfModule status_module>
ExtendedStatus On
SeeRequestTail On
<IfModule proxy_module>
ProxyStatus On
</IfModule>
</IfModule>
<IfModule reqtimeout_module>
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
</IfModule>
<IfModule remoteip_module>
RemoteIPHeader X-Real-IP
</IfModule>
<IfModule php_module>
PHPINIDir "{root_dir}/modules/{module_name}/PHP"
</IfModule>
<IfModule perl_module>
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
<FilesMatch "\.(cgi|pl)$">
Options +ExecCGI
Require all granted
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
PerlOptions +SetupEnv
</FilesMatch>
</IfModule>
<IfModule ssl_module>
<FilesMatch "\.(cgi|shtml|phtml|php|pl)$">
SSLOptions +StdEnvVars
</FilesMatch>
</IfModule>
<IfModule maxminddb_module>
MaxMindDBEnable Off
MaxMindDBFile COUNTRY_DB "{root_dir}/user/geo/dbip-country-lite.mmdb"
MaxMindDBEnv COUNTRY_CODE COUNTRY_DB/country/iso_code
MaxMindDBEnv COUNTRY_NAME COUNTRY_DB/country/names/en
</IfModule>
# -----------------------------------------------------------------------------------
# Logs
# -----------------------------------------------------------------------------------
ErrorLog "{root_dir}/logs/{module_name}/apache_error.log"
LogLevel {log_level}
BufferedLogs Off
<IfModule log_config_module>
LogFormat "%v: %a %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%v: %a %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%v: %a %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "{root_dir}/logs/{module_name}/apache_access.log" combined
</IfModule>
<IfModule alias_module>
Alias /apacheerror/ "{root_dir}/modules/{module_name}/Apache/error/"
</IfModule>
<Directory "{root_dir}/modules/{module_name}/Apache/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Require all granted
LanguagePriority en cs de es fr it ja ko nl pl pt-br ro sv tr
ForceLanguagePriority Prefer Fallback
</Directory>
ErrorDocument 400 /apacheerror/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /apacheerror/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /apacheerror/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /apacheerror/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /apacheerror/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /apacheerror/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /apacheerror/HTTP_GONE.html.var
ErrorDocument 411 /apacheerror/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /apacheerror/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /apacheerror/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /apacheerror/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /apacheerror/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
ErrorDocument 500 /apacheerror/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /apacheerror/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /apacheerror/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /apacheerror/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /apacheerror/HTTP_VARIANT_ALSO_VARIES.html.var
# -----------------------------------------------------------------------------------
# MIME
# -----------------------------------------------------------------------------------
<IfModule mime_module>
TypesConfig "{root_dir}/modules/{module_name}/Apache/conf/mime.types"
#AddType application/x-gzip .tgz
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#AddHandler cgi-script .cgi
AddOutputFilter INCLUDES .shtml
<IfModule perl_module>
AddHandler perl-script .cgi .pl .pm
</IfModule>
<IfModule php_module>
AddType application/x-httpd-php .php .phtml
</IfModule>
</IfModule>
<IfModule mime_magic_module>
MIMEMagicFile "{root_dir}/modules/{module_name}/Apache/conf/magic"
</IfModule>
<IfModule dir_module>
DirectoryIndex index.php index.pl index.html index.htm
</IfModule>
<IfModule alias_module>
Alias /apacheicons/ "{root_dir}/modules/{module_name}/Apache/icons/"
</IfModule>
<Directory "{root_dir}/modules/{module_name}/Apache/icons">
Options +Indexes +MultiViews
AllowOverride None
Require all granted
</Directory>
AddIconByEncoding (CMP,/apacheicons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/apacheicons/text.gif) text/*
AddIconByType (IMG,/apacheicons/image2.gif) image/*
AddIconByType (SND,/apacheicons/sound2.gif) audio/*
AddIconByType (VID,/apacheicons/movie.gif) video/*
AddIcon /apacheicons/binary.gif .bin .exe
AddIcon /apacheicons/binhex.gif .hqx
AddIcon /apacheicons/tar.gif .tar
AddIcon /apacheicons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /apacheicons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /apacheicons/a.gif .ps .ai .eps
AddIcon /apacheicons/layout.gif .html .shtml .htm .pdf
AddIcon /apacheicons/text.gif .txt
AddIcon /apacheicons/c.gif .c
AddIcon /apacheicons/p.gif .pl .py
AddIcon /apacheicons/f.gif .for
AddIcon /apacheicons/dvi.gif .dvi
AddIcon /apacheicons/uuencoded.gif .uu
AddIcon /apacheicons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /apacheicons/tex.gif .tex
AddIcon /apacheicons/bomb.gif core
AddIcon /apacheicons/back.gif ..
AddIcon /apacheicons/hand.right.gif README
AddIcon /apacheicons/folder.gif ^^DIRECTORY^^
AddIcon /apacheicons/blank.gif ^^BLANKICON^^
DefaultIcon /apacheicons/unknown.gif
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz
ReadmeName README.html
HeaderName HEADER.html
IndexOptions FancyIndexing HTMLTable VersionSort
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#--------------------------------
# Language
#--------------------------------
#DefaultLanguage nl
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage tr .tr
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddCharset us-ascii .ascii .us-ascii
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .arb .arabic
AddCharset ISO-8859-7 .iso8859-7 .grk .greek
AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew
AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk
AddCharset ISO-8859-10 .iso8859-10 .latin6
AddCharset ISO-8859-13 .iso8859-13
AddCharset ISO-8859-14 .iso8859-14 .latin8
AddCharset ISO-8859-15 .iso8859-15 .latin9
AddCharset ISO-8859-16 .iso8859-16 .latin10
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5 .b5
AddCharset cn-Big5 .cn-big5
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8 .koi8
AddCharset KOI8-E .koi8-e
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-U .koi8-u
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-7 .utf7
AddCharset UTF-8 .utf8
AddCharset UTF-16 .utf16
AddCharset UTF-16BE .utf16be
AddCharset UTF-16LE .utf16le
AddCharset UTF-32 .utf32
AddCharset UTF-32BE .utf32be
AddCharset UTF-32LE .utf32le
AddCharset euc-cn .euc-cn
AddCharset euc-gb .euc-gb
AddCharset euc-jp .euc-jp
AddCharset euc-kr .euc-kr
AddCharset EUC-TW .euc-tw
AddCharset gb2312 .gb2312 .gb
AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2
AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4
AddCharset shift_jis .shift_jis .sjis
# -----------------------------------------------------------------------------------
# SSL
# -----------------------------------------------------------------------------------
<IfModule ssl_module>
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLSessionCache "shmcb:logs/ssl_session_cache(262144)"
SSLSessionCacheTimeout 86400
SSLSessionTickets Off
SSLStrictSNIVHostCheck Off
SSLUseStapling Off
SSLStaplingCache "shmcb:logs/ssl_stapling(65536)"
</IfModule>
# -----------------------------------------------------------------------------------
# WebDav
# Required modules: mod_alias, mod_auth_digest, mod_authn_core, mod_authn_file,
# mod_authz_core, mod_authz_user, mod_dav, mod_dav_fs, mod_setenvif
# -----------------------------------------------------------------------------------
<IfModule dav_module>
DavLockDB "{root_dir}/Data/{module_name}/{profile_name}/DavLock"
Alias /uploads "{root_dir}/temp/upload"
<Directory "/uploads">
Dav On
AuthType Digest
AuthName DAV-upload
AuthUserFile "{root_dir}/user/user.passwd"
AuthDigestProvider file
<RequireAny>
Require method GET POST OPTIONS
Require user admin
</RequireAny>
</Directory>
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[01234]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch " Konqueror/4" redirect-carefully
</IfModule>
# -----------------------------------------------------------------------------------
# Virtual Host Macros
# -----------------------------------------------------------------------------------
<Macro DefaultHost $ip>
<VirtualHost $ip>
ServerName default
<IfModule http2_module>
Protocols h2c http/1.1
</IfModule>
<Location />
Require all denied
</Location>
<Location /apacheerror/>
Require all granted
</Location>
<Location /apacheicons/>
Require all granted
</Location>
<IfModule status_module>
<Location /server-status>
SetHandler server-status
#Require all granted
Require local
</Location>
</IfModule>
<IfModule info_module>
<Location /server-info>
SetHandler server-info
#Require all granted
Require local
</Location>
</IfModule>
CustomLog "{root_dir}/logs/{module_name}/default_apache_access.log" combined
ErrorLog "{root_dir}/logs/{module_name}/default_apache_error.log"
</VirtualHost>
</Macro>
<Macro DefaultSSLHost $ip $ssl_cert_file $ssl_key_file>
<IfModule ssl_module>
<VirtualHost $ip>
ServerName default
SSLEngine on
<IfModule http2_module>
Protocols h2 http/1.1
</IfModule>
SSLCertificateFile "$ssl_cert_file"
SSLCertificateKeyFile "$ssl_key_file"
<Location />
Require all denied
</Location>
<Location /apacheerror/>
Require all granted
</Location>
<Location /apacheicons/>
Require all granted
</Location>
<IfModule status_module>
<Location /server-status>
SetHandler server-status
#Require all granted
Require local
</Location>
</IfModule>
<IfModule info_module>
<Location /server-info>
SetHandler server-info
#Require all granted
Require local
</Location>
</IfModule>
CustomLog "{root_dir}/logs/{module_name}/default_apache_access.log" combined
ErrorLog "{root_dir}/logs/{module_name}/default_apache_error.log"
</VirtualHost>
</IfModule>
</Macro>
<Macro Host $host $ip $aliases $public_dir $cgi_dir $log_format>
<VirtualHost $ip>
<Directory "$public_dir">
AllowOverride All
Options +Indexes +IncludesNoExec +Includes +ExecCGI
Require all granted
<IfModule filter_module>
<IfModule brotli_module>
AddOutputFilterByType BROTLI_COMPRESS application/atom+xml application/json text/json text/html text/xml text/javascript application/ld+json application/rss+xml application/geo+json application/xml application/rdf+xml application/javascript application/wasm application/rtf application/pdf application/xhtml+xml application/xslt+xml application/manifest+json application/x-web-app-manifest+json application/vnd.ms-fontobject font/woff font/woff2 font/ttf font/collection font/otf image/vnd.microsoft.icon image/x-icon image/svg+xml text/css text/csv text/plain text/markdown text/calendar text/vcard text/vtt text/cache-manifest text/vnd.rim.location.xloc text/x-component
</IfModule>
<IfModule deflate_module>
AddOutputFilterByType DEFLATE application/atom+xml application/json text/json text/html text/xml text/javascript application/ld+json application/rss+xml application/geo+json application/xml application/rdf+xml application/javascript application/wasm application/rtf application/pdf application/xhtml+xml application/xslt+xml application/manifest+json application/x-web-app-manifest+json application/vnd.ms-fontobject font/woff font/woff2 font/ttf font/collection font/otf image/vnd.microsoft.icon image/x-icon image/svg+xml text/css text/csv text/plain text/markdown text/calendar text/vcard text/vtt text/cache-manifest text/vnd.rim.location.xloc text/x-component
</IfModule>
</IfModule>
</Directory>
<Directory "$cgi_dir">
AllowOverride None
Options +ExecCGI
Require all granted
</Directory>
ServerName $host
ServerAlias $aliases
DocumentRoot "$public_dir"
ScriptAlias /cgi-bin/ "$cgi_dir/"
<IfModule http2_module>
Protocols h2c http/1.1
</IfModule>
CustomLog "{root_dir}/logs/domains/$host_apache_access.log" $log_format
ErrorLog "{root_dir}/logs/domains/$host_apache_error.log"
php_value error_log "{root_dir}/logs/domains/$host_php_error.log"
</VirtualHost>
</Macro>
<Macro SSLHost $host $ip $aliases $public_dir $cgi_dir $ssl_cert_file $ssl_key_file $log_format>
<IfModule ssl_module>
<VirtualHost $ip>
<Directory "$public_dir">
AllowOverride All
Options +Indexes +IncludesNoExec +Includes +ExecCGI
Require all granted
<IfModule filter_module>
<IfModule brotli_module>
AddOutputFilterByType BROTLI_COMPRESS application/atom+xml application/json text/json text/html text/xml text/javascript application/ld+json application/rss+xml application/geo+json application/xml application/rdf+xml application/javascript application/wasm application/rtf application/pdf application/xhtml+xml application/xslt+xml application/manifest+json application/x-web-app-manifest+json application/vnd.ms-fontobject font/woff font/woff2 font/ttf font/collection font/otf image/vnd.microsoft.icon image/x-icon image/svg+xml text/css text/csv text/plain text/markdown text/calendar text/vcard text/vtt text/cache-manifest text/vnd.rim.location.xloc text/x-component
</IfModule>
<IfModule deflate_module>
AddOutputFilterByType DEFLATE application/atom+xml application/json text/json text/html text/xml text/javascript application/ld+json application/rss+xml application/geo+json application/xml application/rdf+xml application/javascript application/wasm application/rtf application/pdf application/xhtml+xml application/xslt+xml application/manifest+json application/x-web-app-manifest+json application/vnd.ms-fontobject font/woff font/woff2 font/ttf font/collection font/otf image/vnd.microsoft.icon image/x-icon image/svg+xml text/css text/csv text/plain text/markdown text/calendar text/vcard text/vtt text/cache-manifest text/vnd.rim.location.xloc text/x-component
</IfModule>
</IfModule>
</Directory>
<Directory "$cgi_dir">
AllowOverride None
Options +ExecCGI
Require all granted
</Directory>
ServerName $host
ServerAlias $aliases
DocumentRoot "$public_dir"
ScriptAlias /cgi-bin/ "$cgi_dir/"
SSLEngine on
SSLCertificateFile "$ssl_cert_file"
SSLCertificateKeyFile "$ssl_key_file"
#Header always set Strict-Transport-Security "max-age=94608000"
<IfModule http2_module>
Protocols h2 http/1.1
</IfModule>
CustomLog "{root_dir}/logs/domains/$host_apache_access.log" $log_format
ErrorLog "{root_dir}/logs/domains/$host_apache_error.log"
php_value error_log "{root_dir}/logs/domains/$host_php_error.log"
</VirtualHost>
</IfModule>
</Macro>
# -----------------------------------------------------------------------------------
# Virtual Hosts
# -----------------------------------------------------------------------------------
{apache_hosts}
UndefMacro DefaultHost
UndefMacro DefaultSSLHost
UndefMacro Host
UndefMacro SSLHost