tbrehm
2009-03-12 608a8c7012e1947b020cb751f4ffda2acac40690
install/lib/installer_base.lib.php
@@ -202,6 +202,13 @@
      // TODO: Update further distribution specific parameters for server config here
      $tpl_ini_array['web']['vhost_conf_dir'] = $conf['apache']['vhost_conf_dir'];
      $tpl_ini_array['web']['vhost_conf_enabled_dir'] = $conf['apache']['vhost_conf_enabled_dir'];
      $tpl_ini_array['jailkit']['jailkit_chroot_app_programs'] = $conf['jailkit']['jailkit_chroot_app_programs'];
      $tpl_ini_array['fastcgi']['fastcgi_phpini_path'] = $conf['fastcgi']['fastcgi_phpini_path'];
      $tpl_ini_array['server']['hostname'] = $conf['hostname'];
      $tpl_ini_array['server']['ip_address'] = @gethostbyname($conf['hostname']);
      $tpl_ini_array['web']['website_basedir'] = $conf['web']['website_basedir'];
      $tpl_ini_array['web']['website_path'] = $conf['web']['website_path'];
      $tpl_ini_array['web']['website_symlinks'] = $conf['web']['website_symlinks'];
      
      $server_ini_content = array_to_ini($tpl_ini_array);
      $server_ini_content = mysql_real_escape_string($server_ini_content);
@@ -240,9 +247,9 @@
         $this->dbmaster->query('FLUSH PRIVILEGES;');
      
         //* Create the ISPConfig database user in the local database
           $query = 'GRANT SELECT, INSERT, UPDATE, DELETE ON '.$conf['mysql']['master_database'].".* "
           /*$query = 'GRANT SELECT, INSERT, UPDATE, DELETE ON '.$conf['mysql']['master_database'].".* "
                   ."TO '".$conf['mysql']['master_ispconfig_user']."'@'".$from_host."' "
                   ."IDENTIFIED BY '".$conf['mysql']['master_ispconfig_password']."';";
                   ."IDENTIFIED BY '".$conf['mysql']['master_ispconfig_password']."';";*/
         $query = 'GRANT SELECT, INSERT, UPDATE, DELETE ON '.$conf['mysql']['master_database'].".* "
                   ."TO '".$conf['mysql']['master_ispconfig_user']."'@'".$from_ip."' "
                   ."IDENTIFIED BY '".$conf['mysql']['master_ispconfig_password']."';";
@@ -698,7 +705,7 @@
      
      if(is_file('/etc/suphp/suphp.conf')) {
         replaceLine('/etc/suphp/suphp.conf','php=php:/usr/bin','x-httpd-suphp=php:/usr/bin/php-cgi',0);
         replaceLine('/etc/suphp/suphp.conf','docroot=','docroot=/var/clients',0);
         //replaceLine('/etc/suphp/suphp.conf','docroot=','docroot=/var/clients',0);
      }
      
      if(is_file('/etc/apache2/sites-enabled/000-default')) {
@@ -716,7 +723,19 @@
        $vhost_conf_dir = $conf['apache']['vhost_conf_dir'];
        $vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
        
      copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
      // copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
      $content = rf("tpl/apache_ispconfig.conf.master");
      $records = $this->db->queryAllRecords("SELECT * FROM server_ip WHERE server_id = ".$conf["server_id"]." AND virtualhost = 'y'");
      if(count($records) > 0) {
         foreach($records as $rec) {
            $content .= "NameVirtualHost ".$rec["ip_address"].":80\n";
            $content .= "NameVirtualHost ".$rec["ip_address"].":443\n";
         }
      }
      $content .= "\n";
      wf($vhost_conf_dir.'/ispconfig.conf',$content);
      if(!@is_link($vhost_conf_enabled_dir."/000-ispconfig.conf")) {
         exec("ln -s ".$vhost_conf_dir."/ispconfig.conf ".$vhost_conf_enabled_dir."/000-ispconfig.conf");
      }
@@ -908,6 +927,12 @@
      $file_server_enabled = ($conf['services']['file'])?1:0;
      $db_server_enabled = ($conf['services']['db'])?1:0;
      $vserver_server_enabled = ($conf['services']['vserver'])?1:0;
      $sql = "UPDATE `server` SET mail_server = '$mail_server_enabled', web_server = '$web_server_enabled', dns_server = '$dns_server_enabled', file_server = '$file_server_enabled', db_server = '$db_server_enabled', vserver_server = '$vserver_server_enabled' WHERE server_id = ".intval($conf['server_id']);
      
      if($conf['mysql']['master_slave_setup'] == 'y') {
@@ -991,7 +1016,8 @@
         if(!@is_link("$vhost_conf_enabled_dir/000-ispconfig.vhost")) {
            exec("ln -s $vhost_conf_dir/ispconfig.vhost $vhost_conf_enabled_dir/000-ispconfig.vhost");
         }
      }
      if(!is_file('/var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter')) {
         exec('mkdir -p /var/www/php-fcgi-scripts/ispconfig');
         exec('cp tpl/apache_ispconfig_fcgi_starter.master /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
         exec('chmod +x /var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
@@ -1000,24 +1026,31 @@
         
      }
      
      // Make the Clamav log files readable by ISPConfig
      exec('chmod +r /var/log/clamav/clamav.log');
      exec('chmod +r /var/log/clamav/freshclam.log');
      //* Install the SVN update script
      exec('cp ../helper_scripts/update_from_svn.sh /usr/local/bin/ispconfig_update_from_svn.sh');
      exec('chown root /usr/local/bin/ispconfig_update_from_svn.sh');
      exec('chmod 700 /usr/local/bin/ispconfig_update_from_svn.sh');
      //* Install the update script
      if(is_file('/usr/local/bin/ispconfig_update_from_svn.sh')) unlink('/usr/local/bin/ispconfig_update_from_svn.sh');
      exec('chown root /usr/local/ispconfig/server/scripts/update_from_svn.sh');
      exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_svn.sh');
      exec('chown root /usr/local/ispconfig/server/scripts/update_from_tgz.sh');
      exec('chmod 700 /usr/local/ispconfig/server/scripts/update_from_tgz.sh');
      exec('chown root /usr/local/ispconfig/server/scripts/ispconfig_update.sh');
      exec('chmod 700 /usr/local/ispconfig/server/scripts/ispconfig_update.sh');
      if(!is_link('/usr/local/bin/ispconfig_update_from_svn.sh')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update_from_svn.sh');
      if(!is_link('/usr/local/bin/ispconfig_update.sh')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_update.sh /usr/local/bin/ispconfig_update.sh');
      
      //* Make the logs readable for the ispconfig user
      if(@is_file('/var/log/mail.log')) exec('chmod +r /var/log/mail.log');
      if(@is_file('/var/log/mail.warn')) exec('chmod +r /var/log/mail.warn');
      if(@is_file('/var/log/mail.err')) exec('chmod +r /var/log/mail.err');
      if(@is_file('/var/log/messages')) exec('chmod +r /var/log/messages');
      if(@is_file('/var/log/clamav/clamav.log')) exec('chmod +r /var/log/clamav/clamav.log');
      if(@is_file('/var/log/clamav/freshclam.log')) exec('chmod +r /var/log/clamav/freshclam.log');
      
      //* Create the ispconfig log directory
      if(!is_dir('/var/log/ispconfig')) mkdir('/var/log/ispconfig');
      if(!is_file('/var/log/ispconfig/ispconfig.log')) exec('touch /var/log/ispconfig/ispconfig.log');
      exec('chown getmail /usr/local/ispconfig/server/scripts/run-getmail.sh');
      exec('chmod 744 /usr/local/ispconfig/server/scripts/run-getmail.sh');
      
      
   }
@@ -1079,12 +1112,12 @@
         $existing_cron_jobs = file('crontab.txt');
      
         $cron_jobs = array(
                '*/5 * * * * '.$cf['program'].' -n -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf > /dev/null 2>> /var/log/ispconfig/cron.log'
                '*/5 * * * * /usr/local/ispconfig/server/scripts/run-getmail.sh > /dev/null 2>> /var/log/ispconfig/cron.log'
            );
      
         // remove existing ispconfig cronjobs, in case the syntax has changed
         foreach($cron_jobs as $key => $val) {
            if(stristr($val,$cf['program'])) unset($existing_cron_jobs[$key]);
         foreach($existing_cron_jobs as $key => $val) {
            if(stristr($val,'getmail')) unset($existing_cron_jobs[$key]);
         }
      
         foreach($cron_jobs as $cron_job) {