| | |
| | | $conf["mysql"]["ispconfig_password"] = $conf_old["db_password"]; |
| | | $conf['language'] = $conf_old['language']; |
| | | if($conf['language'] == '{language}') $conf['language'] = 'en'; |
| | | $conf['timezone'] = (isset($conf_old['timezone']))?$conf_old['timezone']:'UTC'; |
| | | if($conf['timezone'] == '{timezone}' or trim($conf['timezone']) == '') $conf['timezone'] = 'UTC'; |
| | | |
| | | if(isset($conf_old["dbmaster_host"])) $conf["mysql"]["master_host"] = $conf_old["dbmaster_host"]; |
| | | if(isset($conf_old["dbmaster_database"])) $conf["mysql"]["master_database"] = $conf_old["dbmaster_database"]; |
| | |
| | | //** Detect the installed applications |
| | | $inst->find_installed_apps(); |
| | | |
| | | echo "This application will update ISPConfig 3 on your server.\n"; |
| | | echo "This application will update ISPConfig 3 on your server.\n\n"; |
| | | |
| | | //* Make a backup before we start the update |
| | | $do_backup = $inst->simple_query('Shall the script create a ISPConfig backup in /var/backup/ now?', array('yes','no'),'yes'); |
| | | if($do_backup == 'yes') { |
| | | |
| | | //* Create the backup directory |
| | | $backup_path = '/var/backup/ispconfig_'.date('Y-m-d_H-i'); |
| | | $conf['backup_path'] = $backup_path; |
| | | exec("mkdir -p $backup_path"); |
| | | exec("chown root:root $backup_path"); |
| | | exec("chmod 700 $backup_path"); |
| | | |
| | | //* Do the backup |
| | | swriteln('Creating backup of "/usr/local/ispconfig" directory...'); |
| | | exec("tar pcfz $backup_path/ispconfig_software.tar.gz /usr/local/ispconfig 2> /dev/null",$out,$returnvar); |
| | | if($returnvar != 0) die("Backup failed. We stop here...\n"); |
| | | |
| | | swriteln('Creating backup of "/etc" directory...'); |
| | | exec("tar pcfz $backup_path/etc.tar.gz /etc 2> /dev/null",$out,$returnvar); |
| | | if($returnvar != 0) die("Backup failed. We stop here...\n"); |
| | | |
| | | exec("chown root:root $backup_path/*.tar.gz"); |
| | | exec("chmod 700 $backup_path/*.tar.gz"); |
| | | } |
| | | |
| | | |
| | | //** Initialize the MySQL server connection |
| | | include_once('lib/mysql.lib.php'); |
| | |
| | | $clientdb_user = ''; |
| | | $clientdb_password = ''; |
| | | |
| | | //** Ask user for mysql admin_password if empty |
| | | if( empty($conf["mysql"]["admin_password"]) ) { |
| | | |
| | | $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']); |
| | | } |
| | | //** Test mysql root connection |
| | | $finished = false; |
| | | do { |
| | | if(@mysql_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()); |
| | | $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']); |
| | | } |
| | | } while ($finished == false); |
| | | unset($finished); |
| | | |
| | | /* |
| | | * Prepare the dump of the database |
| | |
| | | $inst->dbmaster = $inst->db; |
| | | } |
| | | |
| | | /* |
| | | * Check all tables |
| | | */ |
| | | checkDbHealth(); |
| | | |
| | | /* |
| | | * dump the new Database and reconfigure the server.ini |
| | |
| | | } |
| | | |
| | | if($conf['services']['web']) { |
| | | //** Configure Apache |
| | | swriteln('Configuring Apache'); |
| | | $inst->configure_apache(); |
| | | if($conf['webserver']['server_type'] == 'apache'){ |
| | | //** Configure Apache |
| | | swriteln('Configuring Apache'); |
| | | $inst->configure_apache(); |
| | | |
| | | //** Configure vlogger |
| | | swriteln('Configuring vlogger'); |
| | | $inst->configure_vlogger(); |
| | | //** Configure vlogger |
| | | swriteln('Configuring vlogger'); |
| | | $inst->configure_vlogger(); |
| | | } else { |
| | | //** Configure nginx |
| | | swriteln('Configuring nginx'); |
| | | $inst->configure_nginx(); |
| | | } |
| | | |
| | | //** Configure apps vhost |
| | | swriteln('Configuring Apps vhost'); |
| | |
| | | //* Configure Bastille Firewall |
| | | swriteln('Configuring Bastille Firewall'); |
| | | $inst->configure_firewall(); |
| | | } elseif($conf['ufw']['installed'] == true) { |
| | | //* Configure Ubuntu Firewall |
| | | swriteln('Configuring Ubuntu Firewall'); |
| | | $inst->configure_ufw_firewall(); |
| | | } |
| | | } |
| | | |
| | | /* |
| | | if($conf['squid']['installed'] == true) { |
| | | swriteln('Configuring Squid'); |
| | | $inst->configure_squid(); |
| | |
| | | swriteln('Configuring Nginx'); |
| | | $inst->configure_nginx(); |
| | | } |
| | | */ |
| | | } |
| | | |
| | | //** Configure ISPConfig |
| | | swriteln('Updating ISPConfig'); |
| | | |
| | | |
| | | if ($conf['services']['web'] && $inst->ispconfig_interface_installed) { |
| | | if ($conf['services']['web'] && $inst->install_ispconfig_interface) { |
| | | //** Customise the port ISPConfig runs on |
| | | $ispconfig_port_number = get_ispconfig_port_number(); |
| | | $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number); |
| | | if($conf['webserver']['server_type'] == 'nginx'){ |
| | | $conf['nginx']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number); |
| | | } else { |
| | | $conf['apache']['vhost_port'] = $inst->free_query('ISPConfig Port', $ispconfig_port_number); |
| | | } |
| | | |
| | | |
| | | // $ispconfig_ssl_default = (is_ispconfig_ssl_enabled() == true)?'y':'n'; |
| | | if(strtolower($inst->simple_query('Create new ISPConfig SSL certificate',array('yes','no'),'no')) == 'yes') { |
| | |
| | | if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); |
| | | if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); |
| | | if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart'); |
| | | if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart'); |
| | | if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &'); |
| | | } |
| | | if($conf['services']['web']) { |
| | | if($conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); |
| | | if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); |
| | | //* Reload is enough for nginx |
| | | if($conf['webserver']['server_type'] == 'nginx'){ |
| | | if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload'); |
| | | if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload'); |
| | | } |
| | | if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); |
| | | } |
| | | if($conf['services']['dns']) { |
| | |
| | | } |
| | | |
| | | if($conf['services']['proxy']) { |
| | | if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); |
| | | // if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null'); |
| | | if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null'); |
| | | } |
| | | |
| | | if($conf['services']['firewall']) { |
| | | if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); |
| | | //if($conf['ufw']['installed'] == true && $conf['ufw']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['ufw']['init_script'])) system($conf['init_scripts'].'/'.$conf['ufw']['init_script'].' restart &> /dev/null'); |
| | | } |
| | | } |
| | | |
| | | echo "Update finished.\n"; |
| | | |
| | | ?> |
| | | ?> |