From 0a1f027bd9b71d618376e1365c35d95d97b15782 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 07 Dec 2008 10:32:29 -0500
Subject: [PATCH] - Detect installed services - Update server.ini during install - Changed default vmail directory form /home/vmail to /var/vmail

---
 install/install.php                          |   16 +++++
 install/lib/installer_base.lib.php           |   43 ++++++++++++--
 install/lib/install.lib.php                  |    9 +++
 install/dist/conf/fedora9.conf.php           |   19 ++++++
 install/dist/conf/opensuse110.conf.php       |   19 ++++++
 install/dist/conf/debian40.conf.php          |   19 ++++++
 install/update.php                           |    3 +
 server/plugins-available/mail_plugin.inc.php |    2 
 install/tpl/server.ini.master                |    4 
 install/dist/conf/centos52.conf.php          |   21 ++++++
 10 files changed, 144 insertions(+), 11 deletions(-)

diff --git a/install/dist/conf/centos52.conf.php b/install/dist/conf/centos52.conf.php
index 21752c2..5b1a87d 100644
--- a/install/dist/conf/centos52.conf.php
+++ b/install/dist/conf/centos52.conf.php
@@ -44,7 +44,16 @@
 $conf['cron_tab'] = '/var/spool/cron/root';
 $conf['pam'] = '/etc/pam.d';
 
+//* Services provided by this server, this selection will be overridden by the expert mode
+$conf['services']['mail'] = true;
+$conf['services']['web'] = true;
+$conf['services']['dns'] = true;
+$conf['services']['file'] = true;
+$conf['services']['db'] = true;
+$conf['services']['vserver'] = true;
+
 //* MySQL
+$conf['mysql']['installed'] = false; // will be detected automatically during installation
 $conf['mysql']['init_script'] = 'mysqld';
 $conf['mysql']['host'] = 'localhost';
 $conf['mysql']['ip'] = '127.0.0.1';
@@ -64,6 +73,7 @@
 $conf['mysql']['master_ispconfig_password'] = md5 (uniqid (rand()));
 
 //* Apache
+$conf['apache']['installed'] = false; // will be detected automatically during installation
 $conf['apache']['user'] = 'apache';
 $conf['apache']['group'] = 'apache';
 $conf['apache']['init_script'] = 'httpd';
@@ -73,6 +83,7 @@
 $conf['apache']['vhost_port'] = '8080';
 
 //* Postfix
+$conf['postfix']['installed'] = false; // will be detected automatically during installation
 $conf['postfix']['config_dir'] = '/etc/postfix';
 $conf['postfix']['init_script'] = 'postfix';
 $conf['postfix']['user'] = 'postfix';
@@ -81,13 +92,15 @@
 $conf['postfix']['vmail_username'] = 'vmail';
 $conf['postfix']['vmail_groupid'] = '5000';
 $conf['postfix']['vmail_groupname'] = 'vmail';
-$conf['postfix']['vmail_mailbox_base'] = '/home/vmail';
+$conf['postfix']['vmail_mailbox_base'] = '/var/vmail';
 
 //* Getmail
+$conf['getmail']['installed'] = false; // will be detected automatically during installation
 $conf['getmail']['config_dir'] = '/etc/getmail';
 $conf['getmail']['program'] = '/usr/bin/getmail';
 
 //* Courier
+$conf['courier']['installed'] = false; // will be detected automatically during installation
 $conf['courier']['config_dir'] = '/etc/authlib';
 $conf['courier']['courier-authdaemon'] = 'courier-authlib';
 $conf['courier']['courier-imap'] = 'courier-imap';
@@ -96,25 +109,31 @@
 $conf['courier']['courier-pop-ssl'] = '';
 
 //* SASL
+$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
 $conf['saslauthd']['config'] = '/etc/sysconfig/saslauthd';
 $conf['saslauthd']['init_script'] = 'saslauthd';
 
 //* Amavisd
+$conf['amavis']['installed'] = false; // will be detected automatically during installation
 $conf['amavis']['config_dir'] = '/etc/amavisd';
 $conf['amavis']['init_script'] = 'amavisd';
 
 //* ClamAV
+$conf['clamav']['installed'] = false; // will be detected automatically during installation
 $conf['clamav']['init_script'] = 'clamd';
 
 //* Pureftpd
+$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
 $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
 $conf['pureftpd']['init_script'] = 'pure-ftpd';
 
 //* MyDNS
+$conf['mydns']['installed'] = false; // will be detected automatically during installation
 $conf['mydns']['config_dir'] = '/etc';
 $conf['mydns']['init_script'] = 'mydns';
 
 //* Jailkit
+$conf['jailkit']['installed'] = false; // will be detected automatically during installation
 $conf['jailkit']['config_dir'] = '/etc/jailkit';
 $conf['jailkit']['jk_init'] = 'jk_init.ini';
 $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
diff --git a/install/dist/conf/debian40.conf.php b/install/dist/conf/debian40.conf.php
index 9d69220..76d850a 100644
--- a/install/dist/conf/debian40.conf.php
+++ b/install/dist/conf/debian40.conf.php
@@ -44,7 +44,16 @@
 $conf['cron_tab'] = '/var/spool/cron/crontabs/root';
 $conf['pam'] = '/etc/pam.d';
 
+//* Services provided by this server, this selection will be overridden by the expert mode
+$conf['services']['mail'] = true;
+$conf['services']['web'] = true;
+$conf['services']['dns'] = true;
+$conf['services']['file'] = true;
+$conf['services']['db'] = true;
+$conf['services']['vserver'] = true;
+
 //* MySQL
+$conf['mysql']['installed'] = false; // will be detected automatically during installation
 $conf['mysql']['init_script'] = 'mysql';
 $conf['mysql']['host'] = 'localhost';
 $conf['mysql']['ip'] = '127.0.0.1';
@@ -64,6 +73,7 @@
 $conf['mysql']['master_ispconfig_password'] = md5 (uniqid (rand()));
 
 //* Apache
+$conf['apache']['installed'] = false; // will be detected automatically during installation
 $conf['apache']['user'] = 'www-data';
 $conf['apache']['group'] = 'www-data';
 $conf['apache']['init_script'] = 'apache2';
@@ -73,6 +83,7 @@
 $conf['apache']['vhost_port'] = '8080';
 
 //* Postfix
+$conf['postfix']['installed'] = false; // will be detected automatically during installation
 $conf['postfix']['config_dir'] = '/etc/postfix';
 $conf['postfix']['init_script'] = 'postfix';
 $conf['postfix']['user'] = 'postfix';
@@ -84,10 +95,12 @@
 $conf['postfix']['vmail_mailbox_base'] = '/home/vmail';
 
 //* Getmail
+$conf['getmail']['installed'] = false; // will be detected automatically during installation
 $conf['getmail']['config_dir'] = '/etc/getmail';
 $conf['getmail']['program'] = '/usr/bin/getmail';
 
 //* Courier
+$conf['courier']['installed'] = false; // will be detected automatically during installation
 $conf['courier']['config_dir'] = '/etc/courier';
 $conf['courier']['courier-authdaemon'] = 'courier-authdaemon';
 $conf['courier']['courier-imap'] = 'courier-imap';
@@ -96,25 +109,31 @@
 $conf['courier']['courier-pop-ssl'] = 'courier-pop-ssl';
 
 //* SASL
+$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
 $conf['saslauthd']['config'] = '/etc/default/saslauthd';
 $conf['saslauthd']['init_script'] = 'saslauthd';
 
 //* Amavisd
+$conf['amavis']['installed'] = false; // will be detected automatically during installation
 $conf['amavis']['config_dir'] = '/etc/amavis';
 $conf['amavis']['init_script'] = 'amavis';
 
 //* ClamAV
+$conf['clamav']['installed'] = false; // will be detected automatically during installation
 $conf['clamav']['init_script'] = 'clamav-daemon';
 
 //* Pureftpd
+$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
 $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
 $conf['pureftpd']['init_script'] = 'pure-ftpd-mysql';
 
 //* MyDNS
+$conf['mydns']['installed'] = false; // will be detected automatically during installation
 $conf['mydns']['config_dir'] = '/etc';
 $conf['mydns']['init_script'] = 'mydns';
 
 //* Jailkit
+$conf['jailkit']['installed'] = false; // will be detected automatically during installation
 $conf['jailkit']['config_dir'] = '/etc/jailkit';
 $conf['jailkit']['jk_init'] = 'jk_init.ini';
 $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
diff --git a/install/dist/conf/fedora9.conf.php b/install/dist/conf/fedora9.conf.php
index 275584b..2800668 100644
--- a/install/dist/conf/fedora9.conf.php
+++ b/install/dist/conf/fedora9.conf.php
@@ -44,7 +44,16 @@
 $conf['cron_tab'] = '/var/spool/cron/root';
 $conf['pam'] = '/etc/pam.d';
 
+//* Services provided by this server, this selection will be overridden by the expert mode
+$conf['services']['mail'] = true;
+$conf['services']['web'] = true;
+$conf['services']['dns'] = true;
+$conf['services']['file'] = true;
+$conf['services']['db'] = true;
+$conf['services']['vserver'] = true;
+
 //* MySQL
+$conf['mysql']['installed'] = false; // will be detected automatically during installation
 $conf['mysql']['init_script'] = 'mysqld';
 $conf['mysql']['host'] = 'localhost';
 $conf['mysql']['ip'] = '127.0.0.1';
@@ -64,6 +73,7 @@
 $conf['mysql']['master_ispconfig_password'] = md5 (uniqid (rand()));
 
 //* Apache
+$conf['apache']['installed'] = false; // will be detected automatically during installation
 $conf['apache']['user'] = 'apache';
 $conf['apache']['group'] = 'apache';
 $conf['apache']['init_script'] = 'httpd';
@@ -73,6 +83,7 @@
 $conf['apache']['vhost_port'] = '8080';
 
 //* Postfix
+$conf['postfix']['installed'] = false; // will be detected automatically during installation
 $conf['postfix']['config_dir'] = '/etc/postfix';
 $conf['postfix']['init_script'] = 'postfix';
 $conf['postfix']['user'] = 'postfix';
@@ -84,10 +95,12 @@
 $conf['postfix']['vmail_mailbox_base'] = '/home/vmail';
 
 //* Getmail
+$conf['getmail']['installed'] = false; // will be detected automatically during installation
 $conf['getmail']['config_dir'] = '/etc/getmail';
 $conf['getmail']['program'] = '/usr/bin/getmail';
 
 //* Courier
+$conf['courier']['installed'] = false; // will be detected automatically during installation
 $conf['courier']['config_dir'] = '/etc/authlib';
 $conf['courier']['courier-authdaemon'] = 'courier-authlib';
 $conf['courier']['courier-imap'] = 'courier-imap';
@@ -96,25 +109,31 @@
 $conf['courier']['courier-pop-ssl'] = 'courier-imap';
 
 //* SASL
+$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
 $conf['saslauthd']['config'] = '/etc/sysconfig/saslauthd';
 $conf['saslauthd']['init_script'] = 'saslauthd';
 
 //* Amavisd
+$conf['amavis']['installed'] = false; // will be detected automatically during installation
 $conf['amavis']['config_dir'] = '/etc/amavisd';
 $conf['amavis']['init_script'] = 'amavisd';
 
 //* ClamAV
+$conf['clamav']['installed'] = false; // will be detected automatically during installation
 $conf['clamav']['init_script'] = 'clamd.amavisd';
 
 //* Pureftpd
+$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
 $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
 $conf['pureftpd']['init_script'] = 'pure-ftpd';
 
 //* MyDNS
+$conf['mydns']['installed'] = false; // will be detected automatically during installation
 $conf['mydns']['config_dir'] = '/etc';
 $conf['mydns']['init_script'] = 'mydns';
 
 //* Jailkit
+$conf['jailkit']['installed'] = false; // will be detected automatically during installation
 $conf['jailkit']['config_dir'] = '/etc/jailkit';
 $conf['jailkit']['jk_init'] = 'jk_init.ini';
 $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
diff --git a/install/dist/conf/opensuse110.conf.php b/install/dist/conf/opensuse110.conf.php
index ddd02b2..66ba7c2 100644
--- a/install/dist/conf/opensuse110.conf.php
+++ b/install/dist/conf/opensuse110.conf.php
@@ -44,7 +44,16 @@
 $conf['cron_tab'] = '/var/spool/cron/tabs/root';
 $conf['pam'] = '/etc/pam.d';
 
+//* Services provided by this server, this selection will be overridden by the expert mode
+$conf['services']['mail'] = true;
+$conf['services']['web'] = true;
+$conf['services']['dns'] = true;
+$conf['services']['file'] = true;
+$conf['services']['db'] = true;
+$conf['services']['vserver'] = true;
+
 //* MySQL
+$conf['mysql']['installed'] = false; // will be detected automatically during installation
 $conf['mysql']['init_script'] = 'mysql';
 $conf['mysql']['host'] = 'localhost';
 $conf['mysql']['ip'] = '127.0.0.1';
@@ -64,6 +73,7 @@
 $conf['mysql']['master_ispconfig_password'] = md5 (uniqid (rand()));
 
 //* Apache
+$conf['apache']['installed'] = false; // will be detected automatically during installation
 $conf['apache']['user'] = 'wwwrun';
 $conf['apache']['group'] = 'www';
 $conf['apache']['init_script'] = 'apache2';
@@ -73,6 +83,7 @@
 $conf['apache']['vhost_port'] = '8080';
 
 //* Postfix
+$conf['postfix']['installed'] = false; // will be detected automatically during installation
 $conf['postfix']['config_dir'] = '/etc/postfix';
 $conf['postfix']['init_script'] = 'postfix';
 $conf['postfix']['user'] = 'postfix';
@@ -84,10 +95,12 @@
 $conf['postfix']['vmail_mailbox_base'] = '/home/vmail';
 
 //* Getmail
+$conf['getmail']['installed'] = false; // will be detected automatically during installation
 $conf['getmail']['config_dir'] = '/etc/getmail';
 $conf['getmail']['program'] = '/usr/bin/getmail';
 
 //* Courier
+$conf['courier']['installed'] = false; // will be detected automatically during installation
 $conf['courier']['config_dir'] = '/etc/authlib';
 $conf['courier']['courier-authdaemon'] = 'courier-authdaemon';
 $conf['courier']['courier-imap'] = 'courier-imap';
@@ -96,25 +109,31 @@
 $conf['courier']['courier-pop-ssl'] = 'courier-pop-ssl';
 
 //* SASL
+$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
 $conf['saslauthd']['config'] = '/etc/default/saslauthd';
 $conf['saslauthd']['init_script'] = 'saslauthd';
 
 //* Amavisd
+$conf['amavis']['installed'] = false; // will be detected automatically during installation
 $conf['amavis']['config_dir'] = '/etc/amavis';
 $conf['amavis']['init_script'] = 'amavis';
 
 //* ClamAV
+$conf['clamav']['installed'] = false; // will be detected automatically during installation
 $conf['clamav']['init_script'] = 'clamd';
 
 //* Pureftpd
+$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
 $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
 $conf['pureftpd']['init_script'] = 'pure-ftpd';
 
 //* MyDNS
+$conf['mydns']['installed'] = false; // will be detected automatically during installation
 $conf['mydns']['config_dir'] = '/etc';
 $conf['mydns']['init_script'] = 'mydns';
 
 //* Jailkit
+$conf['jailkit']['installed'] = false; // will be detected automatically during installation
 $conf['jailkit']['config_dir'] = '/etc/jailkit';
 $conf['jailkit']['jk_init'] = 'jk_init.ini';
 $conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
diff --git a/install/install.php b/install/install.php
index 1764188..c934555 100644
--- a/install/install.php
+++ b/install/install.php
@@ -89,6 +89,9 @@
 	die('This software can not be installed on a server wich runs ISPConfig 2.x.');
 }
 
+//** Detect the installed applications
+$inst->find_installed_apps();
+
 //** Select the language
 $conf['language'] = $inst->simple_query('Select language', array('en','de'), 'en');
 
@@ -222,7 +225,14 @@
 	if($conf['mydns']['init_script'] != '' && is_file($conf['mydns']['init_script']))					system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
 	
 }else{
-
+	
+	//* In expert mode, we select the services in the following steps, only db is always available
+	$conf['services']['mail'] = false;
+	$conf['services']['web'] = false;
+	$conf['services']['dns'] = false;
+	$conf['services']['db'] = true;
+	
+	
 	//** Get Server ID
 	// $conf['server_id'] = $inst->free_query('Unique Numeric ID of the server','1');
 	// Server ID is an autoInc value of the mysql database now
@@ -275,6 +285,8 @@
 	
 	if(strtolower($inst->simple_query('Configure Mail', array('y','n') ,'y') ) == 'y') {
 		
+		$conf['services']['mail'] = true;
+		
 		//* Configure Postfix
 		swriteln('Configuring Postfix');
 		$inst->configure_postfix();
@@ -325,6 +337,7 @@
 	
 	//** Configure MyDNS
 	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');
@@ -333,6 +346,7 @@
 	//** Configure Apache
 	swriteln("\nHint: If this server shall run the ispconfig interface, select 'y' in the next 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();
 	}
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index a0bc33f..473dc9f 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -554,6 +554,15 @@
 	}
 }
 
+function is_installed($appname) {
+	exec('which '.escapeshellcmd($appname),$out);
+	if(stristr($out[0],$appname)) {
+		return true;
+	} else {
+		return false;
+	}
+}
+
 
 
 ?>
\ No newline at end of file
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index c50c119..705d729 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -112,9 +112,27 @@
 	}
 	*/
 	
+	//** Detect installed applications
+	public function find_installed_apps() {
+		global $conf;
+		
+		if(is_installed('mysql') || is_installed('mysqld')) $conf['mysql']['installed'] = true;
+		if(is_installed('postfix')) $conf['postfix']['installed'] = true;
+		if(is_installed('apache') || is_installed('apache2') || is_installed('httpd')) $conf['apache']['installed'] = true;
+		if(is_installed('getmail')) $conf['getmail']['installed'] = true;
+		if(is_installed('couriertcpd')) $conf['courier']['installed'] = true;
+		if(is_installed('saslsauthd')) $conf['saslauthd']['installed'] = true;
+		if(is_installed('amavisd-new')) $conf['amavis']['installed'] = true;
+		if(is_installed('clamdscan')) $conf['clamav']['installed'] = true;
+		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;
+		
+		
+	}
+	
 	/** Create the database for ISPConfig */ 
-	public function configure_database()
-    {
+	public function configure_database() {
 		global $conf;
 		
 		//** Create the database
@@ -174,19 +192,32 @@
 		//* Set the database name in the DB library
 		$this->db->dbName = $conf['mysql']['database'];
 		
-		$server_ini_content = rf("tpl/server.ini.master");
+		$tpl_ini_array = ini_to_array(rf('tpl/server.ini.master'));
+		
+		// TODO: Update further distribution specific parameters for server config here
+		$tpl_ini_array['web']['vhost_conf_dir'] = $conf['apache']['vhost_conf_dir'];
+		$tpl_ini_array['web']['vhost_conf_enabled_dir'] = $conf['apache']['vhost_conf_enabled_dir'];
+		
+		$server_ini_content = array_to_ini($tpl_ini_array);
 		$server_ini_content = mysql_real_escape_string($server_ini_content);
+		
+		$mail_server_enabled = ($conf['services']['mail'])?1:0;
+		$web_server_enabled = ($conf['services']['web'])?1:0;
+		$dns_server_enabled = ($conf['services']['dns'])?1:0;
+		$file_server_enabled = ($conf['services']['file'])?1:0;
+		$db_server_enabled = ($conf['services']['db'])?1:0;
+		$vserver_server_enabled = ($conf['services']['vserver'])?1:0;
 		
 		if($conf['mysql']['master_slave_setup'] == 'y') {
 			
 			//* Insert the server record in master DB
-			$sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`) VALUES (1, 1, 'riud', 'riud', 'r', '".$conf['hostname']."', 1, 1, 1, 1, 1, 1, '$server_ini_content', 0, 1);";
+			$sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`) VALUES (1, 1, 'riud', 'riud', 'r', '".$conf['hostname']."', '$mail_server_enabled', '$web_server_enabled', '$dns_server_enabled', '$file_server_enabled', '$db_server_enabled', '$vserver_server_enabled', '$server_ini_content', 0, 1);";
 			$this->dbmaster->query($sql);
 			$conf['server_id'] = $this->dbmaster->insertID();
 			$conf['server_id'] = $conf['server_id'];
 			
 			//* Insert the same record in the local DB
-			$sql = "INSERT INTO `server` (`server_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`) VALUES ('".$conf['server_id']."',1, 1, 'riud', 'riud', 'r', '".$conf['hostname']."', 1, 1, 1, 1, 1, 1, '$server_ini_content', 0, 1);";
+			$sql = "INSERT INTO `server` (`server_id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`) VALUES ('".$conf['server_id']."',1, 1, 'riud', 'riud', 'r', '".$conf['hostname']."', '$mail_server_enabled', '$web_server_enabled', '$dns_server_enabled', '$file_server_enabled', '$db_server_enabled', '$vserver_server_enabled', '$server_ini_content', 0, 1);";
 			$this->db->query($sql);
 			
 			//* insert the ispconfig user in the remote server
@@ -210,7 +241,7 @@
 		
 		} else {
 			//* Insert the server, if its not a mster / slave setup
-			$sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`) VALUES (1, 1, 'riud', 'riud', 'r', '".$conf['hostname']."', 1, 1, 1, 1, 1, 1, '$server_ini_content', 0, 1);";
+			$sql = "INSERT INTO `server` (`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_name`, `mail_server`, `web_server`, `dns_server`, `file_server`, `db_server`, `vserver_server`, `config`, `updated`, `active`) VALUES (1, 1, 'riud', 'riud', 'r', '".$conf['hostname']."', '$mail_server_enabled', '$web_server_enabled', '$dns_server_enabled', '$file_server_enabled', '$db_server_enabled', '$vserver_server_enabled', '$server_ini_content', 0, 1);";
 			$this->db->query($sql);
 			$conf['server_id'] = $this->db->insertID();
 			$conf['server_id'] = $conf['server_id'];
diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 4431669..41ff082 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -13,8 +13,8 @@
 
 [mail]
 module=postfix_mysql
-maildir_path=/home/vmail/[domain]/[localpart]/
-homedir_path=/home/vmail/
+maildir_path=/var/vmail/[domain]/[localpart]/
+homedir_path=/var/vmail/
 mailuser_uid=5000
 mailuser_gid=5000
 mailuser_name=vmail
diff --git a/install/update.php b/install/update.php
index 5ac9cb4..ac32b1d 100644
--- a/install/update.php
+++ b/install/update.php
@@ -102,6 +102,9 @@
 
 $inst = new installer();
 
+//** Detect the installed applications
+$inst->find_installed_apps();
+
 echo "This application will update ISPConfig 3 on your server.\n";
 
 //** Initialize the MySQL server connection
diff --git a/server/plugins-available/mail_plugin.inc.php b/server/plugins-available/mail_plugin.inc.php
index 7cec05e..524c059 100644
--- a/server/plugins-available/mail_plugin.inc.php
+++ b/server/plugins-available/mail_plugin.inc.php
@@ -66,7 +66,7 @@
 		$mail_config = $app->getconf->get_server_config($conf["server_id"], 'mail');
 		
 		// Create the maildir, if it does not exist
-		if(!is_dir($data['new']['maildir'])) {
+		if(!empty($data['new']['maildir']) && !is_dir($data['new']['maildir'])) {
 			$tmp_path = $data['new']['maildir'];
 			$tmp_path_parts = explode('/',$tmp_path);
 			unset($tmp_path_parts[count($tmp_path_parts)-2]);

--
Gitblit v1.9.1