diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-06-18 13:29:50 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-06-18 13:29:50 -0300 |
commit | d5be34ca78f3330c4eb04ab59bc236641c392b94 (patch) | |
tree | f08a1385ccad1b10c56df3f298b0162dcb7ee9a1 /manifests/site | |
parent | 8f71cc0e123887a57b4b8feda72c7aa7f2f30670 (diff) | |
download | puppet-apache-d5be34ca78f3330c4eb04ab59bc236641c392b94.tar.gz puppet-apache-d5be34ca78f3330c4eb04ab59bc236641c392b94.tar.bz2 |
Adds apache::site::manage
Diffstat (limited to 'manifests/site')
-rw-r--r-- | manifests/site/manage.pp | 61 |
1 files changed, 61 insertions, 0 deletions
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'") } + } +} |