From 239490bd2aae216067a906aa3f4d5221917fa246 Mon Sep 17 00:00:00 2001
From: redray <redray@ispconfig3>
Date: Thu, 04 Dec 2008 12:12:33 -0500
Subject: [PATCH] corrected the install manula for ubuntu 8.04 lts

---
 install/lib/installer_base.lib.php |   58 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index e9a8dd8..d188758 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -119,7 +119,7 @@
 		
 		$cf = $conf['mysql']; // make $conf['mysql'] more accessible
 		//** Create the database
-		if(!$this->db->query('CREATE DATABASE IF NOT EXISTS '.$cf['database'])) {
+		if(!$this->db->query('CREATE DATABASE IF NOT EXISTS '.$cf['database'].' DEFAULT CHARACTER SET '.$cf['charset'])) {
 			$this->error('Unable to create MySQL database: '.$cf['database'].'.');
 		}
 		
@@ -132,10 +132,10 @@
 			$this->error('Stopped: Database already contains some tables.');
 		} else {
 			if($cf['admin_password'] == '') {
-				caselog("mysql -h '".$cf['host']."' -u '".$cf['admin_user']."' '".$cf['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null", 
+				caselog("mysql --default-character-set=".$cf['charset']." -h '".$cf['host']."' -u '".$cf['admin_user']."' '".$cf['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null", 
                         __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in ispconfig3.sql');
 			} else {
-				caselog("mysql -h '".$cf['host']."' -u '".$cf['admin_user']."' -p'".$cf['admin_password']."' '".$cf['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null", 
+				caselog("mysql --default-character-set=".$cf['charset']." -h '".$cf['host']."' -u '".$cf['admin_user']."' -p'".$cf['admin_password']."' '".$cf['database']."' < '".ISPC_INSTALL_ROOT."/install/sql/ispconfig3.sql' &> /dev/null", 
                         __FILE__, __LINE__, 'read in ispconfig3.sql', 'could not read in ispconfig3.sql');
 			}
 			$db_tables = $this->db->getTables();
@@ -292,8 +292,8 @@
 			'broken_sasl_auth_clients = yes',
 			'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:'.$config_dir.'/mysql-virtual_recipient.cf, reject_unauth_destination',
 			'smtpd_use_tls = yes',
-			'smtpd_tls_cert_file = '.$config_dir.'/smtpd.cert',
-			'smtpd_tls_key_file = '.$config_dir.'/smtpd.key',
+			'smtpd_tls_cert_file = '.$config_dir.'/ssl/smtpd.cert',
+			'smtpd_tls_key_file = '.$config_dir.'/ssl/smtpd.key',
 			'transport_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_transports.cf',
 			'relay_domains = mysql:'.$config_dir.'/mysql-virtual_relaydomains.cf',
 			'virtual_create_maildirsize = yes',
@@ -332,12 +332,13 @@
 		
 		if(!stristr($options,'dont-create-certs')) {
 			//* Create the SSL certificate
-			$command = 'cd '.$config_dir.'; '
+			$command = 'mkdir '.$config_dir.'/ssl; '
+                      .'cd '.$config_dir.'/ssl; '
                       .'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout '
                       .'smtpd.key -keyform PEM -days 365 -x509';
 			exec($command);
 		
-			$command = 'chmod o= '.$config_dir.'/smtpd.key';
+			$command = 'chmod o= '.$config_dir.'/ssl/smtpd.key';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
 		}
 		
@@ -832,12 +833,20 @@
          
         $content = rf("tpl/apache_ispconfig.vhost.master");
 		$content = str_replace('{vhost_port}', $conf['apache']['vhost_port'], $content);
+		
+		// comment out the listen directive if port is 80 or 443
+		if($conf['apache']['vhost_port'] == 80 or $conf['apache']['vhost_port'] == 443) {
+			$content = str_replace('{vhost_port_listen}', '#', $content);
+		} else {
+			$content = str_replace('{vhost_port_listen}', '', $content);
+		}
+		
 		wf("$vhost_conf_dir/ispconfig.vhost", $content);
 		
 		//copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost");
 		//* and create the symlink
 		if($this->install_ispconfig_interface == true) {
-			if(!@is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) unlink("$vhost_conf_enabled_dir/ispconfig.vhost");
+			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");
 			}
@@ -863,6 +872,7 @@
 		
 		//* Create the ispconfig log directory
 		if(!is_dir('/var/log/ispconfig')) mkdir('/var/log/ispconfig');
+		if(!is_file('/var/log/ispconfig/ispconfig.log')) exec('touch /var/log/ispconfig/ispconfig.log');
 		
 		
 	}
@@ -918,25 +928,27 @@
 		unlink('crontab.txt');
 		
 		//* Getmail crontab
-        $cf = $conf['getmail'];
-		exec('crontab -u getmail -l > crontab.txt');
-		$existing_cron_jobs = file('crontab.txt');
+		if(is_user('getmail')) {
+        	$cf = $conf['getmail'];
+			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');
 		
-		// remove existing ispconfig cronjobs, in case the syntax has changed
-		foreach($cron_jobs as $key => $val) {
-			if(stristr($val,$cf['program'])) unset($cron_jobs[$key]);
-		}
-		
-		foreach($cron_jobs as $cron_job) {
-			if(!in_array($cron_job."\n", $existing_cron_jobs)) {
-				$existing_cron_jobs[] = $cron_job."\n";
+			// remove existing ispconfig cronjobs, in case the syntax has changed
+			foreach($cron_jobs as $key => $val) {
+				if(stristr($val,$cf['program'])) unset($cron_jobs[$key]);
 			}
+		
+			foreach($cron_jobs as $cron_job) {
+				if(!in_array($cron_job."\n", $existing_cron_jobs)) {
+					$existing_cron_jobs[] = $cron_job."\n";
+				}
+			}
+			file_put_contents('crontab.txt', $existing_cron_jobs);
+			exec('crontab -u getmail crontab.txt &> /dev/null');
+			unlink('crontab.txt');
 		}
-		file_put_contents('crontab.txt', $existing_cron_jobs);
-		exec('crontab -u getmail crontab.txt &> /dev/null');
-		unlink('crontab.txt');
 	}
 	
 }

--
Gitblit v1.9.1