From fb3749fbf5d9173c0ef0b390baea37ddede978af Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 05 Mar 2009 17:41:29 -0500
Subject: [PATCH] Added website_basedir setting in server config.

---
 install/lib/installer_base.lib.php                       |    3 +
 interface/web/admin/templates/server_config_web_edit.htm |   70 ++++++++++++-----------
 server/plugins-available/apache2_plugin.inc.php          |    6 +-
 install/dist/conf/fedora9.conf.php                       |    5 +
 install/dist/conf/opensuse110.conf.php                   |    5 +
 install/dist/conf/debian40.conf.php                      |    5 +
 install/tpl/server.ini.master                            |    1 
 interface/web/admin/form/server_config.tform.php         |   11 +++
 docs/INSTALL_OPENSUSE_11_1.txt                           |   12 ++++
 install/dist/conf/centos52.conf.php                      |    5 +
 10 files changed, 87 insertions(+), 36 deletions(-)

diff --git a/docs/INSTALL_OPENSUSE_11_1.txt b/docs/INSTALL_OPENSUSE_11_1.txt
index d50a4d0..611c338 100644
--- a/docs/INSTALL_OPENSUSE_11_1.txt
+++ b/docs/INSTALL_OPENSUSE_11_1.txt
@@ -130,6 +130,18 @@
 
 rm -f /tmp/*.rpm
 
+6.2 Install jailkit
+
+cd /tmp
+wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
+tar xvfz jailkit-2.5.tar.gz
+cd jailkit-2.5
+./configure
+make
+make install
+cd ..
+rm -rf jailkit-2.5*
+
 
 7) Install ISPConfig 3
 
diff --git a/install/dist/conf/centos52.conf.php b/install/dist/conf/centos52.conf.php
index b98c516..02c77b8 100644
--- a/install/dist/conf/centos52.conf.php
+++ b/install/dist/conf/centos52.conf.php
@@ -82,6 +82,11 @@
 $conf['apache']['vhost_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled';
 $conf['apache']['vhost_port'] = '8080';
 
+//* Website base settings
+$conf['web']['website_basedir'] = '/var/www';
+$conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]';
+$conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/';
+
 //* Fastcgi
 $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/';
 
diff --git a/install/dist/conf/debian40.conf.php b/install/dist/conf/debian40.conf.php
index 6d6512f..03cdfc6 100644
--- a/install/dist/conf/debian40.conf.php
+++ b/install/dist/conf/debian40.conf.php
@@ -82,6 +82,11 @@
 $conf['apache']['vhost_conf_enabled_dir'] = '/etc/apache2/sites-enabled';
 $conf['apache']['vhost_port'] = '8080';
 
+//* Website base settings
+$conf['web']['website_basedir'] = '/var/www';
+$conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]';
+$conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/';
+
 //* Fastcgi
 $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php5/cgi/';
 
diff --git a/install/dist/conf/fedora9.conf.php b/install/dist/conf/fedora9.conf.php
index b40f1cb..121ab61 100644
--- a/install/dist/conf/fedora9.conf.php
+++ b/install/dist/conf/fedora9.conf.php
@@ -82,6 +82,11 @@
 $conf['apache']['vhost_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled';
 $conf['apache']['vhost_port'] = '8080';
 
+//* Website base settings
+$conf['web']['website_basedir'] = '/var/www';
+$conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]';
+$conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/';
+
 //* Fastcgi
 $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/';
 
diff --git a/install/dist/conf/opensuse110.conf.php b/install/dist/conf/opensuse110.conf.php
index ff89631..55be770 100644
--- a/install/dist/conf/opensuse110.conf.php
+++ b/install/dist/conf/opensuse110.conf.php
@@ -82,6 +82,11 @@
 $conf['apache']['vhost_conf_enabled_dir'] = '/etc/apache2/sites-enabled';
 $conf['apache']['vhost_port'] = '8080';
 
+//* Website base settings
+$conf['web']['website_basedir'] = '/srv/www';
+$conf['web']['website_path'] = '/srv/www/clients/client[client_id]/web[website_id]';
+$conf['web']['website_symlinks'] = '/srv/www/[website_domain]/:/srv/www/clients/client[client_id]/[website_domain]/';
+
 //* Fastcgi
 $conf['fastcgi']['fastcgi_phpini_path'] = '/etc/php5/cgi/';
 
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 4ce617c..c68cd88 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -206,6 +206,9 @@
 		$tpl_ini_array['fastcgi']['fastcgi_phpini_path'] = $conf['fastcgi']['fastcgi_phpini_path'];
 		$tpl_ini_array['server']['hostname'] = $conf['hostname'];
 		$tpl_ini_array['server']['ip_address'] = @gethostbyname($conf['hostname']);
+		$tpl_ini_array['web']['website_basedir'] = $conf['web']['website_basedir'];
+		$tpl_ini_array['web']['website_path'] = $conf['web']['website_path'];
+		$tpl_ini_array['web']['website_symlinks'] = $conf['web']['website_symlinks'];
 		
 		$server_ini_content = array_to_ini($tpl_ini_array);
 		$server_ini_content = mysql_real_escape_string($server_ini_content);
diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index cb65306..463397e 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -29,6 +29,7 @@
 getmail_config_dir=/etc/getmail
 
 [web]
+website_basedir=/var/www
 website_path=/var/www/clients/client[client_id]/web[website_id]
 website_symlinks=/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/
 vhost_conf_dir=/etc/apache2/sites-available
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 0603773..754000b 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -284,6 +284,17 @@
 	##################################
 	# Begin Datatable fields
 	##################################
+		'website_basedir' => array (
+			'datatype'	=> 'VARCHAR',
+			'formtype'	=> 'TEXT',
+			'default'	=> '',
+			'validators'	=> array ( 	0 => array (	'type'	=> 'NOTEMPTY',
+														'errmsg'=> 'website_basedir_error_empty'),
+									),
+			'value'		=> '',
+			'width'		=> '40',
+			'maxlength'	=> '255'
+		),
 		'website_path' => array (
 			'datatype'	=> 'VARCHAR',
 			'formtype'	=> 'TEXT',
diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm
index 21bee81..969c01f 100644
--- a/interface/web/admin/templates/server_config_web_edit.htm
+++ b/interface/web/admin/templates/server_config_web_edit.htm
@@ -1,33 +1,37 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-
-<div class="panel panel_server_config">
-
-  <div class="pnl_formsarea">
-    <fieldset id="wf_area_server_config"><legend>Web</legend>
-      <span class="wf_oneField">
-        <label for="website_path" class="wf_preField">{tmpl_var name='website_path_txt'}</label>
-        <input type="text" id="website_path" name="website_path" value="{tmpl_var name='website_path'}" size="40" maxlength="255">
-      </span>
-      <span class="wf_oneField">
-        <label for="website_symlinks" class="wf_preField">{tmpl_var name='website_symlinks_txt'}</label>
-        <input type="text" id="website_symlinks" name="website_symlinks" value="{tmpl_var name='website_symlinks'}" size="40" maxlength="255">
-      </span>
-      <span class="wf_oneField">
-        <label for="vhost_conf_dir" class="wf_preField">{tmpl_var name='vhost_conf_dir_txt'}</label>
-        <input type="text" id="vhost_conf_dir" name="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255">
-      </span>
-      <span class="wf_oneField">
-        <label for="vhost_conf_enabled_dir" class="wf_preField">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
-        <input type="text" id="vhost_conf_enabled_dir" name="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" maxlength="255">
-      </span>
-    </fieldset>
-
-    <input type="hidden" name="id" value="{tmpl_var name='id'}">
-
-    <div class="wf_actions buttons">
-      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
-      <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
-    </div>
-  </div>
-  
-</div>
+<h2><tmpl_var name="list_head_txt"></h2>
+
+<div class="panel panel_server_config">
+
+  <div class="pnl_formsarea">
+    <fieldset id="wf_area_server_config"><legend>Web</legend>
+      <span class="wf_oneField">
+        <label for="website_basedir" class="wf_preField">{tmpl_var name='website_basedir_txt'}</label>
+        <input type="text" id="website_basedir" name="website_basedir" value="{tmpl_var name='website_basedir'}" size="40" maxlength="255">
+      </span>
+	  <span class="wf_oneField">
+        <label for="website_path" class="wf_preField">{tmpl_var name='website_path_txt'}</label>
+        <input type="text" id="website_path" name="website_path" value="{tmpl_var name='website_path'}" size="40" maxlength="255">
+      </span>
+      <span class="wf_oneField">
+        <label for="website_symlinks" class="wf_preField">{tmpl_var name='website_symlinks_txt'}</label>
+        <input type="text" id="website_symlinks" name="website_symlinks" value="{tmpl_var name='website_symlinks'}" size="40" maxlength="255">
+      </span>
+      <span class="wf_oneField">
+        <label for="vhost_conf_dir" class="wf_preField">{tmpl_var name='vhost_conf_dir_txt'}</label>
+        <input type="text" id="vhost_conf_dir" name="vhost_conf_dir" value="{tmpl_var name='vhost_conf_dir'}" size="40" maxlength="255">
+      </span>
+      <span class="wf_oneField">
+        <label for="vhost_conf_enabled_dir" class="wf_preField">{tmpl_var name='vhost_conf_enabled_dir_txt'}</label>
+        <input type="text" id="vhost_conf_enabled_dir" name="vhost_conf_enabled_dir" value="{tmpl_var name='vhost_conf_enabled_dir'}" size="40" maxlength="255">
+      </span>
+    </fieldset>
+
+    <input type="hidden" name="id" value="{tmpl_var name='id'}">
+
+    <div class="wf_actions buttons">
+      <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/server_config_edit.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+      <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/server_config_list.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+    </div>
+  </div>
+  
+</div>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 65ce21e..aa8e189 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -446,7 +446,7 @@
 		
 		$vhost_data = $data["new"];
 		$vhost_data["web_document_root"] = $data["new"]["document_root"]."/web";
-		$vhost_data["web_document_root_www"] = "/var/www/".$data["new"]["domain"]."/web";
+		$vhost_data["web_document_root_www"] = $web_config["website_basedir"]."/".$data["new"]["domain"]."/web";
 		
 		// Check if a SSL cert exists
 		$ssl_dir = $data["new"]["document_root"]."/ssl";
@@ -602,7 +602,7 @@
 		{
 			//$cgi_config = $app->getconf->get_server_config($conf["server_id"], 'cgi');
 
-			$cgi_config["cgi_starter_path"] = "/var/www/php-cgi-scripts/[system_user]/";
+			$cgi_config["cgi_starter_path"] = $web_config["website_basedir"]."/php-cgi-scripts/[system_user]/";
 			$cgi_config["cgi_starter_script"] = "php-cgi-starter";
 			$cgi_config["cgi_bin"] = "/usr/bin/php-cgi";
 
@@ -721,7 +721,7 @@
 			if ($data["old"]["php"] == "cgi")
 			{
 				// TODO: fetch the date from the server-settings
-				$web_config["cgi_starter_path"] = "/var/www/php-cgi-scripts/[system_user]/";
+				$web_config["cgi_starter_path"] = $web_config["website_basedir"]."/php-cgi-scripts/[system_user]/";
 
 				$cgi_starter_path = str_replace("[system_user]",$data["old"]["system_user"],$web_config["cgi_starter_path"]);
 				if (is_dir($cgi_starter_path))

--
Gitblit v1.9.1