新安装的 XAMPP for Linux 上的“符号链接不允许或链接目标不可访问”
Posted
技术标签:
【中文标题】新安装的 XAMPP for Linux 上的“符号链接不允许或链接目标不可访问”【英文标题】:"Symbolic link not allowed or link target not accessible" on fresh installed XAMPP for Linux 【发布时间】:2011-10-29 11:23:02 【问题描述】:我在我的 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
打开 webapp 时,它只显示“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
选项已经定义(默认)。
有一个similar question on the XAMPP forum,但我认为似乎没有人再关注它了。
有人知道如何解决这个问题吗?
【问题讨论】:
您在/opt/lampp/htdocs
中没有禁用FollowSymLinks
的.htaccess
文件?
/opt/lampp/htdocs
中没有.htaccess
文件
【参考方案1】:
当我将文档根目录符号链接到位于我的加密主目录上的代码时,我遇到了这个问题。我还通过以拥有加密内容的用户身份运行 apache 来解决它。
【讨论】:
【参考方案2】:尝试使用您的用户运行 Apache。
默认情况下,Apache 以“www-data”运行,因此请编辑您的 apache2.conf,然后搜索“user”并设置:
user=youruser
重启 Apache,瞧,它应该可以工作了。
【讨论】:
多么奇怪的解决方案,我提出了完全相反的建议:将文件的所有权转给 apache。 @Petra Barus 你能取消标记这个答案作为解决方案吗?这个解决方案没有帮助,因为作为 www-data 运行的 apache 不是问题。【参考方案3】:我发现如果我使用来自/home/petra
之外的目录的链接,则网络应用程序可以正常工作。我想这是因为我在我的 Ubuntu 上使用了Encrypted Home Directory
设置。
我只需要将项目目录移到我的主目录之外就可以了。
【讨论】:
可能与 SELinux 政策有关。如果是这种情况,您应该在 /var/log/messages 中看到相关的警告/错误以上是关于新安装的 XAMPP for Linux 上的“符号链接不允许或链接目标不可访问”的主要内容,如果未能解决你的问题,请参考以下文章