From a91fdb2f9c8705d68bff3c5ec3037d7ba5490512 Mon Sep 17 00:00:00 2001
From: daniel <daniel@ispconfig3>
Date: Thu, 05 Jun 2008 16:45:15 -0400
Subject: [PATCH] Log symlinks changed
---
install/sql/ispconfig3.sql | 5 +++--
server/plugins-available/apache2_plugin.inc.php | 26 ++++++++++++++++++--------
interface/web/sites/shell_user_edit.php | 3 ++-
interface/web/sites/form/shell_user.tform.php | 6 ++++++
interface/web/sites/lib/lang/en_shell_user.lng | 1 +
interface/web/sites/templates/shell_user_edit.htm | 8 ++++++++
6 files changed, 38 insertions(+), 11 deletions(-)
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 4ba1cf6..a716547 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -524,7 +524,6 @@
-- --------------------------------------------------------
-
CREATE TABLE `shell_user` (
`shell_user_id` bigint(20) NOT NULL auto_increment,
`sys_userid` int(11) NOT NULL default '0',
@@ -542,8 +541,10 @@
`pgroup` varchar(255) default NULL,
`shell` varchar(255) NOT NULL default '/bin/bash',
`dir` varchar(255) default NULL,
+ `chroot` varchar(255) NOT NULL,
PRIMARY KEY (`shell_user_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
+
--
-- Daten f�r Tabelle `shell_user`
diff --git a/interface/web/sites/form/shell_user.tform.php b/interface/web/sites/form/shell_user.tform.php
index 3b79613..d9766a5 100644
--- a/interface/web/sites/form/shell_user.tform.php
+++ b/interface/web/sites/form/shell_user.tform.php
@@ -105,6 +105,12 @@
'width' => '30',
'maxlength' => '255'
),
+ 'chroot' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => array('' => 'None', 'jailkit' => 'Jailkit', 'ssh-chroot' => 'SSH Chroot')
+ ),
'quota_size' => array (
'datatype' => 'INTEGER',
'formtype' => 'TEXT',
diff --git a/interface/web/sites/lib/lang/en_shell_user.lng b/interface/web/sites/lib/lang/en_shell_user.lng
index 510ddd4..ef9ed88 100644
--- a/interface/web/sites/lib/lang/en_shell_user.lng
+++ b/interface/web/sites/lib/lang/en_shell_user.lng
@@ -9,6 +9,7 @@
$wb["parent_domain_id_txt"] = 'Site';
$wb["username_txt"] = 'Username';
$wb["password_txt"] = 'Password';
+$wb["chroot_txt"] = 'Chroot Shell';
$wb["quota_size_txt"] = 'Quota';
$wb["active_txt"] = 'Active';
$wb["username_error_empty"] = 'Username is empty.';
diff --git a/interface/web/sites/shell_user_edit.php b/interface/web/sites/shell_user_edit.php
index 633ef46..629977e 100644
--- a/interface/web/sites/shell_user_edit.php
+++ b/interface/web/sites/shell_user_edit.php
@@ -80,8 +80,9 @@
$dir = $web["document_root"];
$puser = $web["system_user"];
$pgroup = $web["system_group"];
+ $chroot = $web["chroot"];
- $sql = "UPDATE shell_user SET server_id = $server_id, dir = '$dir', puser = '$puser', pgroup = '$pgroup' WHERE shell_user_id = ".$this->id;
+ $sql = "UPDATE shell_user SET server_id = $server_id, dir = '$dir', puser = '$puser', pgroup = '$pgroup' chroot='$chroot' WHERE shell_user_id = ".$this->id;
$app->db->query($sql);
}
diff --git a/interface/web/sites/templates/shell_user_edit.htm b/interface/web/sites/templates/shell_user_edit.htm
index 16d2d97..5960efc 100644
--- a/interface/web/sites/templates/shell_user_edit.htm
+++ b/interface/web/sites/templates/shell_user_edit.htm
@@ -24,6 +24,14 @@
<td class="frmText11"><input name="password" type="password" class="text" value="{tmpl_var name='password'}" size="30" maxlength="255"></td>
</tr>
<tr>
+ <td class="frmText11">{tmpl_var name='chroot_txt'}:</td>
+ <td class="frmText11">
+ <select name="chroot" class="text">
+ {tmpl_var name='chroot'}
+ </select>
+ </td>
+ </tr>
+ <tr>
<td class="frmText11">{tmpl_var name='quota_size_txt'}:</td>
<td class="frmText11"><input name="quota_size" type="text" class="text" value="{tmpl_var name='quota_size'}" size="7" maxlength="7"></td>
</tr>
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 445f30e..98fcfd0 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -218,18 +218,17 @@
// Remove the symlink for the site, if site is renamed
if($this->action == 'update' && $data["old"]["domain"] != '' && $data["new"]["domain"] != $data["old"]["domain"]) {
- if(is_dir('/var/log/ispconfig/httpd/'.$data["old"]["domain"])) exec('rm -rf /var/log/ispconfig/httpd/'.$data["old"]["domain"]);
- if(is_link($data["old"]["document_root"]."/log")) unlink($data["old"]["document_root"]."/log");
+ if(is_dir($data["old"]["document_root"]."/log")) exec('rm -rf '.$data["old"]["document_root"]."/log");
+ if(is_link('/var/log/ispconfig/httpd/'.$data["old"]["domain"])) unlink('/var/log/ispconfig/httpd/'.$data["old"]["domain"]);
}
// Create the symlink for the logfiles
- if(!is_dir('/var/log/ispconfig/httpd/'.$data["new"]["domain"])) exec('mkdir -p /var/log/ispconfig/httpd/'.$data["new"]["domain"]);
- if(!is_link($data["new"]["document_root"]."/log")) {
- exec("ln -s /var/log/ispconfig/httpd/".$data["new"]["domain"]." ".$data["new"]["document_root"]."/log");
- $app->log("Creating Symlink: ln -s /var/log/ispconfig/httpd/".$data["new"]["domain"]." ".$data["new"]["document_root"]."/log",LOGLEVEL_DEBUG);
+ if(!is_dir($data["new"]["document_root"]."/log")) exec('mkdir -p '.$data["new"]["document_root"]."/log");
+ if(!is_link('/var/log/ispconfig/httpd/'.$data["new"]["domain"])) {
+ exec("ln -s ".$data["new"]["document_root"]."/log /var/log/ispconfig/httpd/".$data["new"]["domain"]);
+ $app->log("Creating Symlink: ln -s ".$data["new"]["document_root"]."/log /var/log/ispconfig/httpd/".$data["new"]["domain"],LOGLEVEL_DEBUG);
}
-
-
+
// Get the client ID
$client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE sys_group.groupid = ".intval($data["new"]["sys_groupid"]));
$client_id = intval($client["client_id"]);
@@ -462,6 +461,17 @@
$docroot = escapeshellcmd($data["old"]["document_root"]);
if($docroot != '' && !stristr($docroot,'..')) exec("rm -rf $docroot");
+
+ //remove the php fastgi starter script if available
+ if ($data["old"]["php"] == "fast-cgi")
+ {
+ $fastcgi_starter_path = str_replace("[system_user]",$data["old"]["system_user"],$web_config["fastcgi_starter_path"]);
+ if (is_dir($fastcgi_starter_path))
+ {
+ exec("rm -rf $fastcgi_starter_path");
+ }
+ }
+
$app->log("Removing website: $docroot",LOGLEVEL_DEBUG);
// Delete the symlinks for the sites
--
Gitblit v1.9.1