Changes

From SME Server
Jump to navigationJump to search
528 bytes added ,  07:26, 16 April 2018
no edit summary
Line 156: Line 156:     
   {
 
   {
      use esmith::AccountsDB;
+
    use esmith::AccountsDB;
      my $accounts = esmith::AccountsDB->open_ro;
+
    my $accounts = esmith::AccountsDB->open_ro;
 
+
 
      use esmith::DomainsDB;
+
    use esmith::DomainsDB;
      my $domains = esmith::DomainsDB->open_ro;
+
    my $domains = esmith::DomainsDB->open_ro;
 
+
 
      $OUT = "";
+
    $OUT = "";
 
+
 
      my $ibay = $virtualHostContent;
+
    my $ibay = $virtualHostContent;
      my $basedir = "/home/e-smith/files/ibays/$ibay";
+
    my $basedir = "/home/e-smith/files/ibays/$ibay";
      my $cgiBin = $accounts->get_prop($ibay, "CgiBin") || "";
+
    my $cgiBin = $accounts->get_prop($ibay, "CgiBin") || "";
 
+
    my $ssl_domain = $accounts->get_prop($ibay, "SSL") || "disabled";
      $OUT .= "    DocumentRoot        $basedir/html\n";
+
 
    
+
    $OUT .= "    DocumentRoot        $basedir/html\n";
      if ($cgiBin)
+
 
      {
+
        my $SSLPort = $modSSL{'TCPPort'} || '443';
  $OUT .= "    ScriptAlias /cgi-bin $basedir/cgi-bin\n";
+
        if (( $port ne $SSLPort ) && ( $ssl_domain eq 'enabled'))
      }
+
        {
      else
+
        my $portspec = ($SSLPort eq 443) ? "" : ":$SSLPort"; 
      {
+
        $OUT .= "    RewriteEngine on\n";
  $OUT .=
+
        $OUT .= "   RewriteRule ^/(.*|\$) https://%{HTTP_HOST}${portspec}/\$1 [R,L]\n";
  "    # To add cgi-bin ScriptAlias for this i-bay, run:\n"
+
        }
        . "    #  /sbin/e-smith/db accounts setprop $ibay CgiBin "
+
 
      . "enabled\n"
+
    if ($cgiBin)
        . "    #  /sbin/e-smith/signal-event console-save\n";
+
    {
      }
+
$OUT .= "    ScriptAlias /cgi-bin $basedir/cgi-bin\n";
      $OUT .= "#   Alias      /files  $basedir/files\n";
+
    }
     
+
    else
      if (($domains->get_prop($virtualHost, 'SystemPrimaryDomain') || 'no')
+
    {
            eq 'yes')
+
$OUT .=
      {
+
"    # To add cgi-bin ScriptAlias for this i-bay, run:\n"
  my @ibays = $accounts->ibays;
+
      . "    #  /sbin/e-smith/db accounts setprop $ibay CgiBin "
  foreach my $ibay (@ibays)
+
    . "enabled\n"
  {
+
      . "    #  /sbin/e-smith/signal-event console-save\n";
      my $key = $ibay->key;
+
    }
      next if $key eq $virtualHostContent;
+
    $OUT .= " #   Alias      /files  $basedir/files\n";
      my $basedir = "/home/e-smith/files/ibays/$key";
+
   
      my $cgiBin = $ibay->prop("CgiBin") || "";
+
    if (($domains->get_prop($virtualHost, 'SystemPrimaryDomain') || 'no')
      my $name = $ibay->prop("Name") || "";
+
        eq 'yes')
     
+
    {
      $OUT .= "\n";
+
my @ibays = $accounts->ibays;
      $OUT .= "    # $key ibay ($name)\n";
+
foreach my $ibay (@ibays)
      $OUT .= "\n";
+
{
     
+
    my $key = $ibay->key;
      if ($cgiBin)
+
    next if $key eq $virtualHostContent;
      {
+
    my $basedir = "/home/e-smith/files/ibays/$key";
  $OUT .= "    ScriptAlias /$key/cgi-bin $basedir/cgi-bin\n";
+
    my $cgiBin = $ibay->prop("CgiBin") || "";
      }
+
    my $name = $ibay->prop("Name") || "";
      else
+
   
      {
+
    $OUT .= "\n";
  $OUT .=  
+
    $OUT .= "    # $key ibay ($name)\n";
      "    # To add cgi-bin ScriptAlias for this i-bay, run:\n"
+
    $OUT .= "\n";
      . "    #  /sbin/e-smith/db accounts setprop $key CgiBin "
+
    my $SSLPort = $modSSL{'TCPPort'} || '443';
  . "enabled\n"
+
 
      . "    #  /sbin/e-smith/signal-event console-save\n";
+
    if (( $port ne $SSLPort ) && (($ibay->prop('SSL') || 'disabled') eq 'enabled')){
      }
+
        my $portspec = ($SSLPort eq 443) ? "" : ":$SSLPort"; 
 
+
$OUT .= "    RewriteEngine on\n";
      $OUT .= "    Alias      /$key/files  $basedir/files\n";
+
$OUT .= "   RewriteRule ^/$key(/.*|\$) https://%{HTTP_HOST}${portspec}/$key\$1 \[L,R\]\n";
 
+
    }
      # Make sure this one is last since it's a prefix of the above
+
    if ($cgiBin)
      # aliases. If we put it first, it would get expanded before the
+
    {
      # other aliases, creating problems.
+
$OUT .= "    ScriptAlias /$key/cgi-bin $basedir/cgi-bin\n";
 
+
    }
      $OUT .= "    Alias      /$key        $basedir/html\n";
+
    else
  }
+
    {
  $OUT .= "    # No ibays in system\n" unless @ibays;
+
$OUT .=  
      }
+
    "    # To add cgi-bin ScriptAlias for this i-bay, run:\n"
  }
+
    . "    #  /sbin/e-smith/db accounts setprop $key CgiBin "
 +
. "enabled\n"
 +
    . "    #  /sbin/e-smith/signal-event console-save\n";
 +
    }
 +
 
 +
    $OUT .= "    Alias      /$key/files  $basedir/files\n";
 +
 
 +
    # Make sure this one is last since it's a prefix of the above
 +
    # aliases. If we put it first, it would get expanded before the
 +
    # other aliases, creating problems.
 +
 
 +
    $OUT .= "    Alias      /$key        $basedir/html\n";
 +
}
 +
$OUT .= "    # No ibays in system\n" unless @ibays;
 +
    }
 +
}
 +
 
 
    
 
    
 
    
 
    
175

edits

Navigation menu