1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
# @summary
# Installs and congfigures default mods for Apache
#
# @api private
class apache::default_mods (
Boolean $all = true,
Optional[Variant[Array[String[1]], String[1]]] $mods = undef,
Boolean $use_systemd = $apache::use_systemd,
) {
# These are modules required to run the default configuration.
# They are not configurable at this time, so we just include
# them to make sure it works.
case $facts['os']['family'] {
'RedHat': {
::apache::mod { 'log_config': }
if $use_systemd {
::apache::mod { 'systemd': }
}
::apache::mod { 'unixd': }
}
'FreeBSD': {
::apache::mod { 'log_config': }
::apache::mod { 'unixd': }
}
'Suse': {
::apache::mod { 'log_config': }
}
default: {}
}
case $facts['os']['family'] {
'Gentoo': {}
default: {
::apache::mod { 'authz_host': }
}
}
# The rest of the modules only get loaded if we want all modules enabled
if $all {
case $facts['os']['family'] {
'Debian': {
include apache::mod::authn_core
include apache::mod::reqtimeout
}
'RedHat': {
include apache::mod::actions
include apache::mod::authn_core
include apache::mod::cache
include apache::mod::ext_filter
include apache::mod::mime
include apache::mod::mime_magic
include apache::mod::rewrite
include apache::mod::speling
include apache::mod::suexec
include apache::mod::version
include apache::mod::vhost_alias
::apache::mod { 'auth_digest': }
::apache::mod { 'authn_anon': }
::apache::mod { 'authn_dbm': }
::apache::mod { 'authz_dbm': }
::apache::mod { 'authz_owner': }
::apache::mod { 'expires': }
::apache::mod { 'include': }
::apache::mod { 'logio': }
::apache::mod { 'substitute': }
::apache::mod { 'usertrack': }
}
'FreeBSD': {
include apache::mod::actions
include apache::mod::authn_core
include apache::mod::filter
include apache::mod::headers
include apache::mod::info
include apache::mod::mime_magic
include apache::mod::reqtimeout
include apache::mod::rewrite
include apache::mod::speling
include apache::mod::userdir
include apache::mod::version
include apache::mod::vhost_alias
::apache::mod { 'asis': }
::apache::mod { 'auth_digest': }
::apache::mod { 'auth_form': }
::apache::mod { 'authn_anon': }
::apache::mod { 'authn_dbm': }
::apache::mod { 'authn_socache': }
::apache::mod { 'authz_dbd': }
::apache::mod { 'authz_dbm': }
::apache::mod { 'authz_owner': }
::apache::mod { 'dumpio': }
::apache::mod { 'expires': }
::apache::mod { 'file_cache': }
::apache::mod { 'imagemap': }
::apache::mod { 'include': }
::apache::mod { 'logio': }
::apache::mod { 'request': }
::apache::mod { 'session': }
::apache::mod { 'unique_id': }
}
default: {}
}
case $apache::mpm_module {
'prefork': {
include apache::mod::cgi
}
'worker': {
include apache::mod::cgid
}
default: {
# do nothing
}
}
include apache::mod::alias
include apache::mod::authn_file
include apache::mod::autoindex
include apache::mod::dav
include apache::mod::dav_fs
include apache::mod::deflate
include apache::mod::dir
include apache::mod::mime
include apache::mod::negotiation
include apache::mod::setenvif
include apache::mod::auth_basic
include apache::mod::log_forensic
# filter is needed by mod_deflate
include apache::mod::filter
# authz_core is needed for 'Require' directive
include apache::mod::authz_core
# lots of stuff seems to break without access_compat
::apache::mod { 'access_compat': }
include apache::mod::authz_user
include apache::mod::authz_groupfile
include apache::mod::env
} elsif $mods {
::apache::default_mods::load { $mods: }
# authz_core is needed for 'Require' directive
include apache::mod::authz_core
# filter is needed by mod_deflate
include apache::mod::filter
} else {
# authz_core is needed for 'Require' directive
include apache::mod::authz_core
# filter is needed by mod_deflate
include apache::mod::filter
}
}
|