在新安装的Linux XAMPP上,“符号链接不允许或链接目标不可访问”。

13
我在我的Ubuntu 11.04 x64笔记本电脑上进行了XAMPP for Linux(版本1.7.4)的全新安装。然后我在htdocs文件夹中创建了一个链接指向我的项目文件夹:
$pwd
/opt/lampp/htdocs
$sudo ln -s /home/petra/projects/webapp webapp
$ls -al
drwxr-xr-x  4 nobody root 4096 2011-08-18 11:58 .
drwxr-xr-x 18 root   root 4096 2011-01-25 15:33 ..
lrwxrwxrwx  1 root   root   26 2011-08-18 11:42 webapp -> /home/petra/projects/webapp

当我使用 http://localhost/webapp 在浏览器中打开Web应用程序时,它只显示“403 Access Forbidden”。错误日志如下:

$tail -f /opt/lampp/logs/error_log
[Thu Aug 18 11:43:15 2011] [error] [client 127.0.0.1] Symbolic link not allowed or link target not accessible: /opt/lampp/htdocs/webapp

这里是httpd.conf文件。奇怪的是,FollowSymLinks选项已经被定义(默认)。
在XAMPP论坛上有一个类似的问题,但我认为没有人再关注它了。
有人有想法如何解决这个问题吗?

你的/opt/lampp/htdocs中没有一个.htaccess文件来禁用FollowSymLinks吗? - alex
/opt/lampp/htdocs目录下没有.htaccess文件。 - Petra Barus
3个回答

7

尝试使用您的用户运行Apache。

默认情况下,Apache会以“www-data”身份运行,因此请编辑您的apache2.conf文件,并搜索“user”,然后设置:

user=youruser

重新启动Apache,然后就可以运行了。

13
多么奇怪的解决方案,我建议恰恰相反:将文件所有权转移到Apache。 - ychaouche
1
@Petra Barus,您能取消标记此答案为解决方案吗? 这个解决方案并不有用,因为作为www-data运行的apache并不是问题。 - Mariano Argañaraz

5
我发现如果我使用位于/home/petra之外的目录中的链接,Web应用程序可以正常工作。 我猜这是因为我在Ubuntu上使用了加密家目录设置。 我只需要将项目目录移出我的主目录即可使其正常工作。

也许与SELinux策略有关。如果是这种情况,您应该在/var/log/messages中看到相关的警告/错误信息。 - ychaouche

0

当我将文档根符号链接到存储在加密主目录中的代码时,我遇到了这个问题。我通过以拥有加密内容的用户身份运行Apache来解决它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接