Marius Cramer
2014-02-18 8ddcb0d7ac2141b934c789cd7b5cf06f05e730b0
install/dist/lib/opensuse.lib.php
@@ -151,6 +151,19 @@
      //* mysql-virtual_relayrecipientmaps.cf
      $this->process_postfix_config('mysql-virtual_relayrecipientmaps.cf');
      //* postfix-dkim
      $full_file_name=$config_dir.'/tag_as_originating.re';
      if(is_file($full_file_name)) {
         copy($full_file_name, $config_dir.$configfile.'~');
      }
      wf($full_file_name, '/^/ FILTER amavis:[127.0.0.1]:10026');
      $full_file_name=$config_dir.'/tag_as_foreign.re';
      if(is_file($full_file_name)) {
         copy($full_file_name, $config_dir.$configfile.'~');
      }
      wf($full_file_name, '/^/ FILTER amavis:[127.0.0.1]:10024');
      //* Changing mode and group of the new created config files.
      caselog('chmod o= '.$config_dir.'/mysql-virtual_*.cf* &> /dev/null',
         __FILE__, __LINE__, 'chmod on mysql-virtual_*.cf*', 'chmod on mysql-virtual_*.cf* failed');
@@ -424,7 +437,7 @@
      // Adding the amavisd commands to the postfix configuration
      $postconf_commands = array (
         'dovecot_destination_recipient_limit = 1',
         'virtual_transport = dovecot',
         'virtual_transport = lmtp:unix:private/dovecot-lmtp',
         'smtpd_sasl_type = dovecot',
         'smtpd_sasl_path = private/auth',
         'receive_override_options = no_address_mappings'
@@ -483,6 +496,9 @@
      exec("chmod 600 $config_dir/$configfile");
      exec("chown root:root $config_dir/$configfile");
      // Dovecot shall ignore mounts in website directory
      exec("doveadm mount add '/srv/www/*' ignore");
   }
@@ -520,16 +536,30 @@
      // Append the configuration for amavisd to the master.cf file
      if(is_file($conf["postfix"]["config_dir"].'/master.cf')) copy($conf["postfix"]["config_dir"].'/master.cf', $conf["postfix"]["config_dir"].'/master.cf~');
      $content = rf($conf["postfix"]["config_dir"].'/master.cf');
      // Only add the content if we had not addded it before
      if(!stristr($content, "127.0.0.1:10025")) {
        // Only add the content if we had not addded it before
      if(!preg_match('/^amavis\s+unix\s+/m', $content)) {
         unset($content);
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', "tpl/master_cf_amavis.master");
         af($conf["postfix"]["config_dir"].'/master.cf', $content);
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master');
         af($conf['postfix']['config_dir'].'/master.cf', $content);
         $content = rf($conf['postfix']['config_dir'].'/master.cf');
      }
      if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) {
         unset($content);
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master');
         af($conf['postfix']['config_dir'].'/master.cf', $content);
         $content = rf($conf['postfix']['config_dir'].'/master.cf');
      }
      if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) {
         unset($content);
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master');
         af($conf['postfix']['config_dir'].'/master.cf', $content);
      }
      unset($content);
      // Add the clamav user to the vscan group
      exec('groupmod --add-user clamav vscan');
      //exec('groupmod --add-user clamav vscan');
      $command = 'usermod -a -G clamav vscan';
      caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
   }
@@ -647,7 +677,7 @@
      $content = rf('/etc/apache2/httpd.conf');
      if(!stristr($content, 'Include /etc/apache2/sites-enabled/')) {
         af('/etc/apache2/httpd.conf', "\n<Directory /srv/www>\n    Options FollowSymlinks\n</Directory>\n\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);
@@ -1051,18 +1081,22 @@
      // 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!
      if($conf['apache']['installed'] == true){
         $command = 'groupmod --add-user '.$conf['apache']['user'].' ispconfig';
         //$command = 'groupmod --add-user '.$conf['apache']['user'].' ispconfig';
         $command = 'usermod -a -G ispconfig '.$conf['apache']['user'];
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         if(is_group('ispapps')){
            $command = 'groupmod --add-user '.$conf['apache']['user'].' ispapps';
            //$command = 'groupmod --add-user '.$conf['apache']['user'].' ispapps';
            $command = 'usermod -a -G ispapps '.$conf['apache']['user'];
            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';
         //$command = 'groupmod --add-user '.$conf['nginx']['user'].' ispconfig';
          $command = 'usermod -a -G ispconfig '.$conf['nginx']['user'];
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         if(is_group('ispapps')){
            $command = 'groupmod --add-user '.$conf['nginx']['user'].' ispapps';
            //$command = 'groupmod --add-user '.$conf['nginx']['user'].' ispapps';
            $command = 'usermod -a -G ispapps '.$conf['nginx']['user'];
            caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         }
      }