【问题标题】:Apache Stopped Following SymlinksApache 停止跟踪符号链接
【发布时间】:2023-03-17 09:34:01
【问题描述】:

昨天,我有很多网站在本地运行,没有问题。今天,什么都没有打开,我有一个完整的日志:

Symbolic link not allowed or link target not accessible: /var/www

我不知道我做了什么(我没有以任何方式打开/更改我的 httpd.conf 文件),但显然这很糟糕。我运行虚拟主机,根目录位于~/Developer/www。为了在具有不同主目录的多台 Mac 之间共享配置文件,我创建了一个符号链接 /var/www,它指向 ~/Developer/www

所有虚拟主机配置文件都将它们的DocumentRoot 指向/var/www/project_directory,并且它自己的根目录具有FollowSymLinks 选项:

<VirtualHost *:80>
  ServerName   localhost
  ServerAlias  localhost.local localhost.dev
  DocumentRoot /var/www/_localhost

  <Directory /var/www/_localhost>
    Options FollowSymLinks Indexes
    AllowOverride None
    Order deny,allow
    Allow from all
  </Directory>
</VirtualHost>

我的主要httpd.conf 文件同样为/ 启用了FollowSymLinks 选项:

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
</Directory>

知道我可以做些什么来阻止 Apache 理解符号链接,或者更好的是,我可以做些什么来让它回到正轨?

谢谢。

更新:

我应该补充一点,“堆栈”中的所有目录都可由所有用户执行,并且这是 OS X Lion 上的本机 Apache 安装。

【问题讨论】:

    标签: apache symlink


    【解决方案1】:

    我想我做了一个我不应该做的假设。我已经验证了所有相关权限除了明显重要的权限。 Apache 对我的顶级主目录没有执行权限。我检查、重新检查并三次检查了该目录下的所有内容,但从未更改过该目录本身的任何内容,我只是没想到这是问题所在。

    【讨论】:

    • 这对我有帮助。谢谢。这并不明显
    • 我遇到了类似的问题。符号链接是用 root 用户创建的,而不是虚拟主机用户。所以 apache 看不到符号链接。改变符号链接的所有者就像一个魅力
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    相关资源
    最近更新 更多