ftimme
2011-09-26 dbe5b0c9687ca2b1dc2dd7c8f150899335eae329
install/dist/lib/opensuse.lib.php
@@ -521,7 +521,7 @@
      replaceLine('/etc/suphp.conf','umask=0077','umask=0022',0);
      //}
      
      // Sites enabled and avaulable dirs
      // Sites enabled and available dirs
      exec('mkdir -p '.$conf['apache']['vhost_conf_enabled_dir']);
      exec('mkdir -p '.$conf['apache']['vhost_conf_dir']);
      
@@ -582,6 +582,66 @@
      $command = 'groupadd sshusers';
      if(!is_group('sshusers')) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      
   }
   public function configure_nginx(){
      global $conf;
      if($conf['nginx']['installed'] == false) return;
      //* Create the logging directory for the vhost logfiles
      if(!@is_dir($conf['ispconfig_log_dir'].'/httpd')) mkdir($conf['ispconfig_log_dir'].'/httpd', 0755, true);
      // Sites enabled and available dirs
      exec('mkdir -p '.$conf['nginx']['vhost_conf_enabled_dir']);
      exec('mkdir -p '.$conf['nginx']['vhost_conf_dir']);
      $content = rf('/etc/nginx/nginx.conf');
      if(stripos($content, 'include /etc/nginx/sites-enabled/*.vhost;') === false){
         $content = trim($content);
         $content = substr($content,0,-1)."\n    include /etc/nginx/sites-enabled/*.vhost;\n}";
         wf('/etc/nginx/nginx.conf',$content);
      }
      unset($content);
      // create PHP-FPM pool dir
      exec('mkdir -p '.$conf['nginx']['php_fpm_pool_dir']);
      $content = rf('/etc/php5/fpm/php-fpm.conf');
      if(stripos($content, 'include=/etc/php5/fpm/pool.d/*.conf') === false){
         af('/etc/php5/fpm/php-fpm.conf',"\ninclude=/etc/php5/fpm/pool.d/*.conf");
      }
      unset($content);
      if(!@is_file($conf['nginx']['php_fpm_ini_path'])){
         if(@is_file('/etc/php5/cli/php.ini')){
            exec('cp -f /etc/php5/cli/php.ini '.$conf['nginx']['php_fpm_ini_path']);
         } elseif(@is_file('/etc/php5/fastcgi/php.ini')){
            exec('cp -f /etc/php5/fastcgi/php.ini '.$conf['nginx']['php_fpm_ini_path']);
         } elseif(@is_file('/etc/php5/apache2/php.ini')){
            exec('cp -f /etc/php5/apache2/php.ini '.$conf['nginx']['php_fpm_ini_path']);
         }
      }
      //* make sure that webalizer finds its config file when it is directly in /etc
      if(@is_file('/etc/webalizer.conf') && !@is_dir('/etc/webalizer')) {
         mkdir('/etc/webalizer');
         symlink('/etc/webalizer.conf','/etc/webalizer/webalizer.conf');
      }
      if(is_file('/etc/webalizer/webalizer.conf')) {
         // Change webalizer mode to incremental
         replaceLine('/etc/webalizer/webalizer.conf','#IncrementalName','IncrementalName webalizer.current',0,0);
         replaceLine('/etc/webalizer/webalizer.conf','#Incremental','Incremental     yes',0,0);
         replaceLine('/etc/webalizer/webalizer.conf','#HistoryName','HistoryName     webalizer.hist',0,0);
      }
      // Check the awsatst script
      if(!is_dir('/usr/share/awstats/tools')) exec('mkdir -p /usr/share/awstats/tools');
      if(!file_exists('/usr/share/awstats/tools/awstats_buildstaticpages.pl') && file_exists('/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl')) symlink('/usr/share/doc/awstats/examples/awstats_buildstaticpages.pl','/usr/share/awstats/tools/awstats_buildstaticpages.pl');
      if(file_exists('/etc/awstats/awstats.conf.local')) replaceLine('/etc/awstats/awstats.conf.local','LogFormat=4','LogFormat=1',0,1);
      //* add a sshusers group
      $command = 'groupadd sshusers';
      if(!is_group('sshusers')) caselog($command.' &> /dev/null 2> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
   }
   
   public function configure_firewall()
@@ -831,8 +891,14 @@
      // TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
      // and must be fixed as this will allow the apache user to read the ispconfig files.
      // Later this must run as own apache server or via suexec!
      $command = 'groupmod --add-user wwwrun ispconfig';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      if($conf['apache']['installed'] == true){
         $command = 'groupmod --add-user '.$conf['apache']['user'].' ispconfig';
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      }
      if($conf['nginx']['installed'] == true){
         $command = 'groupmod --add-user '.$conf['nginx']['user'].' ispconfig';
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      }
      
      //* Make the shell scripts executable
      $command = "chmod +x $install_dir/server/scripts/*.sh";
@@ -933,6 +999,10 @@
               symlink($vhost_conf_dir.'/ispconfig.vhost',$vhost_conf_enabled_dir.'/000-ispconfig.vhost');
            }
         }
         // create symlinks from /usr/share to phpMyAdmin and SquirrelMail, if they are installed
         if(!@file_exists('/usr/share/phpmyadmin') && @is_dir('/srv/www/htdocs/phpMyAdmin')) symlink('/srv/www/htdocs/phpMyAdmin/','/usr/share/phpmyadmin');
         if(!@file_exists('/usr/share/squirrelmail') && @is_dir('/srv/www/htdocs/squirrelmail')) symlink('/srv/www/htdocs/squirrelmail/','/usr/share/squirrelmail');
      }
      
      
@@ -1019,6 +1089,11 @@
         '* * * * * /usr/local/ispconfig/server/server.sh &> /dev/null',
         '30 00 * * * /usr/local/ispconfig/server/cron_daily.sh &> /dev/null'
      );
      if ($conf['nginx']['installed'] == true) {
         $root_cron_jobs[] = "0 0 * * * /usr/local/ispconfig/server/scripts/create_daily_nginx_access_logs.sh &> /dev/null";
      }
      foreach($root_cron_jobs as $cron_job) {
         if(!in_array($cron_job."\n", $existing_root_cron_jobs)) {
            $existing_root_cron_jobs[] = $cron_job."\n";