install/dist/conf/debian40.conf.php | ●●●●● patch | view | raw | blame | history | |
install/install.php | ●●●●● patch | view | raw | blame | history | |
install/lib/install.lib.php | ●●●●● patch | view | raw | blame | history | |
install/lib/installer_base.lib.php | ●●●●● patch | view | raw | blame | history | |
install/update.php | ●●●●● patch | view | raw | blame | history |
install/dist/conf/debian40.conf.php
@@ -3,63 +3,77 @@ //*** Debian 4.0 default settings //* Main $dist['init_scripts'] = '/etc/init.d'; $dist['runlevel'] = '/etc'; $dist['shells'] = '/etc/shells'; $dist['cron_tab'] = '/var/spool/cron/crontabs/root'; $dist['pam'] = '/etc/pam.d'; $conf['language'] = 'en'; $conf['distname'] = 'debian40'; $conf['hostname'] = 'server1.example.com'; // Full hostname $conf['ispconfig_install_dir'] = '/usr/local/ispconfig'; $conf['ispconfig_config_dir'] = '/usr/local/ispconfig'; $conf['server_id'] = 1; $conf['init_scripts'] = '/etc/init.d'; $conf['runlevel'] = '/etc'; $conf['shells'] = '/etc/shells'; $conf['cron_tab'] = '/var/spool/cron/crontabs/root'; $conf['pam'] = '/etc/pam.d'; //* MySQL $dist['mysql']['init_script'] = 'mysql'; $conf['mysql']['init_script'] = 'mysql'; $conf['mysql']['host'] = 'localhost'; $conf['mysql']['ip'] = '127.0.0.1'; $conf['mysql']['port'] = '3306'; $conf['mysql']['database'] = 'dbispconfig'; $conf['mysql']['admin_user'] = 'root'; $conf['mysql']['admin_password'] = ''; $conf['mysql']['ispconfig_user'] = 'ispconfig'; $conf['mysql']['ispconfig_password'] = '5sDrewBhk'; //* Apache $dist['apache']['user'] = 'www-data'; $dist['apache']['group'] = 'www-data'; $dist['apache']['init_script'] = 'apache2'; $dist['apache']['version'] = '2.2'; $dist['apache']['vhost_dist_dir'] = '/etc/apache2/sites-available'; $dist['apache']['vhost_dist_enabled_dir'] = '/etc/apache2/sites-enabled'; $conf['apache']['user'] = 'www-data'; $conf['apache']['group'] = 'www-data'; $conf['apache']['init_script'] = 'apache2'; $conf['apache']['version'] = '2.2'; $conf['apache']['vhost_conf_dir'] = '/etc/apache2/sites-available'; $conf['apache']['vhost_conf_enabled_dir'] = '/etc/apache2/sites-enabled'; //* Postfix $dist['postfix']['config_dir'] = '/etc/postfix'; $dist['postfix']['init_script'] = 'postfix'; $dist['postfix']['user'] = 'postfix'; $dist['postfix']['group'] = 'postfix'; $dist['postfix']['vmail_userid'] = '5000'; $dist['postfix']['vmail_username'] = 'vmail'; $dist['postfix']['vmail_groupid'] = '5000'; $dist['postfix']['vmail_groupname'] = 'vmail'; $dist['postfix']['vmail_mailbox_base'] = '/home/vmail'; $conf['postfix']['config_dir'] = '/etc/postfix'; $conf['postfix']['init_script'] = 'postfix'; $conf['postfix']['user'] = 'postfix'; $conf['postfix']['group'] = 'postfix'; $conf['postfix']['vmail_userid'] = '5000'; $conf['postfix']['vmail_username'] = 'vmail'; $conf['postfix']['vmail_groupid'] = '5000'; $conf['postfix']['vmail_groupname'] = 'vmail'; $conf['postfix']['vmail_mailbox_base'] = '/home/vmail'; //* Getmail $dist['getmail']['config_dir'] = '/etc/getmail'; $dist['getmail']['program'] = '/usr/bin/getmail'; $conf['getmail']['config_dir'] = '/etc/getmail'; $conf['getmail']['program'] = '/usr/bin/getmail'; //* Courier $dist['courier']['config_dir'] = '/etc/courier'; $dist['courier']['courier-authdaemon'] = 'courier-authdaemon'; $dist['courier']['courier-imap'] = 'courier-imap'; $dist['courier']['courier-imap-ssl'] = 'courier-imap-ssl'; $dist['courier']['courier-pop'] = 'courier-pop'; $dist['courier']['courier-pop-ssl'] = 'courier-pop-ssl'; $conf['courier']['config_dir'] = '/etc/courier'; $conf['courier']['courier-authdaemon'] = 'courier-authdaemon'; $conf['courier']['courier-imap'] = 'courier-imap'; $conf['courier']['courier-imap-ssl'] = 'courier-imap-ssl'; $conf['courier']['courier-pop'] = 'courier-pop'; $conf['courier']['courier-pop-ssl'] = 'courier-pop-ssl'; //* SASL $dist['saslauthd']['config'] = '/etc/default/saslauthd'; $dist['saslauthd']['init_script'] = 'saslauthd'; $conf['saslauthd']['config'] = '/etc/default/saslauthd'; $conf['saslauthd']['init_script'] = 'saslauthd'; //* Amavisd $dist['amavis']['config_dir'] = '/etc/amavis'; $dist['amavis']['init_script'] = 'amavis'; $conf['amavis']['config_dir'] = '/etc/amavis'; $conf['amavis']['init_script'] = 'amavis'; //* ClamAV $dist['clamav']['init_script'] = 'clamav-daemon'; $conf['clamav']['init_script'] = 'clamav-daemon'; //* Pureftpd $dist['pureftpd']['config_dir'] = '/etc/pure-ftpd'; $dist['pureftpd']['init_script'] = 'pure-ftpd-mysql'; $conf['pureftpd']['config_dir'] = '/etc/pure-ftpd'; $conf['pureftpd']['init_script'] = 'pure-ftpd-mysql'; //* MyDNS $dist['mydns']['config_dir'] = '/etc'; $dist['mydns']['init_script'] = 'mydns'; $conf['mydns']['config_dir'] = '/etc'; $conf['mydns']['init_script'] = 'mydns'; ?> install/install.php
@@ -52,21 +52,18 @@ //** Include the library with the basic installer functions require_once('lib/install.lib.php'); require_once('options.conf.php'); //** Include the base class of the installer class require_once('lib/installer_base.lib.php'); //** Include the distribution specific installer class library and configuration include_once('dist/lib/'.$conf['distname'].'.lib.php'); include_once('dist/conf/'.$conf['distname'].'.conf.php'); //** Get distribution identifier $distname = get_distname(); //** Copt the $dist created in dist/conf/foo to global var $conf['dist'] = $dist; //** Include the distribution specific installer class library and configuration include_once('dist/lib/'.$distname.'.lib.php'); include_once('dist/conf/'.$distname.'.conf.php'); //** Install logfile define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log'); //**************************************************************************************************** @@ -78,8 +75,8 @@ swriteln($inst->lng(' Tap in "quit" (without the quotes) to stop the installer.'."\n\n")); //** Check log file is writable (probably not root or sudo) if(!is_writable(ISPC_LOG_FILE)){ die("ERROR: Cannot write to the log file '".ISPC_LOG_FILE."'. Are you root or sudo ?\n\n"); if(!is_writable(dirname(ISPC_LOG_FILE))){ die("ERROR: Cannot write to the directory ".dirname(ISPC_LOG_FILE).". Are you root or sudo ?\n\n"); } //** Select the language @@ -92,7 +89,7 @@ //** Get the hostname $tmp_out = array(); exec('hostname -f', $tmp_out); $conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg foo.example.com ', $tmp_out[0]); $inst->conf['hostname'] = $inst->free_query('Full qualified hostname (FQDN) of the server, eg foo.example.com ', $tmp_out[0]); unset($tmp_out); //** Get MySQL root credentials @@ -175,19 +172,19 @@ $inst->install_crontab(); swriteln('Restarting services ...'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['mysql']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['postfix']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['saslauthd']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['amavis']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['clamav']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-authdaemon'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-imap'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-imap-ssl'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-pop'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-pop-ssl'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['apache']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['pureftpd']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['mydns']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart'); }else{ @@ -226,29 +223,29 @@ swriteln('Configuring Getmail'); $inst->configure_getmail(); system($conf['dist']['init_scripts'].'/'.$conf['dist']['postfix']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['saslauthd']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['amavis']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['clamav']['init_script'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-authdaemon'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-imap'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-imap-ssl'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-pop'].' restart'); system($conf['dist']['init_scripts'].'/'.$conf['dist']['courier']['courier-pop-ssl'].' restart'); system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart'); system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart'); } //** Configure Pureftpd if(strtolower($inst->simple_query('Configure FTP Server', array('y','n'),'y') ) == 'y') { swriteln('Configuring Pureftpd'); $inst->configure_pureftpd(); system($conf['dist']['init_scripts'].'/'.$conf['dist']['pureftpd']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart'); } //** Configure MyDNS if(strtolower($inst->simple_query('Configure DNS Server',array('y','n'),'y')) == 'y') { swriteln('Configuring MyDNS'); $inst->configure_mydns(); system($conf['dist']['init_scripts'].'/'.$conf['dist']['mydns']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart'); } //** Configure Apache @@ -265,7 +262,7 @@ //* Configure ISPConfig swriteln('Installing Crontab'); $inst->install_crontab(); system($conf['dist']['init_scripts'].'/'.$conf['dist']['apache']['init_script'].' restart'); system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart'); } } //* << $install_mode / 'Standard' or Genius install/lib/install.lib.php
@@ -56,9 +56,22 @@ $FILE = realpath('../install.php'); //** Get distribution identifier function get_distname() { global $conf; // TODO wtf ? $distname = $conf['distname']; //** Debian if(file_exists('/etc/debian_version')) { if(trim(file_get_contents('/etc/debian_version')) == '4.0') { $distname = 'debian40'; } } //** Redhat elseif(file_exists("/etc/redhat_release")) { } return $distname; } install/lib/installer_base.lib.php
@@ -33,7 +33,7 @@ var $wb = array(); var $language = 'en'; var $db; private $conf; public $conf; public function __construct() @@ -161,7 +161,7 @@ //** writes postfix configuration files private function process_postfix_config($configfile) { $config_dir = $this->conf['dist']['postfix']['config_dir'].'/'; $config_dir = $this->conf['postfix']['config_dir'].'/'; $full_file_name = $config_dir.$configfile; //* Backup exiting file if(is_file($full_file_name)){ @@ -179,7 +179,7 @@ public function configure_postfix($options = '') { $cf = $this->conf['dist']['postfix']; $cf = $this->conf['postfix']; $config_dir = $cf['config_dir']; if(!is_dir($config_dir)){ @@ -337,14 +337,14 @@ $configfile = 'sasl_smtpd.conf'; if(is_file($conf["dist"]["postfix"]["config_dir"].'/sasl/smtpd.conf')) copy($conf["dist"]["postfix"]["config_dir"].'/sasl/smtpd.conf',$conf["dist"]["postfix"]["config_dir"].'/sasl/smtpd.conf~'); if(is_file($conf["dist"]["postfix"]["config_dir"].'/sasl/smtpd.conf~')) exec('chmod 400 '.$conf["dist"]["postfix"]["config_dir"].'/sasl/smtpd.conf~'); if(is_file($conf["postfix"]["config_dir"].'/sasl/smtpd.conf')) copy($conf["postfix"]["config_dir"].'/sasl/smtpd.conf',$conf["postfix"]["config_dir"].'/sasl/smtpd.conf~'); if(is_file($conf["postfix"]["config_dir"].'/sasl/smtpd.conf~')) exec('chmod 400 '.$conf["postfix"]["config_dir"].'/sasl/smtpd.conf~'); $content = rf("tpl/".$configfile.".master"); $content = str_replace('{mysql_server_ispconfig_user}',$this->conf['mysql']['ispconfig_user'],$content); $content = str_replace('{mysql_server_ispconfig_password}',$this->conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}',$this->conf['mysql']['database'],$content); $content = str_replace('{mysql_server_ip}',$this->conf['mysql']['ip'],$content); wf($conf["dist"]["postfix"]["config_dir"].'/sasl/smtpd.conf',$content); wf($conf["postfix"]["config_dir"].'/sasl/smtpd.conf',$content); // TODO: Chmod and chown on the config file @@ -354,7 +354,7 @@ exec('mkdir -p /var/spool/postfix/var/run/saslauthd'); // Edit the file /etc/default/saslauthd $configfile = $conf['dist']["saslauthd"]["config"]; $configfile = $conf["saslauthd"]["config"]; if(is_file($configfile)) copy($configfile,$configfile.'~'); if(is_file($configfile.'~')) exec('chmod 400 '.$configfile.'~'); $content = rf($configfile); @@ -363,7 +363,7 @@ wf($configfile,$content); // Edit the file /etc/init.d/saslauthd $configfile = $conf["dist"]["init_scripts"].'/'.$conf["dist"]["saslauthd"]["init_script"]; $configfile = $conf["init_scripts"].'/'.$conf["saslauthd"]["init_script"]; $content = rf($configfile); $content = str_replace('PIDFILE=$RUN_DIR/saslauthd.pid','PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"',$content); wf($configfile,$content); @@ -373,7 +373,7 @@ public function configure_pam() { $pam = $this->conf['dist']['pam']; $pam = $this->conf['pam']; //* configure pam for SMTP authentication agains the ispconfig database $configfile = 'pamd_smtp'; if(is_file("$pam/smtp")) copy("$pam/smtp", "$pam/smtp~"); @@ -392,7 +392,7 @@ public function configure_courier() { $config_dir = $this->conf['dist']['courier']['config_dir']; $config_dir = $this->conf['courier']['config_dir']; //* authmysqlrc $configfile = 'authmysqlrc'; if(is_file("$config_dir/$configfile")){ @@ -410,7 +410,7 @@ exec("chown daemon:daemon $config_dir/$configfile"); //* authdaemonrc $configfile = $this->conf['dist']['courier']['config_dir'].'/authdaemonrc'; $configfile = $this->conf['courier']['config_dir'].'/authdaemonrc'; if(is_file($configfile)){ copy($configfile, $configfile.'~'); } @@ -427,15 +427,15 @@ // amavisd user config file $configfile = 'amavisd_user_config'; if(is_file($conf["dist"]["amavis"]["config_dir"].'/conf.d/50-user')) copy($conf["dist"]["amavis"]["config_dir"].'/conf.d/50-user',$conf["dist"]["courier"]["config_dir"].'/50-user~'); if(is_file($conf["dist"]["amavis"]["config_dir"].'/conf.d/50-user~')) exec('chmod 400 '.$conf["dist"]["amavis"]["config_dir"].'/conf.d/50-user~'); if(is_file($conf["amavis"]["config_dir"].'/conf.d/50-user')) copy($conf["amavis"]["config_dir"].'/conf.d/50-user',$conf["courier"]["config_dir"].'/50-user~'); if(is_file($conf["amavis"]["config_dir"].'/conf.d/50-user~')) exec('chmod 400 '.$conf["amavis"]["config_dir"].'/conf.d/50-user~'); $content = rf("tpl/".$configfile.".master"); $content = str_replace('{mysql_server_ispconfig_user}',$this->conf['mysql']['ispconfig_user'],$content); $content = str_replace('{mysql_server_ispconfig_password}',$this->conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}',$this->conf['mysql']['database'],$content); $content = str_replace('{mysql_server_port}',$conf["mysql"]["port"],$content); $content = str_replace('{mysql_server_ip}',$this->conf['mysql']['ip'],$content); wf($conf["dist"]["amavis"]["config_dir"].'/conf.d/50-user',$content); wf($conf["amavis"]["config_dir"].'/conf.d/50-user',$content); // TODO: chmod and chown on the config file @@ -447,7 +447,7 @@ ); // Make a backup copy of the main.cf file copy($conf["dist"]["postfix"]["config_dir"].'/main.cf',$conf["dist"]["postfix"]["config_dir"].'/main.cf~2'); copy($conf["postfix"]["config_dir"].'/main.cf',$conf["postfix"]["config_dir"].'/main.cf~2'); // Executing the postconf commands foreach($postconf_commands as $cmd) { @@ -456,11 +456,11 @@ } // Append the configuration for amavisd to the master.cf file if(is_file($conf["dist"]["postfix"]["config_dir"].'/master.cf')) copy($conf["dist"]["postfix"]["config_dir"].'/master.cf',$conf["dist"]["postfix"]["config_dir"].'/master.cf~'); if(is_file($conf["postfix"]["config_dir"].'/master.cf')) copy($conf["postfix"]["config_dir"].'/master.cf',$conf["postfix"]["config_dir"].'/master.cf~'); $content = rf("tpl/master_cf_amavis.master"); // Only add the content if we had not addded it before if(!stristr("127.0.0.1:10025 inet n - - - - smtpd",$content)) { af($conf["dist"]["postfix"]["config_dir"].'/master.cf',$content); af($conf["postfix"]["config_dir"].'/master.cf',$content); } // Add the clamav user to the amavis group @@ -483,7 +483,7 @@ public function configure_getmail() { $config_dir = $this->conf['dist']['getmail']['config_dir']; $config_dir = $this->conf['getmail']['config_dir']; $command = "useradd -d $config_dir getmail"; caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command"); @@ -498,7 +498,7 @@ public function configure_pureftpd() { $config_dir = $this->conf['dist']['pureftpd']['config_dir']; $config_dir = $this->conf['pureftpd']['config_dir']; //* configure pam for SMTP authentication agains the ispconfig database $configfile = 'db/mysql.conf'; @@ -528,17 +528,17 @@ // configure pam for SMTP authentication agains the ispconfig database $configfile = 'mydns.conf'; if(is_file($conf["dist"]["mydns"]["config_dir"].'/'.$configfile)) copy($conf["dist"]["mydns"]["config_dir"].'/'.$configfile,$conf["dist"]["mydns"]["config_dir"].'/'.$configfile.'~'); if(is_file($conf["dist"]["mydns"]["config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["dist"]["mydns"]["config_dir"].'/'.$configfile.'~'); if(is_file($conf["mydns"]["config_dir"].'/'.$configfile)) copy($conf["mydns"]["config_dir"].'/'.$configfile,$conf["mydns"]["config_dir"].'/'.$configfile.'~'); if(is_file($conf["mydns"]["config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["mydns"]["config_dir"].'/'.$configfile.'~'); $content = rf("tpl/".$configfile.".master"); $content = str_replace('{mysql_server_ispconfig_user}',$this->conf['mysql']['ispconfig_user'],$content); $content = str_replace('{mysql_server_ispconfig_password}',$this->conf['mysql']['ispconfig_password'], $content); $content = str_replace('{mysql_server_database}',$this->conf['mysql']['database'],$content); $content = str_replace('{mysql_server_host}',$conf["mysql"]["host"],$content); $content = str_replace('{server_id}',$conf["server_id"],$content); wf($conf["dist"]["mydns"]["config_dir"].'/'.$configfile,$content); exec('chmod 600 '.$conf["dist"]["mydns"]["config_dir"].'/'.$configfile); exec('chown root:root '.$conf["dist"]["mydns"]["config_dir"].'/'.$configfile); wf($conf["mydns"]["config_dir"].'/'.$configfile,$content); exec('chmod 600 '.$conf["mydns"]["config_dir"].'/'.$configfile); exec('chown root:root '.$conf["mydns"]["config_dir"].'/'.$configfile); } @@ -627,8 +627,8 @@ //* Copy the ISPConfig vhost for the controlpanel //TODO These are missing! should they be "vhost_dist_*_dir" ? $vhost_conf_dir = $this->conf['dist']['apache']['vhost_conf_dir']; $vhost_conf_enabled_dir = $this->conf['dist']['apache']['vhost_conf_enabled_dir']; $vhost_conf_dir = $this->conf['apache']['vhost_conf_dir']; $vhost_conf_enabled_dir = $this->conf['apache']['vhost_conf_enabled_dir']; copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost"); //* and create the symlink if(!is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) { @@ -653,7 +653,7 @@ unlink('crontab.txt'); //* Getmail crontab $cf = $this->conf['dist']['getmail']; $cf = $this->conf['getmail']; exec('crontab -u getmail -l > crontab.txt'); $existing_cron_jobs = file('crontab.txt'); install/update.php
@@ -38,8 +38,10 @@ // Include the base class of the installer class require_once('lib/installer_base.lib.php'); include_once("options.conf.php"); $conf['dist'] = $dist; //** Install logfile define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log'); //** Get distribution identifier $distname = get_distname(); include_once("/usr/local/ispconfig/server/lib/config.inc.php"); @@ -68,24 +70,38 @@ // 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 if($conf["mysql"]["admin_password"] != '') { system("mysqldump -h $conf[mysql_server_host] -u $conf[mysql_server_admin_user] -p$conf[mysql_server_admin_password] -c -t --add-drop-table --all --quick $conf[mysql_server_database] > existing_db.sql"); } else { system("mysqldump -h $conf[mysql_server_host] -u $conf[mysql_server_admin_user] -c -t --add-drop-table --all --quick $conf[mysql_server_database] > existing_db.sql"); if( empty($conf["mysql"]["admin_password"]) ) { $conf["mysql"]["admin_password"] = $inst->free_query('MySQL root password', $conf['mysql']['admin_password']); } 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"); } else { 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 $inst->db = new db(); if( !$inst->db->query('DROP DATABASE IF EXISTS '.$conf['mysql']['database']) ) { $inst->error('Unable to drop MySQL database: '.$conf['mysql']['database'].'.'); } // Delete the old database exec("/etc/init.d/mysql stop"); /*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); sleep(5);*/ // Create the mysql database $inst->configure_database(); @@ -98,9 +114,9 @@ // load old data back into database if($conf["mysql"]["admin_password"] != '') { system("mysql -h $conf[mysql_server_host] -u $conf[mysql_server_admin_user] -p$conf[mysql_server_admin_password] $conf[mysql_server_database] < existing_db.sql"); 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_server_host] -u $conf[mysql_server_admin_user] $conf[mysql_server_database] < existing_db.sql"); system("mysql -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." ".$conf['mysql']['database']." < existing_db.sql"); } // Configure postfix $inst->configure_postfix('dont-create-certs');