我刚在我的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并获得了403Apache-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 文件夹中创建一个符号链接,但这两者都没有。
答案 0 :(得分:2)
Apache需要能够:
通常,您必须在主目录中向其他人(这意味着他们将能够遍历该目录,转到其子级)提供执行权限:
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!