From 0a1f027bd9b71d618376e1365c35d95d97b15782 Mon Sep 17 00:00:00 2001 From: tbrehm Date: Sun, 7 Dec 2008 15:32:29 +0000 Subject: [PATCH] - Detect installed services - Update server.ini during install - Changed default vmail directory form /home/vmail to /var/vmail --- install/dist/conf/centos52.conf.php | 21 +++++++++- install/dist/conf/debian40.conf.php | 19 +++++++++ install/dist/conf/fedora9.conf.php | 19 +++++++++ install/dist/conf/opensuse110.conf.php | 19 +++++++++ install/install.php | 16 +++++++- install/lib/install.lib.php | 9 ++++ install/lib/installer_base.lib.php | 43 +++++++++++++++++--- install/tpl/server.ini.master | 4 +- install/update.php | 3 ++ server/plugins-available/mail_plugin.inc.php | 2 +- 10 files changed, 144 insertions(+), 11 deletions(-) diff --git a/install/dist/conf/centos52.conf.php b/install/dist/conf/centos52.conf.php index 21752c2ad6..5b1a87dbde 100644 --- a/install/dist/conf/centos52.conf.php +++ b/install/dist/conf/centos52.conf.php @@ -44,7 +44,16 @@ $conf['shells'] = '/etc/shells'; $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_user'] = ''; $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_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled'; $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_userid'] = '5000'; $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'] = ''; $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 9d69220bdd..76d850a04a 100644 --- a/install/dist/conf/debian40.conf.php +++ b/install/dist/conf/debian40.conf.php @@ -44,7 +44,16 @@ $conf['shells'] = '/etc/shells'; $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_user'] = ''; $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_conf_enabled_dir'] = '/etc/apache2/sites-enabled'; $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_groupname'] = 'vmail'; $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'] = 'courier-pop'; $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 275584b848..28006680ba 100644 --- a/install/dist/conf/fedora9.conf.php +++ b/install/dist/conf/fedora9.conf.php @@ -44,7 +44,16 @@ $conf['shells'] = '/etc/shells'; $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_user'] = ''; $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_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled'; $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_groupname'] = 'vmail'; $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'] = 'courier-imap'; $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 ddd02b26a3..66ba7c2059 100644 --- a/install/dist/conf/opensuse110.conf.php +++ b/install/dist/conf/opensuse110.conf.php @@ -44,7 +44,16 @@ $conf['shells'] = '/etc/shells'; $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_user'] = ''; $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_conf_enabled_dir'] = '/etc/apache2/sites-enabled'; $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_groupname'] = 'vmail'; $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'] = 'courier-pop'; $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 1764188423..c93455591b 100644 --- a/install/install.php +++ b/install/install.php @@ -89,6 +89,9 @@ if(is_dir('/root/ispconfig') || is_dir('/home/admispconfig')) { 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($install_mode == 'standard') { 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($install_mode == 'standard') { 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 @@ if($install_mode == 'standard') { //** 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 @@ if($install_mode == 'standard') { //** 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 a0bc33fda6..473dc9f45b 100644 --- a/install/lib/install.lib.php +++ b/install/lib/install.lib.php @@ -554,6 +554,15 @@ function removeLine($filename,$search_pattern,$strict = 0) { } } +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 c50c1192d8..705d729303 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -112,9 +112,27 @@ class installer_base { } */ + //** 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 @@ class installer_base { //* 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 @@ class installer_base { } 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 4431669fdd..41ff082d7a 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -13,8 +13,8 @@ nameservers=192.168.0.1,192.168.0.2 [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 5ac9cb4eee..ac32b1dc87 100644 --- a/install/update.php +++ b/install/update.php @@ -102,6 +102,9 @@ $conf['ispconfig_log_priority'] = $conf_old["log_priority"]; $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 7cec05edc5..524c059790 100644 --- a/server/plugins-available/mail_plugin.inc.php +++ b/server/plugins-available/mail_plugin.inc.php @@ -66,7 +66,7 @@ class mail_plugin { $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]); -- GitLab