This is taken from sites-available directory. It's a virtual host setting for apache.

Accessing myiphere/cgi-bin/ throws 403.

The directory setting for /var/www2/ drwxrwxrwx 8 www-data www-data

NameVirtualHost  myiphere
<VirtualHost  myiphere>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www2/
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www2/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

link|improve this question
What if you access myiphere/cgi-bin/some-existing-script instead? The directory itself should give 403, because Options Indexes is not enabled (which is the proper setting for such directory), but actual scripts should work. – Sergey Vlasov Nov 22 '11 at 19:50
feedback

1 Answer

I'm pretty sure your use of AllowOverride None doesn't work with Options ....

You need something like:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
        AllowOverride Options
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>

To be more restrictive, you can use:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
        AllowOverride Options=ExecCGI,Multiviews,SymLinksIfOwnerMatch
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
</Directory>
link|improve this answer
AllowOverride directives restrict only what can be changed by .htaccess files, they don't affect configuration directives specified in the server config file. – Sergey Vlasov Nov 22 '11 at 19:45
feedback

Your Answer

 
or
required, but never shown