新安装的 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 上的“符号链接不允许或链接目标不可访问”的主要内容,如果未能解决你的问题,请参考以下文章

如何用新安装的jdk替换掉Linux系统默认jdk

新安装的Linux服务器的注意事项

linux系统上新安装的硬盘一般都需要手动挂载的,在这里来给大家分享一下详细的挂载办法。

新安装的Ubuntu如何切换到root的方法

XAMPP phpmyadmin:登录凭据

新安装的Centos 7系统怎么将网卡名称改为eth0