Apache permission denied

43,968

This was the correct way to do it: (thanks to DaveRandom)

<Directory "C:/SITE/localhost/www">
    Options ExecCGI
    AllowOverride all
    Require all granted
</Directory>

Dave Random explains further:

After a little experimentation with this, I have discovered the nuance that makes this the correct answer, which is specific to Apache 2.3+. It seems that mod_authz_host directives take precedence over mod_access_compat directives, and this bubbles all the way up the directory tree. What this means is that if you are migrating from Apache 2.2 to Apache 2.4 and you use your 2.2 httpd.conf verbatim, it will work.

If, however, you perform a new install of 2.4 and base your config on the default 2.4 httpd.conf, Allow directives won't work, because the default top level section uses a Require all denied directive instead of Deny from all, and this takes precedence over any subsequent Allow directives higher up the tree. The long of the short of this is that if you are migrating your Order/Allow/Deny directives to their equivalent Requires, then you must chance all of them or you will find you get 403s you weren't expecting.

Share:
43,968
Anonymous
Author by

Anonymous

Mama please send me bitcoin: 1PenisumLQnQx81ACqrw5fYDGGybcCKVhH

Updated on May 07, 2020

Comments

  • Anonymous
    Anonymous almost 4 years

    I've just installed a new Apache 2.4.2 with Php fast cgi build on windows.

    Then I modified the httpd.conf adding the following:

    LoadModule fcgid_module modules/mod_fcgid.so  
    FcgidInitialEnv PHPRC "C:/SITE/PHP"
    AddHandler fcgid-script .php
    FcgidWrapper "C:/SITE/PHP/php-cgi.exe" .php
    
    DocumentRoot "C:/SITE/localhost/www"
    <Directory "C:/SITE/localhost/www">
        Order allow,deny
        Allow from all
    </Directory>
    

    However when I try to open my site, it says:

    Forbidden You don't have permission to access / on this server.

    Any ideas what might be the problem?