From 5734aa4561e8b6027bdecabdc795432fb3cc024e Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 27 Oct 2009 11:35:37 -0400
Subject: [PATCH] Updated apacheChanged apache_ispconfig.conf.master template to allow access to phpmyadmin and squirrelmail in redhat based distributions.

---
 install/lib/installer_base.lib.php |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 55b82fb..f489e08 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -127,6 +127,7 @@
 		if(is_installed('pure-ftpd') || is_installed('pure-ftpd-wrapper')) $conf['pureftpd']['installed'] = true;
 		if(is_installed('mydns') || is_installed('mydns-ng')) $conf['mydns']['installed'] = true;
 		if(is_installed('jk_chrootsh')) $conf['jailkit']['installed'] = true;
+		if(is_installed('pdns_server') || is_installed('pdns_control')) $conf['powerdns']['installed'] = true;
 		
 		
 	}
@@ -775,6 +776,50 @@
 	
 	}
 	
+	public function configure_powerdns() {
+		global $conf;
+		
+		//* Create the database
+		if(!$this->db->query('CREATE DATABASE IF NOT EXISTS '.$conf['powerdns']['database'].' DEFAULT CHARACTER SET '.$conf['mysql']['charset'])) {
+			$this->error('Unable to create MySQL database: '.$conf['powerdns']['database'].'.');
+		}
+		
+		//* Create the ISPConfig database user in the local database
+        $query = "GRANT ALL ON `".$conf['powerdns']['database']."` . * TO '".$conf['mysql']['ispconfig_user']."'@'localhost';";
+		if(!$this->db->query($query)) {
+			$this->error('Unable to create user for powerdns database Error: '.$this->db->errorMessage);
+		}
+		
+		//* Reload database privelages
+		$this->db->query('FLUSH PRIVILEGES;');
+		
+		//* load the powerdns databse dump
+		if($conf['mysql']['admin_password'] == '') {
+			caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", 
+                    __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql');
+		} else {
+			caselog("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' '".$conf['powerdns']['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/powerdns.sql' &> /dev/null", 
+                     __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in powerdns.sql');
+		}
+		
+		//* Create the powerdns config file
+		$configfile = 'pdns.local';
+		if(is_file($conf["powerdns"]["config_dir"].'/'.$configfile)) copy($conf["powerdns"]["config_dir"].'/'.$configfile,$conf["powerdns"]["config_dir"].'/'.$configfile.'~');
+		if(is_file($conf["powerdns"]["config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["powerdns"]["config_dir"].'/'.$configfile.'~');
+		$content = rf("tpl/".$configfile.".master");
+		$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('{powerdns_database}',$conf['powerdns']['database'],$content);
+		$content = str_replace('{mysql_server_host}',$conf["mysql"]["host"],$content);
+		wf($conf["powerdns"]["config_dir"].'/'.$configfile,$content);
+		exec('chmod 600 '.$conf["powerdns"]["config_dir"].'/'.$configfile);
+		exec('chown root:root '.$conf["powerdns"]["config_dir"].'/'.$configfile);
+		
+		
+	}
+	
+	
+	
 	public function configure_apache()
     {	
 		global $conf;
@@ -807,7 +852,7 @@
 		
 		$content = rf("tpl/apache_ispconfig.conf.master");
 		$records = $this->db->queryAllRecords("SELECT * FROM server_ip WHERE server_id = ".$conf["server_id"]." AND virtualhost = 'y'");
-		if(count($records) > 0) {
+		if(is_array($records) && count($records) > 0) {
 			foreach($records as $rec) {
 				$content .= "NameVirtualHost ".$rec["ip_address"].":80\n";
 				$content .= "NameVirtualHost ".$rec["ip_address"].":443\n";
@@ -828,9 +873,9 @@
 		
 		if(is_file('/etc/webalizer/webalizer.conf')) {
 			// Change webalizer mode to incremental
-			replaceLine('/etc/webalizer/webalizer.conf','Incremental     no','Incremental     yes',0,0);
-			replaceLine('/etc/webalizer/webalizer.conf','IncrementalName webalizer.current','IncrementalName webalizer.current',0,0);
-			replaceLine('/etc/webalizer/webalizer.conf','HistoryName     webalizer.hist','HistoryName     webalizer.hist',0,0);
+			replaceLine('/etc/webalizer/webalizer.conf','#IncrementalName','IncrementalName webalizer.current',0,0);
+			replaceLine('/etc/webalizer/webalizer.conf','#Incremental','Incremental     yes',0,0);
+			replaceLine('/etc/webalizer/webalizer.conf','#HistoryName','HistoryName     webalizer.hist',0,0);
 		}
 		
 		//* add a sshusers group

--
Gitblit v1.9.1