summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'manifests')
-rw-r--r--manifests/site.pp60
-rw-r--r--manifests/site/manage.pp61
2 files changed, 70 insertions, 51 deletions
diff --git a/manifests/site.pp b/manifests/site.pp
index ff053b9..2c76a01 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -122,6 +122,7 @@ define apache::site(
ensure => absent,
}
+ # Setup configuration
apache::site::config { $name:
ensure => $ensure,
source => $source,
@@ -147,56 +148,13 @@ define apache::site(
hosting_domain => $hosting_domain,
}
- case $ensure {
- 'present': {
- if ($docroot != false) and ($manage_docroot == true) {
- if !defined(File["${docroot}"]) {
- file { "${docroot}":
- ensure => present,
- owner => $owner,
- group => $group,
- mode => 0755,
- recurse => false,
- }
- }
- if !defined(Exec["check_docroot_${docroot}"]) {
- # Ensure parent folder exist
- exec { "check_docroot_${docroot}":
- command => "/bin/mkdir -p ${docroot}",
- unless => "/bin/sh -c '[ -e ${docroot} ]'",
- user => root,
- before => File["${docroot}"],
- }
- }
- }
- exec { "/usr/sbin/a2ensite $vhost":
- command => $::lsbdistcodename ? {
- 'wheezy' => "/usr/sbin/a2ensite $vhost.conf",
- default => "/usr/sbin/a2ensite $vhost",
- },
- unless => "/bin/sh -c '[ -L ${apache::conf_sites}-enabled/$vhost.conf ] \
- && [ ${apache::conf_sites}-enabled/$vhost.conf -ef ${apache::conf_sites}-available/$vhost.conf ]'",
- require => Apache::Site::Config[$name],
- notify => Exec["reload-apache2"],
- }
- }
- 'absent': {
- exec { "/usr/sbin/a2dissite $vhost":
- command => $::lsbdistcodename ? {
- 'wheezy' => "/usr/sbin/a2dissite $vhost.conf",
- default => "/usr/sbin/a2dissite $vhost",
- },
- onlyif => "/bin/sh -c '[ -L ${apache::conf_sites}-enabled/$vhost.conf ] \
- && [ ${apache::conf_sites}-enabled/$vhost.conf -ef ${apache::conf_sites}-available/$vhost.conf ]'",
- require => Apache::Site::Config[$name],
- notify => Exec["reload-apache2"],
- }
-
- file { "${apache::conf_sites}-enabled/$vhost.conf":
- ensure => absent,
- notify => Exec["reload-apache2"],
- }
- }
- default: { err ("Unknown ensure value: '$ensure'") }
+ # Enable or disable accordingly
+ apache::site::manage { $name:
+ ensure => $ensure,
+ docroot => $docroot,
+ manage_docroot => $manage_docroot,
+ owner => $owner,
+ group => $group,
+ vhost => $vhost,
}
}
diff --git a/manifests/site/manage.pp b/manifests/site/manage.pp
new file mode 100644
index 0000000..c04bec3
--- /dev/null
+++ b/manifests/site/manage.pp
@@ -0,0 +1,61 @@
+define apache::site::manage(
+ $ensure = 'present',
+ $docroot = false,
+ $manage_docroot = true,
+ $owner = 'root',
+ $group = 'root',
+ $vhost = $name,
+) {
+ case $ensure {
+ 'present': {
+ if ($docroot != false) and ($manage_docroot == true) {
+ if !defined(File["${docroot}"]) {
+ file { "${docroot}":
+ ensure => present,
+ owner => $owner,
+ group => $group,
+ mode => 0755,
+ recurse => false,
+ }
+ }
+ if !defined(Exec["check_docroot_${docroot}"]) {
+ # Ensure parent folder exist
+ exec { "check_docroot_${docroot}":
+ command => "/bin/mkdir -p ${docroot}",
+ unless => "/bin/sh -c '[ -e ${docroot} ]'",
+ user => root,
+ before => File["${docroot}"],
+ }
+ }
+ }
+ exec { "/usr/sbin/a2ensite $vhost":
+ command => $::lsbdistcodename ? {
+ 'wheezy' => "/usr/sbin/a2ensite $vhost.conf",
+ default => "/usr/sbin/a2ensite $vhost",
+ },
+ unless => "/bin/sh -c '[ -L ${apache::conf_sites}-enabled/$vhost.conf ] \
+ && [ ${apache::conf_sites}-enabled/$vhost.conf -ef ${apache::conf_sites}-available/$vhost.conf ]'",
+ require => Apache::Site::Config[$name],
+ notify => Exec["reload-apache2"],
+ }
+ }
+ 'absent': {
+ exec { "/usr/sbin/a2dissite $vhost":
+ command => $::lsbdistcodename ? {
+ 'wheezy' => "/usr/sbin/a2dissite $vhost.conf",
+ default => "/usr/sbin/a2dissite $vhost",
+ },
+ onlyif => "/bin/sh -c '[ -L ${apache::conf_sites}-enabled/$vhost.conf ] \
+ && [ ${apache::conf_sites}-enabled/$vhost.conf -ef ${apache::conf_sites}-available/$vhost.conf ]'",
+ require => Apache::Site::Config[$name],
+ notify => Exec["reload-apache2"],
+ }
+
+ file { "${apache::conf_sites}-enabled/$vhost.conf":
+ ensure => absent,
+ notify => Exec["reload-apache2"],
+ }
+ }
+ default: { err ("Unknown ensure value: '$ensure'") }
+ }
+}