]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/apache/manifests/default_mods.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / apache / manifests / default_mods.pp
diff --git a/3rdparty/modules/apache/manifests/default_mods.pp b/3rdparty/modules/apache/manifests/default_mods.pp
new file mode 100644 (file)
index 0000000..9e3c2c6
--- /dev/null
@@ -0,0 +1,173 @@
+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
+    }
+  }
+}