{% macro httpd_conf(values) %}
PidFile "{{ values.consts.pid_base_path }}/httpd.pid"
LoadModule authn_file_module {{ "%s/mod_authn_file.so"|format(values.consts.module_path) }}
LoadModule authn_core_module {{ "%s/mod_authn_core.so"|format(values.consts.module_path) }}
LoadModule authz_user_module {{ "%s/mod_authz_user.so"|format(values.consts.module_path) }}
LoadModule authz_core_module {{ "%s/mod_authz_core.so"|format(values.consts.module_path) }}
LoadModule alias_module {{ "%s/mod_alias.so"|format(values.consts.module_path) }}
LoadModule mpm_event_module {{ "%s/mod_mpm_event.so"|format(values.consts.module_path) }}
LoadModule auth_basic_module {{ "%s/mod_auth_basic.so"|format(values.consts.module_path) }}
LoadModule auth_digest_module {{ "%s/mod_auth_digest.so"|format(values.consts.module_path) }}
LoadModule setenvif_module {{ "%s/mod_setenvif.so"|format(values.consts.module_path) }}
LoadModule dav_module {{ "%s/mod_dav.so"|format(values.consts.module_path) }}
LoadModule dav_fs_module {{ "%s/mod_dav_fs.so"|format(values.consts.module_path) }}
LoadModule allowmethods_module {{ "%s/mod_allowmethods.so"|format(values.consts.module_path) }}
LoadModule ssl_module {{ "%s/mod_ssl.so"|format(values.consts.module_path) }}
LoadModule socache_shmcb_module {{ "%s/mod_socache_shmcb.so"|format(values.consts.module_path) }}
LoadModule unixd_module {{ "%s/mod_unixd.so"|format(values.consts.module_path) }}
LoadModule rewrite_module {{ "%s/mod_rewrite.so"|format(values.consts.module_path) }}
# Still deciding whether or not to keep these modules or not
LoadModule authz_host_module {{ "%s/mod_authz_host.so"|format(values.consts.module_path) }}
LoadModule authz_groupfile_module {{ "%s/mod_authz_groupfile.so"|format(values.consts.module_path) }}
LoadModule access_compat_module {{ "%s/mod_access_compat.so"|format(values.consts.module_path) }}
LoadModule reqtimeout_module {{ "%s/mod_reqtimeout.so"|format(values.consts.module_path) }}
LoadModule filter_module {{ "%s/mod_filter.so"|format(values.consts.module_path) }}
LoadModule mime_module {{ "%s/mod_mime.so"|format(values.consts.module_path) }}
LoadModule env_module {{ "%s/mod_env.so"|format(values.consts.module_path) }}
LoadModule headers_module {{ "%s/mod_headers.so"|format(values.consts.module_path) }}
LoadModule status_module {{ "%s/mod_status.so"|format(values.consts.module_path) }}
LoadModule autoindex_module {{ "%s/mod_autoindex.so"|format(values.consts.module_path) }}
LoadModule dir_module {{ "%s/mod_dir.so"|format(values.consts.module_path) }}
ServerName localhost
DirectoryIndex disabled
Require all denied
ErrorLog "/proc/self/fd/2"
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
CustomLog "/proc/self/fd/1" common
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
TypesConfig /usr/local/apache2/conf/mime.types
# AddType allows you to add to or override the MIME configuration
# file specified in TypesConfig for specific file types.
# AddType application/x-gzip .tgz
# AddEncoding allows you to have certain browsers uncompress
# information on the fly. Note: Not all browsers support this.
# AddEncoding x-compress .Z
# AddEncoding x-gzip .gz .tgz
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
# AddHandler cgi-script .cgi
# For type maps (negotiated resources):
# AddHandler type-map var
# Filters allow you to process content before it is sent to the client.
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
# Secure (SSL/TLS) connections
# Include etc/apache24/extra/httpd-ssl.conf
# Note: The following must must be present to support
# starting without SSL on platforms with no /dev/random equivalent
# but a statically compiled-in mod_ssl.
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLProtocol +TLSv1.2 +TLSv1.3
Include /usr/local/apache2/conf/Includes/*.conf
{% endmacro %}