Xampp& Apache:Alias'访问被拒绝'

时间:2011-04-24 16:26:16

标签: linux apache permissions xampp alias

我刚在我的Arch Linux系统上安装了Xampp。我现在想做什么:

我的PHP工作目录位于我的主文件夹中( / home / luke / PHP )。我希望Apache能够访问这两个文件,所以我按照Arch Linux Wiki上的Xampp Installation guide创建了这个目录的别名。 这就是我的httpd.conf(Alias部分)的样子:

Alias /PHP /home/luke/PHP
<directory /home/luke/PHP>
    AllowOverride FileInfo Limit Options Indexes
    Order allow,deny
    Allow from all
</directory>

之后,我将 home / luke / PHP - 文件夹的权限更改为777(使用chmod)。当我尝试导航到 http:// localhost / PHP

时,我重新启动了Xampp并获得了403

Apache-Server在 http -User(存在)和 http -Group下运行。所以,我在我的组中添加了 http -User(来自我的用户的 luke 组,使用chown-tool)。我重新启动了服务器,同样的错误。

这是error_log文件的一部分:

[Sun Apr 24 18:05:37 2011] [error] [client 127.0.0.1] (13)Keine Berechtigung: access to /PHP/ denied
[Sun Apr 24 18:10:30 2011] [error] [client 127.0.0.1] (13)Keine Berechtigung: access to /PHP/ denied
[Sun Apr 24 18:10:30 2011] [error] [client 127.0.0.1] (13)Keine Berechtigung: access to /PHP/ denied

因此,我创建的Alias应该可以工作,但是我需要做些什么才能使Apache服务器可以访问 / home / luke / PHP 文件夹?

我还尝试在 htdocs 文件夹中创建一个符号链接,但这两者都没有。

2 个答案:

答案 0 :(得分:2)

Apache需要能够:

  • 从您的/ home / luke / PHP目录中读取 - 您已经允许,显然
  • 遍历该目录的父目录。


通常,您必须在主目录中向其他人(这意味着他们将能够遍历该目录,转到其子级)提供执行权限:

chmod o+x /home/luke


当然(特别是在多用户环境中),您必须确保其他用户无法访问您的其他目录和文件 - 通常是删除group的所有权限和other可以在您的主目录下的目录/文件上。

答案 1 :(得分:0)

我通过配置如上所示的Alias修复了我的问题,但是将Apache的用户设置为我的用户(“luke”)并将组退出:

# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
User luke
#Group http

之后我将htdocs的所有者和PHP - 目录更改为我的用户(luke)并重新启动了LAMPP。

现在一切正常。还要感谢Pascal MARTIN和hornetbzz!