A. Täffner
2016-01-22 c7abe2650e0619e012fc7cf8d9eee60cfc7a73fd
install/update.php
@@ -120,6 +120,10 @@
      include_once $cmd_opt['autoinstall'];
   } elseif($path_parts['extension'] == 'ini') {
      $tmp = ini_to_array(file_get_contents('autoinstall.ini'));
      if(!is_array($tmp['install'])) $tmp['install'] = array();
      if(!is_array($tmp['ssl_cert'])) $tmp['ssl_cert'] = array();
      if(!is_array($tmp['expert'])) $tmp['expert'] = array();
      if(!is_array($tmp['update'])) $tmp['update'] = array();
      $autoinstall = $tmp['install'] + $tmp['ssl_cert'] + $tmp['expert'] + $tmp['update'];
      unset($tmp);
   }
@@ -170,6 +174,7 @@
$conf['ispconfig_log_priority'] = $conf_old["log_priority"];
$inst = new installer();
if (!$inst->get_php_version()) die('ISPConfig requieres PHP '.$inst->min_php."\n");
$inst->is_update = true;
//** Detect the installed applications
@@ -247,13 +252,15 @@
   $finished = false;
   do {
      $tmp_mysql_server_host = $inst->free_query('MySQL master server hostname', $conf['mysql']['master_host'],'mysql_master_hostname');
      $tmp_mysql_server_port = $inst->free_query('MySQL master server port', $conf['mysql']['master_port'],'mysql_master_port');
      $tmp_mysql_server_admin_user = $inst->free_query('MySQL master server root username', $conf['mysql']['master_admin_user'],'mysql_master_root_user');    
      $tmp_mysql_server_admin_password = $inst->free_query('MySQL master server root password', $conf['mysql']['master_admin_password'],'mysql_master_root_password');
      $tmp_mysql_server_database = $inst->free_query('MySQL master server database name', $conf['mysql']['master_database'],'mysql_master_database');
      //* Initialize the MySQL server connection
      if(@mysql_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
      if(@mysql_connect($tmp_mysql_server_host . ':' . (int)$tmp_mysql_server_port, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
         $conf['mysql']['master_host'] = $tmp_mysql_server_host;
         $conf['mysql']['master_port'] = $tmp_mysql_server_port;
         $conf['mysql']['master_admin_user'] = $tmp_mysql_server_admin_user;
         $conf['mysql']['master_admin_password'] = $tmp_mysql_server_admin_password;
         $conf['mysql']['master_database'] = $tmp_mysql_server_database;
@@ -267,10 +274,8 @@
   // initialize the connection to the master database
   $inst->dbmaster = new db();
   if($inst->dbmaster->linkId) $inst->dbmaster->closeConn();
   $inst->dbmaster->dbHost = $conf['mysql']["master_host"];
   $inst->dbmaster->dbName = $conf['mysql']["master_database"];
   $inst->dbmaster->dbUser = $conf['mysql']["master_admin_user"];
   $inst->dbmaster->dbPass = $conf['mysql']["master_admin_password"];
   $inst->dbmaster->setDBData($conf['mysql']["master_host"], $conf['mysql']["master_admin_user"], $conf['mysql']["master_admin_password"]);
   $inst->dbmaster->setDBName($conf['mysql']["master_database"]);
} else {
   $inst->dbmaster = $inst->db;
}
@@ -300,30 +305,35 @@
//}
//** Shall the services be reconfigured during update
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no'), 'yes','reconfigure_services');
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services');
if($reconfigure_services_answer == 'yes') {
if($reconfigure_services_answer == 'yes' || $reconfigure_services_answer == 'selected') {
   if($conf['services']['mail']) {
      //** Configure postfix
      swriteln('Configuring Postfix');
      $inst->configure_postfix('dont-create-certs');
      if($inst->reconfigure_app('Postfix', $reconfigure_services_answer)) {
         swriteln('Configuring Postfix');
         $inst->configure_postfix('dont-create-certs');
      }
      //** Configure mailman
      if($conf['mailman']['installed'] == true) {
      if($conf['mailman']['installed'] == true && $inst->reconfigure_app('Mailman', $reconfigure_services_answer)) {
         swriteln('Configuring Mailman');
         $inst->configure_mailman('update');
      }
      //* Configure Jailkit
      swriteln('Configuring Jailkit');
      $inst->configure_jailkit();
      if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) {
         swriteln('Configuring Jailkit');
         $inst->configure_jailkit();
      }
      if($conf['dovecot']['installed'] == true) {
      if($conf['dovecot']['installed'] == true && $inst->reconfigure_app('Dovecot', $reconfigure_services_answer)) {
         //* Configure dovecot
         swriteln('Configuring Dovecot');
         $inst->configure_dovecot();
      } else {
      } elseif ($conf['courier']['installed'] == true && $inst->reconfigure_app('Courier', $reconfigure_services_answer)) {
         //** Configure saslauthd
         swriteln('Configuring SASL');
         $inst->configure_saslauthd();
@@ -338,27 +348,25 @@
      }
      //** Configure Spamasassin
      swriteln('Configuring Spamassassin');
      $inst->configure_spamassassin();
      if($inst->reconfigure_app('Spamassassin', $reconfigure_services_answer)) {
         swriteln('Configuring Spamassassin');
         $inst->configure_spamassassin();
      }
      //** Configure Amavis
      if($conf['amavis']['installed'] == true) {
      if($conf['amavis']['installed'] == true && $inst->reconfigure_app('Amavisd', $reconfigure_services_answer)) {
         swriteln('Configuring Amavisd');
         $inst->configure_amavis();
      }
      //** Configure Getmail
      swriteln('Configuring Getmail');
      $inst->configure_getmail();
      if ($inst->reconfigure_app('Getmail', $reconfigure_services_answer)) {
         swriteln('Configuring Getmail');
         $inst->configure_getmail();
      }
   }
   if($conf['services']['web'] && $conf['pureftpd']['installed'] == true) {
      //** Configure Pureftpd
      swriteln('Configuring Pureftpd');
      $inst->configure_pureftpd();
   }
   if($conf['services']['dns']) {
   if($conf['services']['dns'] && $inst->reconfigure_app('DNS', $reconfigure_services_answer)) {
      //* Configure DNS
      if($conf['powerdns']['installed'] == true) {
         swriteln('Configuring PowerDNS');
@@ -373,37 +381,40 @@
   }
   if($conf['services']['web']) {
      if($conf['webserver']['server_type'] == 'apache'){
         //** Configure Apache
         swriteln('Configuring Apache');
         $inst->configure_apache();
         //** Configure vlogger
         swriteln('Configuring vlogger');
         $inst->configure_vlogger();
      } else {
         //** Configure nginx
         swriteln('Configuring nginx');
         $inst->configure_nginx();
      if($conf['pureftpd']['installed'] == true && $inst->reconfigure_app('Pureftpd', $reconfigure_services_answer)) {
         //** Configure Pureftpd
         swriteln('Configuring Pureftpd');
         $inst->configure_pureftpd();
      }
      //** Configure apps vhost
      swriteln('Configuring Apps vhost');
      $inst->configure_apps_vhost();
   }
      if($inst->reconfigure_app('Web-Server', $reconfigure_services_answer)) {
         if($conf['webserver']['server_type'] == 'apache'){
            //** Configure Apache
            swriteln('Configuring Apache');
            $inst->configure_apache();
    if($conf['services']['xmpp']) {
            //** Configure vlogger
            swriteln('Configuring vlogger');
            $inst->configure_vlogger();
         } else {
            //** Configure nginx
            swriteln('Configuring nginx');
            $inst->configure_nginx();
         }
         //** Configure apps vhost
         swriteln('Configuring Apps vhost');
         $inst->configure_apps_vhost();
         }
      }
    if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) {
        //** Configure Metronome XMPP
        $inst->configure_xmpp('dont-create-certs');
    }
   //* Configure DBServer
   swriteln('Configuring Database');
   $inst->configure_dbserver();
   if($conf['services']['firewall']) {
   if($conf['services']['firewall'] && $inst->reconfigure_app('Firewall', $reconfigure_services_answer)) {
      if($conf['ufw']['installed'] == true) {
         //* Configure Ubuntu Firewall
         $conf['services']['firewall'] = true;
@@ -415,6 +426,10 @@
         $inst->configure_bastille_firewall();
      }
   }
   //* Configure DBServer
   swriteln('Configuring Database');
   $inst->configure_dbserver();
   /*
   if($conf['squid']['installed'] == true) {
@@ -516,6 +531,8 @@
//* Set default servers
setDefaultServers();
$inst->create_mount_script();
//* Create md5 filelist
$md5_filename = '/usr/local/ispconfig/security/data/file_checksums_'.date('Y-m-d_h-i').'.md5';
exec('find /usr/local/ispconfig -type f -print0 | xargs -0 md5sum > '.$md5_filename);