-class apache::default_mods (
- $all = true,
- $mods = undef,
- $apache_version = $::apache::apache_version
-) {
- # 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 $::osfamily {
- 'redhat': {
- ::apache::mod { 'log_config': }
- if versioncmp($apache_version, '2.4') >= 0 {
- # Lets fork it
- # Do not try to load mod_systemd on RHEL/CentOS 6 SCL.
- if ( !($::osfamily == 'redhat' and versioncmp($::operatingsystemrelease, '7.0') == -1) and !($::operatingsystem == 'Amazon') ) {
- ::apache::mod { 'systemd': }
- }
- ::apache::mod { 'unixd': }
- }
- }
- 'freebsd': {
- ::apache::mod { 'log_config': }
- ::apache::mod { 'unixd': }
- }
- 'Suse': {
- ::apache::mod { 'log_config': }
- }
- default: {}
- }
- case $::osfamily {
- 'gentoo': {}
- default: {
- ::apache::mod { 'authz_host': }
- }
- }
- # The rest of the modules only get loaded if we want all modules enabled
- if $all {
- case $::osfamily {
- '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::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 { 'ext_filter': }
- ::apache::mod { 'include': }
- ::apache::mod { 'logio': }
- ::apache::mod { 'substitute': }
- ::apache::mod { 'usertrack': }
-
- if versioncmp($apache_version, '2.4') < 0 {
- ::apache::mod { 'authn_alias': }
- ::apache::mod { 'authn_default': }
- }
- }
- 'freebsd': {
- include ::apache::mod::actions
- include ::apache::mod::authn_core
- include ::apache::mod::cache
- include ::apache::mod::disk_cache
- include ::apache::mod::headers
- include ::apache::mod::info
- include ::apache::mod::mime_magic
- include ::apache::mod::reqtimeout
- include ::apache::mod::rewrite
- include ::apache::mod::userdir
- include ::apache::mod::version
- include ::apache::mod::vhost_alias
- include ::apache::mod::speling
- include ::apache::mod::filter
-
- ::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
- ::apache::mod { 'auth_basic': }
-
- if versioncmp($apache_version, '2.4') >= 0 {
- # filter is needed by mod_deflate
- include ::apache::mod::filter
-
- # authz_core is needed for 'Require' directive
- ::apache::mod { 'authz_core':
- id => 'authz_core_module',
- }
-
- # lots of stuff seems to break without access_compat
- ::apache::mod { 'access_compat': }
- } else {
- include ::apache::mod::authz_default
- }
-
- include ::apache::mod::authz_user
-
- ::apache::mod { 'authz_groupfile': }
- ::apache::mod { 'env': }
- } elsif $mods {
- ::apache::default_mods::load { $mods: }
-
- if versioncmp($apache_version, '2.4') >= 0 {
- # authz_core is needed for 'Require' directive
- ::apache::mod { 'authz_core':
- id => 'authz_core_module',
- }
-
- # filter is needed by mod_deflate
- include ::apache::mod::filter
- }
- } else {
- if versioncmp($apache_version, '2.4') >= 0 {
- # authz_core is needed for 'Require' directive
- ::apache::mod { 'authz_core':
- id => 'authz_core_module',
- }
-
- # filter is needed by mod_deflate
- include ::apache::mod::filter
- }
- }
-}