tbrehm
2009-03-12 9b30b0bd15743cdb0410107ee2f7f0392b6d6340
install/dist/lib/opensuse.lib.php
@@ -195,7 +195,7 @@
   public function configure_saslauthd() {
      global $conf;
      
      /*
      $configfile = 'sasl_smtpd.conf';
      if(is_file('/etc/sasl2/smtpd.conf')) copy('/etc/sasl2/smtpd.conf','/etc/sasl2/smtpd.conf~');
      if(is_file('/etc/sasl2/smtpd.conf~')) exec('chmod 400 '.'/etc/sasl2/smtpd.conf~');
@@ -205,7 +205,7 @@
      $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
      $content = str_replace('{mysql_server_ip}',$conf['mysql']['ip'],$content);
      wf('/etc/sasl2/smtpd.conf',$content);
      */
      
      // TODO: Chmod and chown on the config file
      
@@ -228,6 +228,9 @@
      $configfile = $conf["init_scripts"].'/'.$conf["saslauthd"]["init_script"];
      $content = rf($configfile);
      $content = str_replace('/sbin/startproc $AUTHD_BIN -a $SASLAUTHD_AUTHMECH -n $SASLAUTHD_THREADS > /dev/null 2>&1','/sbin/startproc $AUTHD_BIN -r -a $SASLAUTHD_AUTHMECH -n $SASLAUTHD_THREADS > /dev/null 2>&1',$content);
      $content = str_replace('/sbin/startproc $AUTHD_BIN $SASLAUTHD_PARAMS -a $SASLAUTHD_AUTHMECH -n $SASLAUTHD_THREADS > /dev/null 2>&1','/sbin/startproc $AUTHD_BIN $SASLAUTHD_PARAMS -r -a $SASLAUTHD_AUTHMECH -n $SASLAUTHD_THREADS > /dev/null 2>&1',$content);
      wf($configfile,$content);
      
      
@@ -426,13 +429,18 @@
      //* Create the logging directory for the vhost logfiles
      exec('mkdir -p /var/log/ispconfig/httpd');
      
      if(is_file('/etc/suphp/suphp.conf')) {
         replaceLine('/etc/suphp.conf','php=php:/srv/www/cgi-bin/php5','x-httpd-suphp=php:/srv/www/cgi-bin/php5',0);
         replaceLine('/etc/suphp.conf','docroot=','docroot=/var/clients',0);
      }
      // Sites enabled and avaulable dirs
      exec('mkdir -p '.$conf['apache']['vhost_conf_enabled_dir']);
      exec('mkdir -p '.$conf['apache']['vhost_conf_dir']);
      
      $content = rf('/etc/apache2/httpd.conf');
      if(!stristr($content,'Include /etc/apache2/sites-enabled/')) {
         af('/etc/apache2/httpd.conf',"\nInclude /etc/apache2/sites-enabled/\n\n");
         af('/etc/apache2/httpd.conf',"\n<Directory /srv/www>\n    Options FollowSymlinks\n</Directory>\n\nInclude /etc/apache2/sites-enabled/\n\n");
      }
      unset($content);
      
@@ -440,7 +448,18 @@
        $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");
      }
@@ -707,7 +726,18 @@
         $content = str_replace('{vhost_port_listen}', '', $content);
      }
      
      $content = str_replace('/var/www/', '/srv/www/', $content);
      wf("$vhost_conf_dir/ispconfig.vhost", $content);
      if(!is_file('/srv/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter')) {
         exec('mkdir -p /srv/www/php-fcgi-scripts/ispconfig');
         exec('cp tpl/apache_ispconfig_fcgi_starter.master /srv/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
         exec('chmod +x /srv/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
         exec('ln -s /usr/local/ispconfig/interface/web /srv/www/ispconfig');
         exec('chown -R ispconfig:ispconfig /srv/www/php-fcgi-scripts/ispconfig');
      }
      
      //copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost");
      //* and create the symlink
@@ -716,14 +746,6 @@
         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");
         }
         exec('mkdir -p /srv/www/php-fcgi-scripts/ispconfig');
         exec('cp tpl/apache_ispconfig_fcgi_starter.master /srv/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
         exec('chmod +x /srv/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter');
         exec('ln -s /usr/local/ispconfig/interface/web /srv/www/ispconfig');
         exec('chown -R ispconfig:ispconfig /srv/www/php-fcgi-scripts/ispconfig');
         //replaceLine('/var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter','PHPRC=','PHPRC=/etc/',0,0);
         
      }
      
@@ -753,6 +775,9 @@
      //* 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');
      
      
   }
@@ -813,13 +838,15 @@
         exec('crontab -u getmail -l > crontab.txt');
         $existing_cron_jobs = file('crontab.txt');
      
         $cron_jobs = array('*/5 * * * * '.$cf['program'].' -n -g '.$cf['config_dir'].' -r '.$cf['config_dir'].'/*.conf &> /dev/null');
         $cron_jobs = array(
                '*/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) {
            if(!in_array($cron_job."\n", $existing_cron_jobs)) {
               $existing_cron_jobs[] = $cron_job."\n";