+# Install and enable (or disable) an apache config snippet
+#
+# @param source source of the apache conf file
+# @param content content of the apache conf file
+# @param ensure present or absent
define apache2::config (
- $source=undef,
- $content=undef,
- $ensure=present
+ Optional[String] $source = undef,
+ Optional[String] $content = undef,
+ Enum['present','absent'] $ensure = 'present',
) {
+ include apache2
- include apache2
+ case $ensure {
+ present: {
+ if ! ($source or $content) {
+ fail ( "No configuration found for ${name}" )
+ }
+ }
+ absent: {}
+ default: { fail ( "Unknown ensure value: ${ensure}" ) }
+ }
- case $ensure {
- present: {
- if ! ($source or $content) {
- fail ( "No configuration found for ${name}" )
- }
- }
- absent: {}
- default: { fail ( "Unknown ensure value: '$ensure'" ) }
- }
+ file { "/etc/apache2/conf-available/${name}.conf":
+ ensure => $ensure,
+ content => $content,
+ source => $source,
+ require => Package['apache2'],
+ notify => Exec['service apache2 reload'],
+ }
- if $::lsbmajdistrelease <= 7 {
- if $content {
- file { "/etc/apache2/conf.d/${name}":
- ensure => $ensure,
- content => $content,
- require => Package['apache2'],
- notify => Service['apache2'],
- }
- } else {
- file { "/etc/apache2/conf.d/${name}":
- ensure => $ensure,
- source => $source,
- require => Package['apache2'],
- notify => Service['apache2'],
- }
- }
- } else {
- if $content {
- file { "/etc/apache2/conf-available/${name}.conf":
- ensure => $ensure,
- content => $content,
- require => Package['apache2'],
- notify => Service['apache2'],
- }
- } else {
- file { "/etc/apache2/conf-available/${name}.conf":
- ensure => $ensure,
- source => $source,
- require => Package['apache2'],
- notify => Service['apache2'],
- }
- }
+ $link_ensure = $ensure ? {
+ present => link,
+ absent => absent
+ }
- $link_ensure = $ensure == present ? {
- present => 'link',
- absent => 'absent'
- }
-
- file { "/etc/apache2/conf-enabled/${name}":
- ensure => $link_ensure,
- target => "/etc/apache2/conf-available/${base}.conf",
- notify => Service['apache2'],
- }
- }
+ file { "/etc/apache2/conf-enabled/${name}.conf":
+ ensure => $link_ensure,
+ target => "../conf-available/${name}.conf",
+ notify => Exec['service apache2 reload'],
+ }
}