LAMP 403禁止访问自定义文件夹
我知道这是一个常见的问题,主要是对用户www-data
的权限问题,但是按照本指南我得到了经典错误:
403 forbidden You don't have permission to access /web on this server.
尽管有大量人员面临同样的问题,但我无法在线找到解决方案。 抱歉! 🙂
这是我的000-default.conf
文件
ServerAdmin webmaster@localhost DocumentRoot /home/tom/Dropbox/web Options FollowSymLinks AllowOverride All Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all 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/" Options Indexes MultiViews FollowSymLinks AllowOverride All Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
当然,我尝试配置本地网站的文件夹位于~/Dropbox/web
。
最后,这些是当前的权限
drwxrwxrwx 8 tom tom 4096 mars 26 09:57 Dropbox drwxrwxrwx 3 tom tom 4096 mars 26 11:47 web
谢谢
升级到apache 2.4.9+后会发生这种情况
基本上只是替换
Order allow,deny allow from all
同
Require all granted
应该解决这个问题。
就像是,
Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted
以下是http://httpd.apache.org/docs/2.4/howto/access.html的说明
如果您希望根据访问者的主机地址限制访问您网站的某些部分,则可以使用mod_authz_host轻松完成此操作。
Require提供了各种允许或拒绝访问资源的不同方法。 结合RequireAll , RequireAny和RequireNone指令,这些要求可以以任意复杂的方式组合,以强制执行您的访问策略。
mod_access_compat提供的Allow , Deny和Order指令已弃用,将在以后的版本中消失。 您应该避免使用它们,并避免过时的教程推荐使用它们。