From 245f713aa8fc59da6ee2aee49265f43c01d61cbe Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Mon, 11 May 2009 18:27:09 +0200 Subject: drupal vhost file and webdav vhost - drupal vehost template with certain defaults - webdav to be able to have a way to upload things over webdav --- manifests/defines/vhost_files.pp | 19 +++++++-- manifests/defines/vhost_varieties.pp | 78 ++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 3 deletions(-) (limited to 'manifests/defines') diff --git a/manifests/defines/vhost_files.pp b/manifests/defines/vhost_files.pp index cb8e0fb..ae078e2 100644 --- a/manifests/defines/vhost_files.pp +++ b/manifests/defines/vhost_files.pp @@ -14,6 +14,7 @@ define apache::vhost( $ensure = present, $path = 'absent', + $path_is_webdir = false, $template_mode = 'static', $vhost_mode = 'template', $vhost_source = 'absent', @@ -37,7 +38,9 @@ define apache::vhost( $ssl_mode = false, $htpasswd_file = 'absent', $htpasswd_path = 'absent', - $mod_security = true + $mod_security = true, + $ldap_auth = false, + $ldap_user = 'any' ) { # file or template mode? case $vhost_mode { @@ -55,6 +58,7 @@ define apache::vhost( apache::vhost::template{$name: ensure => $ensure, path => $path, + path_is_webdir = $path_is_webdir, domain => $domain, domainalias => $domainalias, server_admin => $server_admin, @@ -73,6 +77,8 @@ define apache::vhost( ssl_mode => $ssl_mode, htpasswd_file => $htpasswd_file, htpasswd_path => $htpasswd_path, + ldap_auth => $ldap_auth, + ldap_user => $ldap_user, mod_security => $mod_security, } } @@ -192,6 +198,7 @@ define apache::vhost::file( define apache::vhost::template( $ensure = present, $path = 'absent', + $path_is_webdir = false, $domain = 'absent', $domainalias = 'absent', $server_admin = 'absent', @@ -210,7 +217,9 @@ define apache::vhost::template( $ssl_mode = false, $mod_security = true, $htpasswd_file = 'absent', - $htpasswd_path = 'absent' + $htpasswd_path = 'absent', + $ldap_auth = false, + $ldap_user = 'any' ){ $real_path = $path ? { 'absent' => $operatingsystem ? { @@ -220,7 +229,11 @@ define apache::vhost::template( default => $path } - $documentroot = "$real_path/www" + if $path_is_webdir { + $documentroot = "$real_path" + } else { + $documentroot = "$real_path/www" + } $logdir = "$real_path/logs" $servername = $domain ? { diff --git a/manifests/defines/vhost_varieties.pp b/manifests/defines/vhost_varieties.pp index 92295bb..7d4ab75 100644 --- a/manifests/defines/vhost_varieties.pp +++ b/manifests/defines/vhost_varieties.pp @@ -7,10 +7,12 @@ # - apache::vhost::joomla # - apache::vhost::wordpress # - apache::vhost::simplemachine +# - apache::vhost::drubal # - apache::vhost::cgi TODO # - apache::vhost::modperl TODO # - apache::vhost::modpython TODO # - apache::vhost::modrails TODO +# - apache::vhost::webdav # - apache::vhost::webapp (abstract) # vhost_mode: which option is chosen to deploy the vhost @@ -514,6 +516,82 @@ define apache::vhost::php::drupal( } } +# Webdav vhost: to manage webdav accessible targets +# run_mode: +# - normal: nothing special (*default*) +# - itk: apache is running with the itk module +# and run_uid and run_gid are used as vhost users +# run_uid: the uid the vhost should run as with the itk module +# run_gid: the gid the vhost should run as with the itk module +define apache::vhost::webdav( + $ensure = present, + $domain = 'absent', + $domainalias = 'absent', + $server_admin = 'absent', + $path = 'absent', + $owner = root, + $group = 0, + $manage_webdir = true, + $path_is_webdir = false, + $documentroot_owner = apache, + $documentroot_group = 0, + $documentroot_mode = 0750, + $run_mode = 'normal', + $run_uid = 'absent', + $run_gid = 'absent', + $options = 'absent', + $additional_options = 'absent', + $default_charset = 'absent', + $mod_security = false, + $ssl_mode = false, + $vhost_mode = 'template', + $vhost_source = 'absent', + $vhost_destination = 'absent', + $htpasswd_file = 'absent', + $htpasswd_path = 'absent', + $ldap_auth = false, + $ldap_user = 'any' +){ + if $manage_webdir { + # create webdir + apache::vhost::webdir{$name: + ensure => $ensure, + path => $path, + owner => $owner, + group => $group, + documentroot_owner => $documentroot_owner, + documentroot_group => $documentroot_group, + documentroot_mode => $documentroot_mode, + } + } + # create vhost configuration file + apache::vhost{$name: + ensure => $ensure, + path => $path, + path_is_webdir = $path_is_webdir, + template_mode => 'webdav', + vhost_mode => $vhost_mode, + vhost_source => $vhost_source, + vhost_destination => $vhost_destination, + domain => $domain, + domainalias => $domainalias, + server_admin => $server_admin, + run_mode => $run_mode, + run_uid => $run_uid, + run_gid => $run_gid, + options => $options, + additional_options => $additional_options, + default_charset => $default_charset, + cgi_binpath => $real_cgi_binpath, + ssl_mode => $ssl_mode, + htpasswd_file => $htpasswd_file, + htpasswd_path => $htpasswd_path, + ldap_auth => $ldap_auth, + ldap_user => $ldap_user, + mod_security => $mod_security, + } +} + # run_mode: # - normal: nothing special (*default*) # - itk: apache is running with the itk module -- cgit v1.2.3