summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2011-05-28 11:32:39 +0200
committermh <mh@immerda.ch>2011-10-08 10:50:15 +0200
commit34df80bc271f7ed17de879e82b54f31a98926e08 (patch)
tree3619b16f376d4721f3fc560bda933960d1dbc188 /manifests
parent00c67d3de29527a957ae6efb43b98c4fa10ffd90 (diff)
first work on php_settings via hash
Diffstat (limited to 'manifests')
-rw-r--r--manifests/vhost.pp2
-rw-r--r--manifests/vhost/php/gallery2.pp31
-rw-r--r--manifests/vhost/php/standard.pp50
-rw-r--r--manifests/vhost/php/webapp.pp2
-rw-r--r--manifests/vhost/template.pp1
5 files changed, 78 insertions, 8 deletions
diff --git a/manifests/vhost.pp b/manifests/vhost.pp
index af067d1..4ade9c8 100644
--- a/manifests/vhost.pp
+++ b/manifests/vhost.pp
@@ -56,6 +56,7 @@ define apache::vhost(
$php_use_pear = false,
$php_safe_mode = true,
$php_default_charset = 'absent',
+ $php_settings = {},
$cgi_binpath = 'absent',
$default_charset = 'absent',
$do_includes = false,
@@ -115,6 +116,7 @@ define apache::vhost(
php_use_pear => $php_use_pear,
php_safe_mode => $php_safe_mode,
php_default_charset => $php_default_charset,
+ php_settings => $php_settings,
run_mode => $run_mode,
run_uid => $run_uid,
run_gid => $run_gid,
diff --git a/manifests/vhost/php/gallery2.pp b/manifests/vhost/php/gallery2.pp
index cb4d77d..69a81e1 100644
--- a/manifests/vhost/php/gallery2.pp
+++ b/manifests/vhost/php/gallery2.pp
@@ -50,6 +50,7 @@ define apache::vhost::php::gallery2(
$php_session_save_path = 'absent',
$php_safe_mode_exec_bins = 'absent',
$php_default_charset = 'absent',
+ $php_settings = {},
$do_includes = false,
$options = 'absent',
$additional_options = 'absent',
@@ -115,6 +116,35 @@ define apache::vhost::php::gallery2(
ensure => directory
}
}
+
+ # php upload_tmp_dir
+ case $php_upload_tmp_dir {
+ 'absent': {
+ $real_php_upload_tmp_dir = "/var/www/upload_tmp_dir/$name"
+ }
+ default: { $real_php_upload_tmp_dir = $php_upload_tmp_dir }
+ }
+ # php session_save_path
+ case $php_session_save_path {
+ 'absent': {
+ $real_php_session_save_path = "/var/www/session.save_path/$name"
+ }
+ default: { $real_php_session_save_path = $php_session_save_path }
+ }
+
+ $gallery_php_settings = {
+ safe_mode => 'Off',
+ output_buffering => 'Off',
+ }
+ $open_basedir = "${documentroot}:${real_php_upload_tmp_dir}:${real_php_session_save_path}:${gdatadir}"
+ if $upload_dir != 'absent' {
+ $real_open_basedir = "${open_basedir}:${real_upload_dir}"
+ } else {
+ $real_open_basedir = "${open_basedir}"
+ }
+ $gallery_php_settings[open_basedir] = $real_open_basedir
+
+ $real_php_settings = hash_merge($gallery_php_settings,$php_settings)
# create vhost configuration file
::apache::vhost::php::webapp{$name:
@@ -138,6 +168,7 @@ define apache::vhost::php::gallery2(
php_session_save_path => $php_session_save_path,
php_safe_mode_exec_bins => $real_php_safe_mode_exec_bins,
php_default_charset => $php_default_charset,
+ php_settings => $real_php_settings,
do_includes => $do_includes,
options => $options,
additional_options => $additional_options,
diff --git a/manifests/vhost/php/standard.pp b/manifests/vhost/php/standard.pp
index ecbb79a..c80610b 100644
--- a/manifests/vhost/php/standard.pp
+++ b/manifests/vhost/php/standard.pp
@@ -60,6 +60,7 @@ define apache::vhost::php::standard(
$php_safe_mode_exec_bins = 'absent',
$php_safe_mode_exec_bin_dir = 'absent',
$php_default_charset = 'absent',
+ $php_settings = {},
$do_includes = false,
$options = 'absent',
$additional_options = 'absent',
@@ -77,14 +78,6 @@ define apache::vhost::php::standard(
$htpasswd_path = 'absent'
){
- $real_php_default_charset = $php_default_charset ? {
- 'absent' => $default_charset ? {
- 'On' => 'iso-8859-1',
- default => $default_charset
- },
- default => $php_default_charset
- }
-
::apache::vhost::phpdirs{"${name}":
ensure => $ensure,
php_upload_tmp_dir => $php_upload_tmp_dir,
@@ -154,6 +147,46 @@ define apache::vhost::php::standard(
documentroot_mode => $documentroot_mode,
}
}
+
+ # php upload_tmp_dir
+ case $php_upload_tmp_dir {
+ 'absent': {
+ $real_php_upload_tmp_dir = "/var/www/upload_tmp_dir/$name"
+ }
+ default: { $real_php_upload_tmp_dir = $php_upload_tmp_dir }
+ }
+ # php session_save_path
+ case $php_session_save_path {
+ 'absent': {
+ $real_php_session_save_path = "/var/www/session.save_path/$name"
+ }
+ default: { $real_php_session_save_path = $php_session_save_path }
+ }
+
+ $std_php_settings = {
+ engine => 'On',
+ upload_tmp_dir => $real_php_upload_tmp_dir,
+ session.save_path => $real_php_session_save_path,
+ }
+ if $php_safe_mode_exec_bins != 'absent' {
+ $std_php_settings[safe_mode_exec_dir] = $real_php_safe_mode_exec_bin_dir
+ }
+
+ $real_php_default_charset = $php_settings[default_charset] ? {
+ '' => $default_charset ? {
+ 'On' => 'iso-8859-1',
+ default => $default_charset ? {
+ 'absent' => 'absent',
+ default => $default_charset
+ }
+ },
+ default => $php_settings[default_charset]
+ }
+ if $real_php_default_charset != 'absent' {
+ $std_php_settings[default_charset] = $real_php_default_charset
+ }
+
+ $real_php_settings = hash_merge($std_php_settings,$php_settings)
# create vhost configuration file
::apache::vhost{$name:
@@ -185,6 +218,7 @@ define apache::vhost::php::standard(
php_use_pear => $php_use_pear,
php_safe_mode => $php_safe_mode,
php_default_charset => $real_php_default_charset,
+ php_settings => $real_php_settings,
ssl_mode => $ssl_mode,
htpasswd_file => $htpasswd_file,
htpasswd_path => $htpasswd_path,
diff --git a/manifests/vhost/php/webapp.pp b/manifests/vhost/php/webapp.pp
index bd72eb1..b4b4195 100644
--- a/manifests/vhost/php/webapp.pp
+++ b/manifests/vhost/php/webapp.pp
@@ -53,6 +53,7 @@ define apache::vhost::php::webapp(
$php_session_save_path = 'absent',
$php_safe_mode_exec_bins = 'absent',
$php_default_charset = 'absent',
+ $php_settings = {},
$do_includes = false,
$options = 'absent',
$additional_options = 'absent',
@@ -126,6 +127,7 @@ define apache::vhost::php::webapp(
php_session_save_path => $php_session_save_path,
php_safe_mode_exec_bins => $php_safe_mode_exec_bins,
php_default_charset => $php_default_charset,
+ php_settings => $php_settings,
do_includes => $do_includes,
options => $options,
additional_options => $additional_options,
diff --git a/manifests/vhost/template.pp b/manifests/vhost/template.pp
index 3fe78c9..ce74bfd 100644
--- a/manifests/vhost/template.pp
+++ b/manifests/vhost/template.pp
@@ -71,6 +71,7 @@ define apache::vhost::template(
$php_use_pear = false,
$php_safe_mode = true,
$php_default_charset = 'absent',
+ $php_settings = {},
$run_mode = 'normal',
$run_uid = 'absent',
$run_gid = 'absent',