diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index fc95bef038ac45e21d11f2367b8019d9d6afd5da..6cc2486b3c6ae2229ffc0fe9b1e0dfddcc106780 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -185,7 +185,7 @@ class installer_base { $conf['vlogger']['installed'] = true; if(is_installed('cron') || is_installed('anacron')) $conf['cron']['installed'] = true; - if ($conf['services']['web'] && (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")))) $this->ispconfig_interface_installed = true; + if (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost"))) $this->ispconfig_interface_installed = true; } public function force_configure_app($service, $enable_force=true) { @@ -2332,9 +2332,9 @@ Email Address []: $vserver_server_enabled = ($conf['openvz']['installed'])?1:0; $proxy_server_enabled = ($conf['services']['proxy'])?1:0; $firewall_server_enabled = ($conf['services']['firewall'])?1:0; - $xmpp_server_enabled = ($conf['services']['xmpp'])?1:0; + $xmpp_server_enabled = ($conf['services']['xmpp'])?1:0; - $sql = "UPDATE `server` SET mail_server = '$mail_server_enabled', web_server = '$web_server_enabled', dns_server = '$dns_server_enabled', file_server = '$file_server_enabled', db_server = '$db_server_enabled', vserver_server = '$vserver_server_enabled', proxy_server = '$proxy_server_enabled', firewall_server = '$firewall_server_enabled', xmpp_server = '.$xmpp_server_enabled.' WHERE server_id = ?"; + $sql = "UPDATE `server` SET mail_server = '$mail_server_enabled', web_server = '$web_server_enabled', dns_server = '$dns_server_enabled', file_server = '$file_server_enabled', db_server = '$db_server_enabled', vserver_server = '$vserver_server_enabled', proxy_server = '$proxy_server_enabled', firewall_server = '$firewall_server_enabled', xmpp_server = '$xmpp_server_enabled' WHERE server_id = ?"; $this->db->query($sql, $conf['server_id']); if($conf['mysql']['master_slave_setup'] == 'y') { diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php index a4df4d8328c314ed192eec569e7caa7476a095b6..4e20332b836563f6f816a5db276d13e66be0f656 100644 --- a/install/lib/update.lib.php +++ b/install/lib/update.lib.php @@ -429,10 +429,17 @@ function check_service_config_state($servicename, $detected_value) { if ($current_svc_config[$servicename] == 1) $current_state = 1; else $current_state = 0; + + if ($detected_value) $detected_value = 1; + else $detected_value = 0; if ($detected_value != $current_state) { - if ($inst->simple_query('Service \''.$servicename.'\' '.($detected_value ? 'has been' : 'has not been').' detected ('.($current_state ? 'strongly recommended, currently enabled' : 'currently disabled').') do you want to '.($detected_value ? 'enable and configure' : 'disable').' it? ', array('yes', 'no'), ($current_state ? 'yes' : 'no'), 'svc_detect_change_'.$servicename) == 'yes') return $detected_value; - else return $current_state; + $answer = $inst->simple_query('Service \''.$servicename.'\' '.($detected_value ? 'has been' : 'has not been').' detected ('.($current_state ? 'strongly recommended, currently enabled' : 'currently disabled').') do you want to '.($detected_value ? 'enable and configure' : 'disable').' it? ', array('yes', 'no'), ($current_state ? 'yes' : 'no'), 'svc_detect_change_'.$servicename); + if ($answer == 'yes') return $detected_value; + else { + if ($servicename == 'web_server') echo "\033[0;33mWARNING: If ISPConfig-Interface (Webfrontend) is installed on this Server we will configure the Web Server anyways but will not enable it in ISPConfig.\033[0m\n\n"; + return $current_state; + } } else return $current_state; } diff --git a/install/update.php b/install/update.php index 6cd18a3109e1ad5857db2093a69ed060fe53e5bd..736a3a3a88ef11d68295a966e63ec087e4809125 100644 --- a/install/update.php +++ b/install/update.php @@ -307,7 +307,7 @@ $inst->find_installed_apps(); //** Check for current service config state and compare to our results if ($conf['mysql']['master_slave_setup'] == 'y') $current_svc_config = $inst->dbmaster->queryOneRecord("SELECT mail_server,web_server,dns_server,xmpp_server,firewall_server,vserver_server,db_server FROM ?? WHERE server_id=?", $conf['mysql']['master_database'] . '.server', $conf['server_id']); else $current_svc_config = $inst->db->queryOneRecord("SELECT mail_server,web_server,dns_server,xmpp_server,firewall_server,vserver_server,db_server FROM ?? WHERE server_id=?", $conf["mysql"]["database"] . '.server', $conf['server_id']); -$conf['postfix']['installed'] = check_service_config_state('mail_server', $conf['postfix']['installed']); +$conf['services']['mail'] = check_service_config_state('mail_server', $conf['postfix']['installed']); $conf['services']['dns'] = check_service_config_state('dns_server', ($conf['powerdns']['installed'] || $conf['bind']['installed'] || $conf['mydns']['installed'])); $conf['services']['web'] = check_service_config_state('web_server', ($conf['apache']['installed'] || $conf['nginx']['installed'])); $conf['services']['xmpp'] = check_service_config_state('xmpp_server', $conf['xmpp']['installed']); @@ -316,6 +316,20 @@ $conf['services']['vserver'] = check_service_config_state('vserver_server', $con $conf['services']['db'] = check_service_config_state('db_server', true); /* Will always offer as MySQL is of course installed on this host as it's a requirement for ISPC to work... */ unset($current_svc_config); +//** Write new decisions into DB +$sql = "UPDATE ?? SET mail_server = '{$conf['services']['mail']}', web_server = '{$conf['services']['web']}', dns_server = '{$conf['services']['dns']}', file_server = '{$conf['services']['file']}', db_server = '{$conf['services']['db']}', vserver_server = '{$conf['services']['vserver']}', proxy_server = '{$conf['services']['proxy']}', firewall_server = '$firewall_server_enabled', xmpp_server = '$xmpp_server_enabled' WHERE server_id = ?"; +$inst->db->query($sql, $conf['mysql']['database'].'.server', $conf['server_id']); +if($conf['mysql']['master_slave_setup'] == 'y') { + $inst->dbmaster->query($sql, $conf['mysql']['master_database'].'.server', $conf['server_id']); +} + +//** Is the ISPConfg Panel installed on this host? This might partially override user's preferences later. +if($conf['apache']['installed'] == true){ + if(!is_file($conf['apache']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; +} +if($conf['nginx']['installed'] == true){ + if(!is_file($conf['nginx']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; +} //** Shall the services be reconfigured during update $reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services'); @@ -391,7 +405,7 @@ if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'sel } } - if($conf['services']['web']) { + if($conf['services']['web'] || $inst->install_ispconfig_interface) { if($conf['pureftpd']['installed'] == true && $inst->reconfigure_app('Pureftpd', $reconfigure_services_answer)) { //** Configure Pureftpd @@ -462,14 +476,8 @@ if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'sel //** Configure ISPConfig swriteln('Updating ISPConfig'); -if($conf['apache']['installed'] == true){ - if(!is_file($conf['apache']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; -} -if($conf['nginx']['installed'] == true){ - if(!is_file($conf['nginx']['vhost_conf_dir'].'/ispconfig.vhost')) $inst->install_ispconfig_interface = false; -} -if ($conf['services']['web'] && $inst->install_ispconfig_interface) { +if ($inst->install_ispconfig_interface) { //** Customise the port ISPConfig runs on $ispconfig_port_number = get_ispconfig_port_number(); if($autoupdate['ispconfig_port'] == 'default') $autoupdate['ispconfig_port'] = $ispconfig_port_number; @@ -517,7 +525,7 @@ if($reconfigure_services_answer == 'yes') { if($conf['dovecot']['installed'] == true && $conf['dovecot']['init_script'] != '') system($inst->getinitcommand($conf['dovecot']['init_script'], 'restart')); if($conf['mailman']['installed'] == true && $conf['mailman']['init_script'] != '') system('nohup '.$inst->getinitcommand($conf['mailman']['init_script'], 'restart').' >/dev/null 2>&1 &'); } - if($conf['services']['web']) { + if($conf['services']['web'] || $inst->install_ispconfig_interface) { if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '') system($inst->getinitcommand($conf['apache']['init_script'], 'restart')); //* Reload is enough for nginx if($conf['webserver']['server_type'] == 'nginx'){