From fb3749fbf5d9173c0ef0b390baea37ddede978af Mon Sep 17 00:00:00 2001 From: tbrehm Date: Thu, 5 Mar 2009 22:41:29 +0000 Subject: [PATCH] Added website_basedir setting in server config. --- docs/INSTALL_OPENSUSE_11_1.txt | 12 ++++ install/dist/conf/centos52.conf.php | 5 ++ install/dist/conf/debian40.conf.php | 5 ++ install/dist/conf/fedora9.conf.php | 5 ++ install/dist/conf/opensuse110.conf.php | 5 ++ install/lib/installer_base.lib.php | 3 + install/tpl/server.ini.master | 1 + .../web/admin/form/server_config.tform.php | 11 +++ .../templates/server_config_web_edit.htm | 70 ++++++++++--------- .../plugins-available/apache2_plugin.inc.php | 6 +- 10 files changed, 87 insertions(+), 36 deletions(-) diff --git a/docs/INSTALL_OPENSUSE_11_1.txt b/docs/INSTALL_OPENSUSE_11_1.txt index d50a4d0cf..611c3383c 100644 --- a/docs/INSTALL_OPENSUSE_11_1.txt +++ b/docs/INSTALL_OPENSUSE_11_1.txt @@ -130,6 +130,18 @@ yast2 -i webalizer perl-DateManip 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 b98c51692..02c77b8ce 100644 --- a/install/dist/conf/centos52.conf.php +++ b/install/dist/conf/centos52.conf.php @@ -82,6 +82,11 @@ $conf['apache']['vhost_conf_dir'] = '/etc/httpd/conf/sites-available'; $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 6d6512f33..03cdfc6eb 100644 --- a/install/dist/conf/debian40.conf.php +++ b/install/dist/conf/debian40.conf.php @@ -82,6 +82,11 @@ $conf['apache']['vhost_conf_dir'] = '/etc/apache2/sites-available'; $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 b40f1cb68..121ab611f 100644 --- a/install/dist/conf/fedora9.conf.php +++ b/install/dist/conf/fedora9.conf.php @@ -82,6 +82,11 @@ $conf['apache']['vhost_conf_dir'] = '/etc/httpd/conf/sites-available'; $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 ff89631c9..55be770ad 100644 --- a/install/dist/conf/opensuse110.conf.php +++ b/install/dist/conf/opensuse110.conf.php @@ -82,6 +82,11 @@ $conf['apache']['vhost_conf_dir'] = '/etc/apache2/sites-available'; $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 4ce617c88..c68cd88e5 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -206,6 +206,9 @@ class installer_base { $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 cb6530665..463397e6b 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -29,6 +29,7 @@ message_size_limit=0 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 06037731d..754000b8d 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -284,6 +284,17 @@ $form["tabs"]['web'] = array ( ################################## # 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 21bee8158..969c01f87 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 @@ -

- -
- -
-
Web - - - - - - - - - - - - - - - - -
- - - -
- - -
-
- -
+

+ +
+ +
+
Web + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+
+ +
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 65ce21ec1..aa8e18908 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -446,7 +446,7 @@ class apache2_plugin { $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 @@ class apache2_plugin { { //$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 @@ class apache2_plugin { 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)) -- GitLab