diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/defaultdavdir.pp | 9 | ||||
-rw-r--r-- | manifests/vhost/davdir.pp | 40 | ||||
-rw-r--r-- | manifests/vhost/webdav.pp | 13 |
3 files changed, 61 insertions, 1 deletions
diff --git a/manifests/defaultdavdir.pp b/manifests/defaultdavdir.pp new file mode 100644 index 0000000..694d420 --- /dev/null +++ b/manifests/defaultdavdir.pp @@ -0,0 +1,9 @@ +# manifests/defaultphpdirs.pp + +class apache::defaultdavdir { + file{'/var/www/dav_db_dir': + ensure => directory, + require => Package['apache'], + owner => root, group => 0, mode => 0755; + } +} diff --git a/manifests/vhost/davdir.pp b/manifests/vhost/davdir.pp new file mode 100644 index 0000000..341d632 --- /dev/null +++ b/manifests/vhost/davdir.pp @@ -0,0 +1,40 @@ +define apache::vhost::davdir( + $ensure = present, + $dav_db_dir = 'absent', + $documentroot_owner = apache, + $documentroot_group = 0, + $documentroot_mode = 0750, + $run_mode = 'normal', + $run_uid = 'absent' +){ + # php db dir + case $dav_db_dir { + 'absent': { + include apache::defaultdavdir + $real_dav_db_dir = "/var/www/dav_db_dir/$name" + } + default: { $real_dav_db_dir = $dav_db_dir } + } + + case $ensure { + absent: { + file{$real_dav_db_dir: + ensure => absent, + purge => true, + force => true, + recurse => true, + } + } + default: { + file{$real_dav_db_dir: + ensure => directory, + owner => $run_mode ? { + 'itk' => $run_uid, + default => $documentroot_owner + }, + group => $documentroot_group, mode => $documentroot_mode; + } + } + } +} + diff --git a/manifests/vhost/webdav.pp b/manifests/vhost/webdav.pp index ab99039..8996ab7 100644 --- a/manifests/vhost/webdav.pp +++ b/manifests/vhost/webdav.pp @@ -33,8 +33,19 @@ define apache::vhost::webdav( $htpasswd_file = 'absent', $htpasswd_path = 'absent', $ldap_auth = false, - $ldap_user = 'any' + $ldap_user = 'any', + $dav_db_dir = 'absent' ){ + ::apache::vhost::davdir{"${name}": + ensure => $ensure, + dav_db_dir => $dav_db_dir, + documentroot_owner => $documentroot_owner, + documentroot_group => $documentroot_group, + documentroot_mode => $documentroot_mode, + run_mode => $run_mode, + run_uid => $run_uid, + } + if $manage_webdir { # create webdir ::apache::vhost::webdir{$name: |