{
    my $status = $phpvirtualbox{'status'} || "disabled";
    return "    # phpvirtualbox is disabled in this VirtualHost"
            unless $status eq 'enabled';

    $OUT = "";
    my $satisfy = 'all';
    my $name = $phpvirtualbox{'Name'} || 'phpvirtualbox';
    my @phpvboxusers = split(",", ($phpvirtualbox{'Users'} || "") );
    my @phpvboxgroups = split(",", ($phpvirtualbox{'userGroups'} || "") );
    my $alias = ($phpvirtualbox{'URL'} || 'phpvirtualbox');
    
    $OUT .= "#------------------------------------------------------------\n";
    $OUT .= "# phpvirtualbox - $name\n";
    $OUT .= "#------------------------------------------------------------\n";

    $OUT .= "Alias  /$alias  /opt/phpvirtualbox\n";
    $OUT .= "\n";
    if ($phpvirtualbox{'authtype'} ne 'disabled') {
      $OUT .= "<Location /$alias>\n";
      if ($phpvirtualbox{'authtype'} eq 'WebAuth') {
            $OUT .= "    AuthName \"$name\"\n";
            $OUT .= "    TKTAuthLoginURL /server-common/cgi-bin/login\n";
            $OUT .= "    TKTAuthUnauthURL /server-common/cgi-bin/logout\n";
            $OUT .= "    TKTAuthIgnoreIP on\n";
            my $ManagerTimeout = ${'httpd-admin'}{ManagerTimeout} || "30m";
            $OUT .= "    TKTAuthTimeout $ManagerTimeout\n";
            my $Cookie = ${'httpd-admin'}{Cookie} || "disabled";
            $OUT .= "    TKTAuthCookieExpires $ManagerTimeout\n" if "$Cookie" eq "enabled";
            my $ManagerTimeoutReset = ${'httpd-admin'}{ManagerTimeoutReset} || "0.66";
            $OUT .= "    TKTAuthTimeoutRefresh $ManagerTimeoutReset\n";
            $OUT .= "    GroupExternal ugroup\n";
            $OUT .= "    <RequireAll>\n";
            $OUT .= "      <RequireAny>\n";
            $OUT .= "        Require user admin @phpvboxusers\n";
            $OUT .= "        Require external-group @phpvboxgroups\n";
            $OUT .= "      </RequireAny>\n";
       } elsif ($phpvirtualbox{'authtype'} eq 'httpd_LDAP') {
            $OUT .= "    AuthName \"$name\"\n";
            $OUT .= "    AuthType Basic\n";
            $OUT .= "    AuthBasicProvider ldap\n";
            $OUT .= "    AuthLDAPURL = ldap://localhost/0=$smb{'Workgroup'},%uid\n";
            $OUT .= "    <RequireAll>\n";
            $OUT .= "      <RequireAny>\n";
            $OUT .= "        Require ldap-user admin @phpvboxusers\n";
            foreach my $group (@phpvboxgroups) {
                $OUT .= "        Require ldap-group cn=@group, o=*\n";
            }
            $OUT .= "      </RequireAny>\n";
       }
       $OUT .= "      Require ip $localAccess $externalSSLAccess\n";
       $OUT .= "    </RequireAll>\n";
       $OUT .= "</Location>\n";
       $OUT .= "\n";
    }

    $OUT .= "<Directory /opt/phpvirtualbox>\n";
    $OUT .= "    SSLRequireSSL\n";
    $OUT .= "    <FilesMatch .php\$>\n";
    $OUT .= "          SetHandler \"proxy:unix:/var/run/php-fpm/php84-phpvirtualbox.sock|fcgi://localhost\"\n";
    $OUT .= "    </FilesMatch>\n";
    $OUT .= "    AddType application/x-httpd-php .php\n";
    $OUT .= "</Directory>\n";
}
