From e1ceb050e19c7574bca146a8da7047ee4ff456b5 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Sun, 10 Jul 2016 05:02:35 -0400
Subject: [PATCH] Merge branch 'stable-3.1'
---
install/update.php | 87 ++++++++++++++++++++++++++-----------------
1 files changed, 53 insertions(+), 34 deletions(-)
diff --git a/install/update.php b/install/update.php
index 970a107..4626b50 100644
--- a/install/update.php
+++ b/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);
}
@@ -133,7 +137,7 @@
//** Include the distribution-specific installer class library and configuration
if(is_file('dist/lib/'.$dist['baseid'].'.lib.php')) include_once 'dist/lib/'.$dist['baseid'].'.lib.php';
include_once 'dist/lib/'.$dist['id'].'.lib.php';
-include_once 'dist/conf/'.$dist['id'].'.conf.php';
+include_once 'dist/conf/'.$dist['confid'].'.conf.php';
//** Get hostname
exec('hostname -f', $tmp_out);
@@ -170,10 +174,8 @@
$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
-$inst->find_installed_apps();
echo "This application will update ISPConfig 3 on your server.\n\n";
@@ -224,10 +226,10 @@
//** Test mysql root connection
$finished = false;
do {
- if(@mysql_connect($conf["mysql"]["host"], $conf["mysql"]["admin_user"], $conf["mysql"]["admin_password"])) {
+ if(@mysqli_connect($conf["mysql"]["host"], $conf["mysql"]["admin_user"], $conf["mysql"]["admin_password"])) {
$finished = true;
} else {
- swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
+ swriteln($inst->lng('Unable to connect to mysql server').' '.mysqli_connect_error());
$conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password'],'mysql_root_password');
}
} while ($finished == false);
@@ -253,7 +255,7 @@
$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 . ':' . (int)$tmp_mysql_server_port, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password)) {
+ if(@mysqli_connect($tmp_mysql_server_host, $tmp_mysql_server_admin_user, $tmp_mysql_server_admin_password, $tmp_mysql_server_database, (int)$tmp_mysql_server_port)) {
$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;
@@ -261,7 +263,7 @@
$conf['mysql']['master_database'] = $tmp_mysql_server_database;
$finished = true;
} else {
- swriteln($inst->lng('Unable to connect to mysql server').' '.mysql_error());
+ swriteln($inst->lng('Unable to connect to mysql server').' '.mysqli_connect_error());
}
} while ($finished == false);
unset($finished);
@@ -299,6 +301,18 @@
}
//}
+//** Detect the installed applications
+$inst->find_installed_apps();
+
+$conf['services']['mail'] = $conf['postfix']['installed'];
+if ($conf['powerdns']['installed'] || $conf['bind']['installed'] || $conf['mydns']['installed']) $conf['services']['dns'] = true;
+if ($conf['apache']['installed'] || $conf['nginx']['installed']) $conf['services']['web'] = true;
+$conf['services']['xmpp'] = $conf['xmpp']['installed'];;
+if ($conf['ufw']['installed'] || $conf['firewall']['installed']) $conf['services']['firewall'] = true;
+$conf['services']['vserver'] = $conf['services']['vserver'];
+$conf['services']['db'] = true;
+
+
//** Shall the services be reconfigured during update
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes', 'no', 'selected'), 'yes','reconfigure_services');
@@ -307,39 +321,34 @@
if($conf['services']['mail']) {
//** Configure postfix
- if($inst->reconfigure_app('Postfix', $reconfigure_services_answer)) {
+ if($inst->reconfigure_app('Postfix and IMAP/POP3', $reconfigure_services_answer)) {
swriteln('Configuring Postfix');
$inst->configure_postfix('dont-create-certs');
+
+ if($conf['dovecot']['installed'] == true) {
+ //* Configure dovecot
+ swriteln('Configuring Dovecot');
+ $inst->configure_dovecot();
+ } elseif ($conf['courier']['installed'] == true) {
+ //** Configure saslauthd
+ swriteln('Configuring SASL');
+ $inst->configure_saslauthd();
+
+ //** Configure PAM
+ swriteln('Configuring PAM');
+ $inst->configure_pam();
+
+ //* Configure courier
+ swriteln('Configuring Courier');
+ $inst->configure_courier();
+ }
+
}
//** Configure mailman
if($conf['mailman']['installed'] == true && $inst->reconfigure_app('Mailman', $reconfigure_services_answer)) {
swriteln('Configuring Mailman');
$inst->configure_mailman('update');
- }
-
- //* Configure Jailkit
- if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) {
- swriteln('Configuring Jailkit');
- $inst->configure_jailkit();
- }
-
- if($conf['dovecot']['installed'] == true && $inst->reconfigure_app('Dovecot', $reconfigure_services_answer)) {
- //* Configure dovecot
- swriteln('Configuring Dovecot');
- $inst->configure_dovecot();
- } elseif ($conf['courier']['installed'] == true && $inst->reconfigure_app('Courier', $reconfigure_services_answer)) {
- //** Configure saslauthd
- swriteln('Configuring SASL');
- $inst->configure_saslauthd();
-
- //** Configure PAM
- swriteln('Configuring PAM');
- $inst->configure_pam();
-
- //* Configure courier
- swriteln('Configuring Courier');
- $inst->configure_courier();
}
//** Configure Spamasassin
@@ -369,6 +378,9 @@
} elseif($conf['bind']['installed'] == true) {
swriteln('Configuring BIND');
$inst->configure_bind();
+ if(!is_installed('haveged')) {
+ swriteln("[INFO] haveged not detected - DNSSEC can fail");
+ }
} else {
swriteln('Configuring MyDNS');
$inst->configure_mydns();
@@ -402,6 +414,13 @@
swriteln('Configuring Apps vhost');
$inst->configure_apps_vhost();
}
+
+ //* Configure Jailkit
+ if($inst->reconfigure_app('Jailkit', $reconfigure_services_answer)) {
+ swriteln('Configuring Jailkit');
+ $inst->configure_jailkit();
+ }
+
}
if($conf['services']['xmpp'] && $inst->reconfigure_app('XMPP', $reconfigure_services_answer)) {
@@ -530,7 +549,7 @@
//* 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);
+exec('find /usr/local/ispconfig -type f -print0 | xargs -0 md5sum > '.$md5_filename . ' 2>/dev/null');
chmod($md5_filename,0700);
echo "Update finished.\n";
--
Gitblit v1.9.1