From e7fe9ff29a7a65fd09510ea785ce7668b8a95c78 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sat, 27 Dec 2008 07:33:17 -0500
Subject: [PATCH] Fixed: Username will be empty in sys_user when a tab is changed in client form.
---
install/lib/installer_base.lib.php | 40 +++++++++++++++++++++++++++++++---------
1 files changed, 31 insertions(+), 9 deletions(-)
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index d33b304..1933336 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -35,7 +35,7 @@
var $db;
public $conf;
public $install_ispconfig_interface = true;
-
+ public $is_update = false; // true if it is an update, falsi if it is a new install
public function __construct()
@@ -227,18 +227,24 @@
//* insert the ispconfig user in the remote server
$from_host = $conf['hostname'];
+ $from_ip = gethostbyname($conf['hostname']);
//* username for the ispconfig user
$conf['mysql']['master_ispconfig_user'] = 'ispconfigserver'.$conf['server_id'];
- //* Delete ISPConfig user in the local database, in case that it exists
+ //* Delete ISPConfig user in the master database, in case that it exists
$this->dbmaster->query("DELETE FROM mysql.user WHERE User = '".$conf['mysql']['master_ispconfig_user']."' AND Host = '".$from_host."';");
$this->dbmaster->query("DELETE FROM mysql.db WHERE Db = '".$conf['mysql']['master_database']."' AND Host = '".$from_host."';");
+ $this->dbmaster->query("DELETE FROM mysql.user WHERE User = '".$conf['mysql']['master_ispconfig_user']."' AND Host = '".$from_ip."';");
+ $this->dbmaster->query("DELETE FROM mysql.db WHERE Db = '".$conf['mysql']['master_database']."' AND Host = '".$from_ip."';");
$this->dbmaster->query('FLUSH PRIVILEGES;');
//* Create the ISPConfig database user in the local database
$query = 'GRANT SELECT, INSERT, UPDATE, DELETE ON '.$conf['mysql']['master_database'].".* "
."TO '".$conf['mysql']['master_ispconfig_user']."'@'".$from_host."' "
+ ."IDENTIFIED BY '".$conf['mysql']['master_ispconfig_password']."';";
+ $query = 'GRANT SELECT, INSERT, UPDATE, DELETE ON '.$conf['mysql']['master_database'].".* "
+ ."TO '".$conf['mysql']['master_ispconfig_user']."'@'".$from_ip."' "
."IDENTIFIED BY '".$conf['mysql']['master_ispconfig_password']."';";
if(!$this->dbmaster->query($query)) {
$this->error('Unable to create database user in master database: '.$conf['mysql']['master_ispconfig_user'].' Error: '.$this->dbmaster->errorMessage);
@@ -693,6 +699,15 @@
replaceLine('/etc/suphp/suphp.conf','docroot=','docroot=/var/clients',0);
}
+ //* Copy the ISPConfig configuration include
+ $vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
+ $vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
+
+ copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
+ if(!@is_link($vhost_conf_enabled_dir."/000-ispconfig.conf")) {
+ exec("ln -s ".$vhost_conf_dir."/ispconfig.conf ".$vhost_conf_enabled_dir."/000-ispconfig.conf");
+ }
+
}
public function configure_firewall()
@@ -722,6 +737,12 @@
$tcp_public_services = '21 22 25 53 80 110 443 3306 8080 10000';
$udp_public_services = '53';
}
+
+ if(!stristr($tcp_public_services, $conf['apache']['vhost_port'])) {
+ $tcp_public_services .= ' '.intval($conf['apache']['vhost_port']);
+ if($row["tcp_port"] != '') $this->db->query("UPDATE firewall SET tcp_port = tcp_port + ',".intval($conf['apache']['vhost_port'])."' WHERE server_id = ".intval($conf['server_id']));
+ }
+
$content = str_replace("{TCP_PUBLIC_SERVICES}", $tcp_public_services, $content);
$content = str_replace("{UDP_PUBLIC_SERVICES}", $udp_public_services, $content);
@@ -854,7 +875,7 @@
include_once($install_dir.'/server/plugins-available/'.$file);
$plugin_name = substr($file,0,-8);
$tmp = new $plugin_name;
- if($tmp->onInstall()) {
+ if(method_exists($tmp,'onInstall') && $tmp->onInstall()) {
if(!@is_link($install_dir.'/server/plugins-enabled/'.$file)) @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-enabled/'.$file);
if (strpos($file, '_core_plugin') !== false) {
if(!@is_link($install_dir.'/server/plugins-core/'.$file)) @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-core/'.$file);
@@ -878,6 +899,7 @@
if($conf['mysql']['master_slave_setup'] == 'y') {
$this->dbmaster->query($sql);
+ $this->db->query($sql);
} else {
$this->db->query($sql);
}
@@ -932,13 +954,11 @@
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
//* Copy the ISPConfig vhost for the controlpanel
- // TODO: These are missing! should they be "vhost_dist_*_dir" ?
$vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
$vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
// Dont just copy over the virtualhost template but add some custom settings
-
$content = rf("tpl/apache_ispconfig.vhost.master");
$content = str_replace('{vhost_port}', $conf['apache']['vhost_port'], $content);
@@ -953,7 +973,7 @@
//copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost");
//* and create the symlink
- if($this->install_ispconfig_interface == true) {
+ if($this->install_ispconfig_interface == true && $this->is_update == false) {
if(@is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) unlink("$vhost_conf_enabled_dir/ispconfig.vhost");
if(!@is_link("$vhost_conf_enabled_dir/000-ispconfig.vhost")) {
exec("ln -s $vhost_conf_dir/ispconfig.vhost $vhost_conf_enabled_dir/000-ispconfig.vhost");
@@ -1023,8 +1043,8 @@
}
$root_cron_jobs = array(
- '* * * * * /usr/local/ispconfig/server/server.sh > /dev/null',
- '30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null'
+ '* * * * * /usr/local/ispconfig/server/server.sh > /dev/null 2>> /var/log/ispconfig/cron.log',
+ '30 00 * * * /usr/local/ispconfig/server/cron_daily.sh > /dev/null 2>> /var/log/ispconfig/cron.log'
);
foreach($root_cron_jobs as $cron_job) {
if(!in_array($cron_job."\n", $existing_root_cron_jobs)) {
@@ -1041,7 +1061,9 @@
exec('crontab -u getmail -l > crontab.txt');
$existing_cron_jobs = file('crontab.txt');
- $cron_jobs = array('*/5 * * * * '.$cf['program'].' -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null');
+ $cron_jobs = array(
+ '*/5 * * * * '.$cf['program'].' -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null 2>> /var/log/ispconfig/cron.log'
+ );
// remove existing ispconfig cronjobs, in case the syntax has changed
foreach($cron_jobs as $key => $val) {
--
Gitblit v1.9.1