oliver
2007-08-29 098b2f065bf860045a53048c4fad45afaf8f1257
install/update.php
@@ -28,18 +28,17 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
   ISPConfig 3 installer.
*/
//** ISPConfig 3 installer.
// Include the library with the basic installer functions
//** Include the library with the basic installer functions
require_once('lib/install.lib.php');
// Include the base class of the installer class
//** Include the base class of the installer class
require_once('lib/installer_base.lib.php');
//** Install logfile
//** Installer/updater logfile
define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log');
//** Get distribution identifier
@@ -49,12 +48,11 @@
$conf_old = $conf;
unset($conf);
// Include the distribution specific installer class library
// and configuration
//** Include the distribution specific installer class library and configuration
include_once('dist/lib/'.$distname.'.lib.php');
include_once('dist/conf/'.$distname.'.conf.php');
// Set the mysql login information
//** Set the mysql login information
$conf["mysql"]["host"] = $conf_old["db_host"];
$conf["mysql"]["database"] = $conf_old["db_database"];
$conf["mysql"]["ispconfig_user"] = $conf_old["db_user"];
@@ -62,24 +60,22 @@
$inst = new installer();
echo "This application will update ISPConfig 3 on your server.\n";
// $conf["language"] = $inst->request_language();
//** TODO: all other queries, for testing I will setup everything in $conf
// TODO: all other queries, for testing I will setup everything in $conf
// Initialize the MySQL server connection
//** Initialize the MySQL server connection
include_once('lib/mysql.lib.php');
// Database update is a bit brute force and should be rebuild later ;)
//** Database update is a bit brute force and should be rebuild later ;)
// export the current database data
//** 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']);
}
//** export the current database data
if( !empty($conf["mysql"]["admin_password"]) ) {
   system("mysqldump -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -p".$conf['mysql']['admin_password']." -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
@@ -89,7 +85,7 @@
   system("mysqldump -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
}
// Delete the old database
//** Delete the old database
$inst->db = new db();
if( !$inst->db->query('DROP DATABASE IF EXISTS '.$conf['mysql']['database']) ) {
@@ -97,81 +93,74 @@
   $inst->error('Unable to drop MySQL database: '.$conf['mysql']['database'].'.');
}
/*exec("/etc/init.d/mysql stop");
sleep(3);
if($conf["mysql"]["database"] != '') exec("rm -rf /var/lib/mysql/".$conf["mysql"]["database"]);
exec("/etc/init.d/mysql start");
sleep(5);*/
// Create the mysql database
//** Create the mysql database
$inst->configure_database();
// empty all databases
//** empty all databases
$db_tables = $inst->db->getTables();
foreach($db_tables as $table) {
   $inst->db->query("TRUNCATE $table");
}
// load old data back into database
if($conf["mysql"]["admin_password"] != '') {
//** load old data back into database
if( !empty($conf["mysql"]["admin_password"]) ) {
   system("mysql -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -p".$conf['mysql']['admin_password']." ".$conf['mysql']['database']." < existing_db.sql");
} else {
   system("mysql -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." ".$conf['mysql']['database']." < existing_db.sql");
}
// Configure postfix
//** Configure postfix
$inst->configure_postfix('dont-create-certs');
// Configure saslauthd
//** Configure saslauthd
swriteln('Configuring SASL');
$inst->configure_saslauthd();
// Configure PAM
//** Configure PAM
swriteln('Configuring PAM');
$inst->configure_pam();
// Configure courier
//** Configure courier
swriteln('Configuring Courier');
$inst->configure_courier();
// Configure Spamasassin
//** Configure Spamasassin
swriteln('Configuring Spamassassin');
$inst->configure_spamassassin();
// Configure Amavis
//** Configure Amavis
swriteln('Configuring Amavisd');
$inst->configure_amavis();
// Configure Getmail
//** Configure Getmail
swriteln('Configuring Getmail');
$inst->configure_getmail();
// Configure Pureftpd
//** Configure Pureftpd
swriteln('Configuring Pureftpd');
$inst->configure_pureftpd();
// Configure MyDNS
//** Configure MyDNS
swriteln('Configuring MyDNS');
$inst->configure_mydns();
// Configure Apache
//** Configure Apache
swriteln('Configuring Apache');
$inst->configure_apache();
// Configure ISPConfig
//** Configure ISPConfig
swriteln('Installing ISPConfig');
$inst->install_ispconfig();
// Configure ISPConfig
//** Configure ISPConfig
swriteln('Installing Crontab');
$inst->install_crontab();
/*
Restart services:
*/
//** Restart services:
swriteln('Restarting services ...');
system("/etc/init.d/mysql restart");
system("/etc/init.d/postfix restart");
@@ -188,6 +177,5 @@
system("/etc/init.d/mydns restart");
echo "Update finished.\n";
?>