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