在 Ubuntu 上的 Apache 中,我设置了一个 vhost,但在浏览器中,我一直收到“403 禁止访问”错误;日志显示“服务器配置拒绝客户端:/home/remix/“。
在网上寻找解决方案时,我发现了很多关于目录访问的帖子(允许所有人访问等),但据我所知,我已经这样做了。在httpd-vhosts.conf有以下代码:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/lampp/htdocs/"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/home/remix/"
ServerName testproject
ServerAlias testproject
<Directory "/home/remix/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我还添加了
127.0.0.1 testproject
到 /etc/hosts 文件。
此外,/home/remix/ 文件夹包含一个 index.html 文件,并且 vhosts 在 httpd.conf 中启用。
有什么是我没看到的吗?
编辑:这是 Apache error_log 条目:
[Sat Aug 18 09:15:32.666938 2012] [authz_core:error] [pid 6587]
[client 127.0.0.1:38873] AH01630: client denied by server configuration: /home/remix/
答案1
更改您的授权配置:
<Directory /home/remix/>
#...
Order allow,deny
Allow from all
</Directory>
...与 Apache 2.4 版本相同。
<Directory /home/remix/>
#...
Require all granted
</Directory>
查看升级概述文档有关您可能需要进行的其他更改的信息 - 并请注意,您在 Google(以及本网站)上找到的大多数配置示例和帮助都是指 2.2。
答案2
检查目录的权限。我敢打赌,它被设置为拒绝除您自己之外的任何人访问,例如:
$ ls -ld /home/remix
drwx------ 92 remix remix 4096 Aug 17 22:59 /home/remix
如果你drwx------
确实看到了,那么情况就是这样的。通过运行以下命令修复它:
chmod a+x /home/remix
答案3
确保运行httpd
服务的用户有权访问此目录。
答案4
另一个可能导致此问题的简单(但很棘手)的陷阱是,当用户目录不在 /home/* 中,而是在其他地方,例如 /nethome/*
提供的 userdir.conf 包含如下内容:(但 Userdir: 已禁用)
$ cat /etc/httpd/conf.d/userdir.conf
<IfModule mod_userdir.c>
UserDir enabled
UserDir public_html
</IfModule>
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
目录规范假定 ~user == /home/user。只需更改或添加目录规范,以了解用户主目录的实际位置。
很明显,但我花了一段时间才弄明白!!:-P DUH!
例如 ~user == /nethome/user
<Directory "/nethome/*/public_html">
AllowOverride All
Options MultiViews Indexes Includes FollowSymLinks
Require all granted
</Directory>
另请参阅该目录中的更多开放授权。