request_language(); // TODO: all other queries, for testing I will setup everything in $conf // Initialize the MySQL server connection include_once('lib/mysql.lib.php'); $inst->db = new db(); // Database update is a bit brute force and should be rebuild later ;) // export the current database data exec("mysqldump -h $conf[mysql_server_host] -u $conf[mysql_server_ispconfig_user] -p$conf[mysql_server_ispconfig_password] -c -t --add-drop-table --add-locks --all --quick --lock-tables $conf[mysql_server_database] > existing_db.sql &> /dev/null"); // Delete the old database exec("/etc/init.d/mysql stop"); exec("rm -rf /var/lib/mysql/".$conf["db_database"]); exec("/etc/init.d/mysql start"); // Create the mysql database $inst->configure_database(); // empty all databases $db_tables = $inst->db->getTables(); foreach($db_tables as $table) { $inst->db->query("TRUNCATE $table"); } // load old data back into database exec("mysql -h $conf[mysql_server_host] -u $conf[mysql_server_ispconfig_user] -p$conf[mysql_server_ispconfig_password] $conf[mysql_server_database] < existing_db.sql &> /dev/null"); // Configure postfix $inst->configure_postfix('dont-create-certs'); // 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 swriteln('Configuring Spamassassin'); $inst->configure_spamassassin(); // Configure Amavis swriteln('Configuring Amavisd'); $inst->configure_amavis(); // Configure Getmail swriteln('Configuring Getmail'); $inst->configure_getmail(); // Configure Getmail swriteln('Configuring Pureftpd'); $inst->configure_pureftpd(); // Configure ISPConfig swriteln('Installing ISPConfig'); $inst->install_ispconfig(); // Configure ISPConfig swriteln('Installing Crontab'); $inst->install_crontab(); /* Restart services: */ swriteln('Restarting services ...'); system("/etc/init.d/mysql restart"); system("/etc/init.d/postfix restart"); system("/etc/init.d/saslauthd restart"); system("/etc/init.d/amavis restart"); system("/etc/init.d/clamav-daemon restart"); system("/etc/init.d/courier-authdaemon restart"); system("/etc/init.d/courier-imap restart"); system("/etc/init.d/courier-imap-ssl restart"); system("/etc/init.d/courier-pop restart"); system("/etc/init.d/courier-pop-ssl restart"); system("/etc/init.d/apache2 restart"); system("/etc/init.d/pure-ftpd-mysql restart"); echo "Update finished.\n"; ?>