-define apache2::config($config = undef, $template = undef, $ensure = present) {
+define apache2::config (
+ $source=undef,
+ $content=undef,
+ $ensure=present
+) {
include apache2
case $ensure {
present: {
- if ! ($config or $template) {
+ if ! ($source or $content) {
fail ( "No configuration found for ${name}" )
}
}
default: { fail ( "Unknown ensure value: '$ensure'" ) }
}
- if $template {
- file { "/etc/apache2/conf.d/${name}":
- ensure => $ensure,
- content => template($template),
- 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 => Service['apache2'],
+ }
+ } else {
+ file { "/etc/apache2/conf.d/${name}":
+ ensure => $ensure,
+ source => $source,
+ require => Package['apache2'],
+ notify => Service['apache2'],
+ }
}
} else {
- file { "/etc/apache2/conf.d/${name}":
- ensure => $ensure,
- source => $config,
- require => Package['apache2'],
- notify => Service['apache2'],
+ 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
+ }
+
+ file { "/etc/apache2/conf-enabled/${name}.conf":
+ ensure => $link_ensure,
+ target => "../conf-available/${name}.conf",
+ notify => Service['apache2'],
}
}
}