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

    $OUT = "";
    my $allow = "ip $localAccess";
    my $satisfy = 'all';
    my $name = $roundcube{'Name'} || 'RoundCube IMAP Client';
    my $version = 81; # php version to use
    
    for ('exit-if-none')
    {
      if ( (exists($roundcube{'access'}))  &&  ($roundcube{'access'} eq 'public') )
      {
            $allow   = 'all granted';
            $satisfy = 'all';
      }
      
      $OUT .= "#------------------------------------------------------------\n";
      $OUT .= "# roundcube - $name\n";
      $OUT .= "#------------------------------------------------------------\n";

      {
        if ((exists $roundcube{'URL'}) && ($roundcube{'URL'} ne ''))
        { $OUT .= "Alias  /$roundcube{'URL'}  /usr/share/roundcubemail/public_html\n"; }
      }
     
      $OUT .= "\n";
      $OUT .= "<Directory /usr/share/roundcubemail>\n";
      $OUT .= "    Options FollowSymLinks\n";  
      $OUT .= "    AllowOverride All\n";
      $OUT .= "    Require $allow\n";
      $OUT .= "    AddType application/x-httpd-php .php\n";
      $OUT .= "<FilesMatch \.php\$\>\n";
      $OUT .= "SetHandler \"proxy:unix:/var/run/php-fpm/php$version-roundcube.sock|fcgi://localhost\"\n";
      $OUT .= "</FilesMatch>\n";
      $OUT .= "<Files composer.json>\n";
      $OUT .= "  Require all denied\n";
      $OUT .= "</Files>\n";
      $OUT .= "</Directory>\n";
      $OUT .= qq (
<Directory /usr/share/roundcubemail/installer/>
    Require all denied
</Directory>
# Those directories should not be viewed by Web clients.
<Directory /usr/share/roundcubemail/bin/>
    Require all denied
</Directory>
<Directory /usr/share/roundcubemail/plugins/enigma/home/>
    Require all denied
</Directory>
                 );
    }
}
