reload apache instead of restarting it
[mirror/dsa-puppet.git] / modules / apache2 / manifests / config.pp
index 9a11115..d185e42 100644 (file)
@@ -16,19 +16,48 @@ define apache2::config (
                default: { fail ( "Unknown ensure value: '$ensure'" ) }
        }
 
-       if $content {
-               file { "/etc/apache2/conf.d/${name}":
-                       ensure  => $ensure,
-                       content => $content,
-                       require => Package['apache2'],
-                       notify  => Service['apache2'],
+       if $::lsbmajdistrelease <= 7 {
+               if $content {
+                       file { "/etc/apache2/conf.d/${name}":
+                               ensure  => $ensure,
+                               content => $content,
+                               require => Package['apache2'],
+                               notify  => Exec['service apache2 reload'],
+                       }
+               } else {
+                       file { "/etc/apache2/conf.d/${name}":
+                               ensure  => $ensure,
+                               source  => $source,
+                               require => Package['apache2'],
+                               notify  => Exec['service apache2 reload'],
+                       }
                }
        } else {
-               file { "/etc/apache2/conf.d/${name}":
-                       ensure  => $ensure,
-                       source  => $source,
-                       require => Package['apache2'],
-                       notify  => Service['apache2'],
+               if $content {
+                       file { "/etc/apache2/conf-available/${name}.conf":
+                               ensure  => $ensure,
+                               content => $content,
+                               require => Package['apache2'],
+                               notify  => Exec['service apache2 reload'],
+                       }
+               } else {
+                       file { "/etc/apache2/conf-available/${name}.conf":
+                               ensure  => $ensure,
+                               source  => $source,
+                               require => Package['apache2'],
+                               notify  => Exec['service apache2 reload'],
+                       }
+               }
+
+               $link_ensure = $ensure ? {
+                       present => link,
+                       absent  => absent
+               }
+
+               file { "/etc/apache2/conf-enabled/${name}.conf":
+                       ensure => $link_ensure,
+                       target => "../conf-available/${name}.conf",
+                       notify  => Exec['service apache2 reload'],
                }
        }
 }