From d46d3709a227915f8649bca7f4162ff66a83da41 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 10 Jun 2010 10:27:12 -0400
Subject: [PATCH] Updated version number to 3.0.2.2

---
 install/install.php |  156 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 112 insertions(+), 44 deletions(-)

diff --git a/install/install.php b/install/install.php
index 62676e7..7e133ce 100644
--- a/install/install.php
+++ b/install/install.php
@@ -53,6 +53,12 @@
 //** Include the base class of the installer class
 require_once('lib/installer_base.lib.php');
 
+//** Ensure that current working directory is install directory
+$cur_dir = getcwd();
+if(realpath(dirname(__FILE__)) != $cur_dir) {
+	chdir( realpath(dirname(__FILE__)) );
+}
+
 //** Install logfile
 define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log');
 define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../'));
@@ -89,6 +95,10 @@
 	die('This software can not be installed on a server wich runs ISPConfig 2.x.');
 }
 
+if(is_dir('/usr/local/ispconfig')) {
+	die('ISPConfig 3 installation found. Please use update.php instead if install.php to update the installation.');
+}
+
 //** Detect the installed applications
 $inst->find_installed_apps();
 
@@ -104,6 +114,9 @@
 exec('hostname -f', $tmp_out);
 $conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg server1.domain.tld ', $tmp_out[0]);
 unset($tmp_out);
+
+// Check if the mysql functions are loaded in PHP
+if(!function_exists('mysql_connect')) die('No PHP mysql functions available. Please ensure that the PHP mysql module is loaded.');
 
 //** Get MySQL root credentials
 $finished = false;
@@ -129,7 +142,9 @@
 unset($finished);
 
 // Resolve the IP address of the mysql hostname.
-if(!$conf['mysql']['ip'] = gethostbyname($conf['mysql']['host'])) die('Unable to resolve hostname'.$conf['mysql']['host']);
+$tmp = explode(':',$conf['mysql']['host']);
+if(!$conf['mysql']['ip'] = gethostbyname($tmp[0])) die('Unable to resolve hostname'.$tmp[0]);
+unset($tmp);
 
 
 //** initializing database connection
@@ -151,18 +166,24 @@
 	//* Configure jailkit
 	swriteln('Configuring Jailkit');
 	$inst->configure_jailkit();
+	
+	if($conf['dovecot']['installed'] == true) {
+		//* Configure dovecot
+		swriteln('Configuring Dovecot');
+		$inst->configure_dovecot();
+	} else {
+		//* Configure saslauthd
+		swriteln('Configuring SASL');
+		$inst->configure_saslauthd();
 
-	//* Configure saslauthd
-	swriteln('Configuring SASL');
-	$inst->configure_saslauthd();
-
-	//* Configure PAM
-	swriteln('Configuring PAM');
-	$inst->configure_pam();
-
-	//* Configure courier
-	swriteln('Configuring Courier');
-	$inst->configure_courier();
+		//* Configure PAM
+		swriteln('Configuring PAM');
+		$inst->configure_pam();
+		
+		//* Configure courier
+		swriteln('Configuring Courier');
+		$inst->configure_courier();
+	}
 
 	//* Configure Spamasassin
 	swriteln('Configuring Spamassassin');
@@ -181,14 +202,30 @@
 	swriteln('Configuring Pureftpd');
 	$inst->configure_pureftpd();
 
-	//* Configure MyDNS
-	swriteln('Configuring MyDNS');
-	$inst->configure_mydns();
+	//* Configure DNS
+	if($conf['powerdns']['installed'] == true) {
+		swriteln('Configuring PowerDNS');
+		$inst->configure_powerdns();
+	} elseif($conf['bind']['installed'] == true) {
+		swriteln('Configuring BIND');
+		$inst->configure_bind();
+	} else {
+		swriteln('Configuring MyDNS');
+		$inst->configure_mydns();
+	}
 	
 	//* Configure Apache
 	swriteln('Configuring Apache');
 	$inst->configure_apache();
 	
+    //** Configure vlogger
+    swriteln('Configuring vlogger');
+    $inst->configure_vlogger();
+	
+	//** Configure apps vhost
+	swriteln('Configuring Apps vhost');
+	$inst->configure_apps_vhost();
+    
 	//* Configure Firewall
 	swriteln('Configuring Firewall');
 	$inst->configure_firewall();
@@ -210,19 +247,22 @@
 	$inst->install_crontab();
 	
 	swriteln('Restarting services ...');
-	if($conf['mysql']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mysql']['init_script']))					system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
-	if($conf['postfix']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['postfix']['init_script']))				system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
-	if($conf['saslauthd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['saslauthd']['init_script']))			system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
-	if($conf['amavis']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['amavis']['init_script']))					system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
-	if($conf['clamav']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['clamav']['init_script']))					system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
-	if($conf['courier']['courier-authdaemon'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
-	if($conf['courier']['courier-imap'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) 			system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
-	if($conf['courier']['courier-imap-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) 	system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
-	if($conf['courier']['courier-pop'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) 				system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
-	if($conf['courier']['courier-pop-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) 		system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
-	if($conf['apache']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['apache']['init_script'])) 				system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
-	if($conf['pureftpd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['pureftpd']['init_script']))				system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
-	if($conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script']))					system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+	if($conf['mysql']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mysql']['init_script']))					system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
+	if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script']))				system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
+	if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script']))			system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
+	if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script']))					system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
+	if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script']))					system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
+	if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
+	if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) 			system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
+	if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) 	system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
+	if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) 				system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
+	if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) 		system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
+	if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) 		system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
+	if($conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) 				system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
+	if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script']))				system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
+	if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script']))					system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+	if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script']))					system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
+	if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script']))					system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
 	
 }else{
 	
@@ -290,18 +330,25 @@
 		//* Configure Postfix
 		swriteln('Configuring Postfix');
 		$inst->configure_postfix();
-		
-		//* Configure saslauthd
-		swriteln('Configuring SASL');
-		$inst->configure_saslauthd();
-		
-		//* Configure PAM
-		swriteln('Configuring PAM');
-		$inst->configure_pam();
 
-		//* Configure courier
-		swriteln('Configuring Courier');
-		$inst->configure_courier();
+		if($conf['dovecot']['installed'] == true) {
+			//* Configure dovecot
+			swriteln('Configuring Dovecot');
+			$inst->configure_dovecot();
+		} else {
+		
+			//* Configure saslauthd
+			swriteln('Configuring SASL');
+			$inst->configure_saslauthd();
+		
+			//* Configure PAM
+			swriteln('Configuring PAM');
+			$inst->configure_pam();
+			
+			//* Configure courier
+			swriteln('Configuring Courier');
+			$inst->configure_courier();
+		}
 
 		//* Configure Spamasassin
 		swriteln('Configuring Spamassassin');
@@ -324,6 +371,7 @@
 		if($conf['courier']['courier-imap-ssl'] != '') 		system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
 		if($conf['courier']['courier-pop'] != '') 			system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
 		if($conf['courier']['courier-pop-ssl'] != '') 		system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
+		if($conf['dovecot']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) 		system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
 	}
 	
 	//** Configure Jailkit
@@ -339,20 +387,40 @@
 		if($conf['pureftpd']['init_script'] != '') system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
 	}
 	
-	//** Configure MyDNS
+	//** Configure DNS
 	if(strtolower($inst->simple_query('Configure DNS Server',array('y','n'),'y')) == 'y') {
 		$conf['services']['dns'] = true;
-		swriteln('Configuring MyDNS');
-		$inst->configure_mydns();
-		if($conf['mydns']['init_script'] != '')	system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+		//* Configure DNS
+		if($conf['powerdns']['installed'] == true) {
+			swriteln('Configuring PowerDNS');
+			$inst->configure_powerdns();
+			if($conf['powerdns']['init_script'] != '')	system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
+		} elseif($conf['bind']['installed'] == true) {
+			swriteln('Configuring BIND');
+			$inst->configure_bind();
+			if($conf['bind']['init_script'] != '')	system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
+		} else {
+			swriteln('Configuring MyDNS');
+			$inst->configure_mydns();
+			if($conf['mydns']['init_script'] != '')	system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
+		}
+		
 	}
 	
 	//** Configure Apache
-	swriteln("\nHint: If this server shall run the ispconfig interface, select 'y' in the next option.\n");
+	swriteln("\nHint: If this server shall run the ispconfig interface, select 'y' in the 'Configure Apache Server' option.\n");
 	if(strtolower($inst->simple_query('Configure Apache Server',array('y','n'),'y')) == 'y') {	
 		$conf['services']['web'] = true;
 		swriteln('Configuring Apache');
 		$inst->configure_apache();
+        
+        //** Configure vlogger
+        swriteln('Configuring vlogger');
+        $inst->configure_vlogger();
+		
+		//** Configure apps vhost
+		swriteln('Configuring Apps vhost');
+		$inst->configure_apps_vhost();
 	}
 	
 	//** Configure Firewall

--
Gitblit v1.9.1