From a73335376ec33249486e9c38dd890043ecd3ae30 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Mon, 08 Jun 2009 16:22:27 -0400 Subject: [PATCH] Added: vlogger mysql usage to store traffic reports Added: interface module web traffic statistics Fixed: mail_traffic is now reported to master server instead of local Fixed: GRANTs for slave server database user on master database --- install/lib/installer_base.lib.php | 42 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 41 insertions(+), 1 deletions(-) diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index d68a208..527a6e6 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -318,6 +318,21 @@ if(!$this->dbmaster->query($query)) { $this->error('Unable to create database user in master database: '.$conf['mysql']['master_ispconfig_user'].' Error: '.$this->dbmaster->errorMessage); } + + $query = "GRANT SELECT, INSERT, UPDATE ON ".$conf['mysql']['master_database'].".`mail_traffic` " + ."TO '".$conf['mysql']['master_ispconfig_user']."'@'".$src_host."' " + ."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); + } + + $query = "GRANT SELECT, INSERT, UPDATE ON ".$conf['mysql']['master_database'].".`web_traffic` " + ."TO '".$conf['mysql']['master_ispconfig_user']."'@'".$src_host."' " + ."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); + } + } } @@ -856,7 +871,32 @@ } - + public function configure_vlogger() + { + global $conf; + + //** Configure vlogger to use traffic logging to mysql (master) db + $configfile = 'vlogger-dbi.conf'; + if(is_file($conf["vlogger"]["config_dir"].'/'.$configfile)) copy($conf["vlogger"]["config_dir"].'/'.$configfile,$conf["vlogger"]["config_dir"].'/'.$configfile.'~'); + if(is_file($conf["vlogger"]["config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["vlogger"]["config_dir"].'/'.$configfile.'~'); + $content = rf("tpl/".$configfile.".master"); + if($conf['mysql']['master_slave_setup'] == 'y') { + $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['master_ispconfig_user'],$content); + $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['master_ispconfig_password'], $content); + $content = str_replace('{mysql_server_database}',$conf['mysql']['master_database'],$content); + $content = str_replace('{mysql_server_ip}',$conf["mysql"]["master_host"],$content); + } else { + $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content); + $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content); + $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content); + $content = str_replace('{mysql_server_ip}',$conf["mysql"]["host"],$content); + } + wf($conf["vlogger"]["config_dir"].'/'.$configfile,$content); + exec('chmod 600 '.$conf["vlogger"]["config_dir"].'/'.$configfile); + exec('chown root:root '.$conf["vlogger"]["config_dir"].'/'.$configfile); + + } + public function install_ispconfig() { global $conf; -- Gitblit v1.9.1