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