tbrehm
2013-01-03 10b4c85a7686da07bddb5779f8ceea48acdf412e
install/dist/lib/gentoo.lib.php
@@ -242,7 +242,7 @@
      $content = rf($configfile);
      
       if(!stristr($content,'dovecot/deliver')) {
         $deliver_content = 'dovecot   unix  -       n       n       -       -       pipe'."\n".'  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}';
         $deliver_content = 'dovecot   unix  -       n       n       -       -       pipe'."\n".'  flags=DROhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}';
         af($conf['postfix']['config_dir'].'/master.cf',$deliver_content);
      }
      unset($content);
@@ -740,6 +740,7 @@
      $content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content);
      $content = str_replace('{language}', $conf['language'], $content);
      $content = str_replace('{timezone}', $conf['timezone'], $content);
      $content = str_replace('{theme}', $conf['theme'], $content);
      
      $this->write_config_file("$install_dir/interface/lib/$configfile", $content);
      
@@ -858,10 +859,19 @@
         }
      }
      
      //* Make the APS directories group writable
      exec("chmod -R 770 $install_dir/interface/web/sites/aps_meta_packages");
      exec("chmod -R 770 $install_dir/server/aps_packages");
       //* make sure that the server config file (not the interface one) is only readable by the root user
       chmod($install_dir.'/server/lib/'.$configfile, 0600);
      chown($install_dir.'/server/lib/'.$configfile, 'root');
      chgrp($install_dir.'/server/lib/'.$configfile, 'root');
      chmod($install_dir.'/server/lib/config.inc.php', 0600);
      chown($install_dir.'/server/lib/config.inc.php', 'root');
      chgrp($install_dir.'/server/lib/config.inc.php', 'root');
      //* Make sure thet the interface config file is readable by user ispconfig only
      chmod($install_dir.'/interface/lib/config.inc.php', 0600);
      chown($install_dir.'/interface/lib/config.inc.php', 'ispconfig');
      chgrp($install_dir.'/interface/lib/config.inc.php', 'ispconfig');
      chmod($install_dir.'/server/lib/remote_action.inc.php', 0600);
      chown($install_dir.'/server/lib/remote_action.inc.php', 'root');
@@ -874,9 +884,8 @@
      }
      
      if(is_dir($install_dir.'/interface/invoices')) {
         chmod($install_dir.'/interface/invoices', 0770);
         chown($install_dir.'/interface/invoices', 'ispconfig');
         chgrp($install_dir.'/interface/invoices', 'ispconfig');
         exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
         exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
      }
      
      // TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
@@ -920,6 +929,11 @@
         } else {
            $content = str_replace('{ssl_comment}', '#', $content);
         }
         if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key') && is_file($install_dir.'/interface/ssl/ispserver.bundle')) {
            $content = str_replace('{ssl_bundle_comment}', '', $content);
         } else {
            $content = str_replace('{ssl_bundle_comment}', '#', $content);
         }
      
         $vhost_path = $conf['apache']['vhost_conf_dir'].'/ispconfig.vhost';
         $this->write_config_file($vhost_path, $content);
@@ -945,11 +959,11 @@
         $content = str_replace('{vhost_port}', $conf['nginx']['vhost_port'], $content);
      
         if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key')) {
            $content = str_replace('{ssl_on}', ' ssl', $content);
            $content = str_replace('{ssl_on}', ' on', $content);
            $content = str_replace('{ssl_comment}', '', $content);
            $content = str_replace('{fastcgi_ssl}', 'on', $content);
         } else {
            $content = str_replace('{ssl_on}', '', $content);
            $content = str_replace('{ssl_on}', ' off', $content);
            $content = str_replace('{ssl_comment}', '#', $content);
            $content = str_replace('{fastcgi_ssl}', 'off', $content);
         }
@@ -1028,12 +1042,23 @@
         touch($conf['ispconfig_log_dir'].'/ispconfig.log');
      }
      
      //* Create the ispconfig auth log file and set uid/gid
      if(!is_file($conf['ispconfig_log_dir'].'/auth.log')) {
         touch($conf['ispconfig_log_dir'].'/auth.log');
      }
      exec('chown ispconfig:ispconfig '. $conf['ispconfig_log_dir'].'/auth.log');
      exec('chmod 660 '. $conf['ispconfig_log_dir'].'/auth.log');
      rename($install_dir.'/server/scripts/run-getmail.sh', '/usr/local/bin/run-getmail.sh');
      
      if (is_user('getmail')) {
         chown('/usr/local/bin/run-getmail.sh', 'getmail');
      }
      chmod('/usr/local/bin/run-getmail.sh', 0744);
      //* Remove Domain module as its functions are available in the client module now
      if(@is_dir('/usr/local/ispconfig/interface/web/domain')) exec('rm -rf /usr/local/ispconfig/interface/web/domain');
    }
}