Blob Blame History Raw
diff --git a/manifests/default_mods.pp b/manifests/default_mods.pp
index f1f271e..85fff9a 100644
--- a/manifests/default_mods.pp
+++ b/manifests/default_mods.pp
@@ -18,6 +18,7 @@ class apache::default_mods (
     case $::osfamily {
       'debian': {
         include apache::mod::reqtimeout
+        apache::mod { 'authz_default': }
       }
       'redhat': {
         include apache::mod::cache
@@ -27,10 +28,8 @@ class apache::default_mods (
         include apache::mod::rewrite
         apache::mod { 'actions': }
         apache::mod { 'auth_digest': }
-        apache::mod { 'authn_alias': }
         apache::mod { 'authn_anon': }
         apache::mod { 'authn_dbm': }
-        apache::mod { 'authn_default': }
         apache::mod { 'authz_dbm': }
         apache::mod { 'authz_owner': }
         apache::mod { 'expires': }
@@ -42,6 +41,40 @@ class apache::default_mods (
         apache::mod { 'suexec': }
         apache::mod { 'usertrack': }
         apache::mod { 'version': }
+
+        case $::operatingsystem {
+          'Fedora': {
+            if is_integer($::operatingsystemrelease) and $::operatingsystemrelease >= 18 or $::operatingsystemrelease == "Rawhide" {
+              $apache_version = '2.4+'
+            } else {
+              $apache_version = '2.3-'
+            }
+          }
+          'RedHat': {
+            if $::operatingsystemrelease >= 7 {
+              $apache_version = '2.4+'
+            } else {
+              $apache_version = '2.3-'
+            }
+          }
+          default: {
+            $apache_version = '2.3-'
+          }
+        }
+        if $apache_version == '2.4+' {
+          apache::mod { 'access_compat': }
+          apache::mod { 'authn_core': }
+          apache::mod { 'authz_core': }
+          apache::mod { 'filter': }
+          apache::mod { 'mpm_prefork': }
+          apache::mod { 'slotmem_shm': }
+          apache::mod { 'systemd': }
+          apache::mod { 'unixd': }
+        } else {
+          apache::mod { 'authn_alias': }
+          apache::mod { 'authn_default': }
+          apache::mod { 'authz_default': }
+        }
       }
       'freebsd': {
         include apache::mod::cache
@@ -61,6 +94,7 @@ class apache::default_mods (
         apache::mod { 'authn_anon': }
         apache::mod { 'authn_dbm': }
         apache::mod { 'authn_default': }
+        apache::mod { 'authz_default': }
         apache::mod { 'authz_dbm': }
         apache::mod { 'authz_owner': }
         apache::mod { 'cern_meta': }
@@ -101,7 +135,6 @@ class apache::default_mods (
     include apache::mod::setenvif
     apache::mod { 'auth_basic': }
     apache::mod { 'authn_file': }
-    apache::mod { 'authz_default': }
     apache::mod { 'authz_groupfile': }
     apache::mod { 'authz_user': }
     apache::mod { 'env': }