suexec 和 docroot 问题

suexec 和 docroot 问题

我在 apache2 下运行 FastCgiServer 时遇到问题。当我定义一个配置了静态 fcgi 服务器的虚拟主机时,suexec 会报错:

command not in docroot (/var/www-blah/dispatcher.fcgi)

这是正确的,因为 docroot 是/var/www。但是当我使用由 magic 生成的动态 fastcgi 时AddHandler,我也在使用suexec,并且不会发生相同的问题 - 即使脚本位于 中/home/.../public_html/dispatcher.fcgi

是什么原因suexec导致它在那里正常运行?我如何在虚拟主机上复制该行为?

更新:实际上,我将我的东西从 移到/var/www-blah/var/www/blah,因此它位于 docroot 下,并且可以正常工作。我猜 suexec 有一些 public_html 检测。

但是,仍然无法工作的是带有 suexec 的动态 fastcgi /var/www/...。即使脚本属于正确的用户,suexec 也不会显示任何错误,并且似乎无法运行(脚本作为 www-data 工作)

答案1

suexec 仅执行 apache 文档根目录中的程序。请参阅suexec 安全模型,特别是第 13 点。

相关内容