| | |
| | | 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); |
| | | } |
| | |
| | | //** 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); |
| | |
| | | $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"; |
| | | |
| | |
| | | //** 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); |
| | |
| | | $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; |
| | |
| | | $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); |
| | |
| | | } |
| | | //} |
| | | |
| | | //** 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'); |
| | | |
| | |
| | | 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 |
| | |
| | | } 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(); |
| | |
| | | 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)) { |
| | |
| | | |
| | | //* 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"; |