LAMP 403 禁止访问自定义文件夹

LAMP 403 禁止访问自定义文件夹

我知道这是一个常见问题,主要是用户权限问题www-data,但以下指南我得到了经典的错误:

403 forbidden 
You don't have permission to access /web on this server.

尽管很多人面临同样的问题,但我还是无法在网上找到解决方案。抱歉!:)

这是我的000-default.conf文件

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/tom/Dropbox/web
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>
    <Directory /home/tom/Dropbox/web>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

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

    ErrorLog /home/tom/Dropbox/web/error.log

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

    CustomLog home/tom/Dropbox/web/access.log combined

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

当然,我尝试配置本地网站的文件夹位于~/Dropbox/web

最后,这些是当前的权限

drwxrwxrwx   8 tom tom   4096 mars  26 09:57 Dropbox
drwxrwxrwx   3 tom tom   4096 mars  26 11:47 web

谢谢

答案1

升级到 apache 2.4.9+ 后会出现这种情况

基本上只是更换

Order allow,deny
allow from all

Require all granted

应该解决这个问题。

就像是,

<Directory /home/tom/Dropbox/web>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride All
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Require all granted
</Directory>

以下是来自http://httpd.apache.org/docs/2.4/howto/access.html

如果您希望根据访问者的主机地址限制对网站部分内容的访问,最简单的方法是使用mod_authz_host

要求提供了多种允许或拒绝访问资源的方法。结合RequireAllRequireAny, 和不需要指令,这些要求可以以任意复杂的方式组合,以强制执行您的访问策略。

允许否定, 和命令指令,由修改 mod_access_compat,已弃用并将在将来的版本中消失。您应该避免使用它们,并避免使用推荐使用它们的过时教程。

相关内容