Apache 尝试访问服务器上的“/”时出现 403 错误
Posted
技术标签:
【中文标题】Apache 尝试访问服务器上的“/”时出现 403 错误【英文标题】:Apache Gives me 403 Error when trying to access "/" on server 【发布时间】:2014-02-19 02:50:50 【问题描述】:当我尝试将 web 根路径更改为任何其他文件夹时,它给了我一个 403 错误(禁止),默认路径是 /Library/WebServer/Documents
,但由于这对我来说相当烦人,我也更改了它/Users/Xero/WebServer
权限
我通过右键单击并选择Get info
(http://i.imgur.com/f21D7z0.png它的样子)从/Library/WebServer/Documents
获得了权限
所以我将其更改为与/Users/Xero/WebServer
完全相同。但它仍然给我一个 403 错误。
尝试修复
所以,我在 Google 上查找了它,并尝试了以下解决方案来解决我的问题:
http://www.cyberciti.biz/faq/apache-403-forbidden-error-and-solution/
Error message "Forbidden You don't have permission to access / on this server"(堆栈溢出)
但他们没有帮助。
其他说明
请记住,我在 OS X Snow leopard 上使用预装的 Apache。而且,我的虚拟主机不是本地的,所以它不是hosts
文件问题的一部分(它托管在我的 DNS 之外,我的 IP 作为备份,都不起作用)
我的虚拟主机:
<VirtualHost *:80> ( Edited 2 )
DocumentRoot "/Users/Xero/WebServer"
</VirtualHost>
<VirtualHost *:80>
Options Indexes FollowSymLinks Includes ExecCGI
DocumentRoot "/Users/Xero/WebServer"
ServerName wrks.tk
ErrorLog "/Logs/Workarea/wrks-err"
CustomLog "/Logs/Workarea/wrks-acc" common
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
<Directory "/Users/Xero/WebServer">
Options +Indexes FollowSymLinks +ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Xero/WebServer"
ServerName 209.169.203.53
ErrorLog "/Logs/Workarea/ip"
CustomLog "/Logs/Workarea/ip-acc" common
<Directory "/Users/Xero/WebServer">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
另外,我的 httpd.conf User
和 Group
设置如下:
User _www
Group _www
对答案的回应
编辑
-
所以,我修复了文档的路径,但它仍然给我同样的错误,403。
我检查了我的防火墙设置,但它已关闭。我还检查了我的“共享首选项”、“文件共享”和“网络共享”是否开启。
我在 `wrks.tk` VirtualHost 中编辑了 `DirectoryIndex Home.php Home.html` 的副本,但仍然遇到同样的错误。 (见其他说明)
也添加了更多其他注释。
修复了目录,但仍然没有解决问题。
在回答回复中添加了另一个。
尝试重新启动计算机,但不起作用。
我在文件夹中放了一个`index.html`,还是一样的403错误,我尝试访问`/index.html`,还是403。
【问题讨论】:
sudo chown -R www-data /Users/Xero/WebServer ..... chmod -R 644 /Users/Xero/WebServer 请避免在 cmets 中回答(如果我得到答案,我可以投票给答案)。但我会试一试。 @RobertRozas 第一个给出了这个错误:chown: www-data: Invalid argument
第二个没有解决问题。
检查 /var/www 文件夹的用户...您必须授予该用户对 /Users/Xero/WebServer 的所有权和正确的权限...在 osx 中,用户不是 www-数据(我的错误)但是_www
@RobertRozas 好的,检查第四次编辑,我会再试一次。
【参考方案1】:
您究竟是从哪个文件获得所有这些信息的?
<VirtualHost *:80> ( Edited 2 )
DocumentRoot "/Users/Xero/WebServer"
</VirtualHost>
<VirtualHost *:80>
Options Indexes FollowSymLinks Includes ExecCGI
DocumentRoot "/Users/Xero/WebServer"
ServerName wrks.tk
ErrorLog "/Logs/Workarea/wrks-err"
CustomLog "/Logs/Workarea/wrks-acc" common
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
<Directory "/Users/Xero/WebServer">
Options +Indexes FollowSymLinks +ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Xero/WebServer"
ServerName 209.169.203.53
ErrorLog "/Logs/Workarea/ip"
CustomLog "/Logs/Workarea/ip-acc" common
<Directory "/Users/Xero/WebServer">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这些设置有多个文件。如果您有 apache,请查看 sites-enabled
和 sites-available
文件夹。
将httpd.conf
文件的底部更改为:
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
创建一个新文件index.html
并将以下内容放入其中:
<!DOCTYPE html>
<html>
<body>
<h1>It works!</h1>
<p>This is the default web page for this server.</p>
<p>The web server software is running but no content has been added, yet.</p>
</body>
</html>
然后将index.html
文件放到空目录中。
在 /etc/apache2/users/
中创建一个名为 yourusername.conf
的文件(您的用户名是帐户短名称,例如 hulu - 它通常是您在 /Users 中的主文件夹的名称),其内容如下:
<Directory "/Users/yourusername/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
【讨论】:
来自httpd-vhosts.conf
你在用lampp吗?还是阿帕奇?
Apache,我使用的是预装的 OS X (Snow Leopard) 版本。
是的,我愿意。但不是“完全相同”,而是非常相似
加了一点改动,改完后重启apache。以上是关于Apache 尝试访问服务器上的“/”时出现 403 错误的主要内容,如果未能解决你的问题,请参考以下文章
尝试访问 EC2 上的 Web 应用程序时出现“您无权访问 / 在此服务器上”
尝试在 Windows 中访问 apache vhost 时出现禁止错误