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 檢測。

但仍然不起作用的是動態 fastcgi 和 suexec 下的/var/www/...。即使腳本由正確的使用者擁有,suexec 也不會顯示任何錯誤並且似乎不會運行(腳本作為 www-data 工作)

答案1

suexec 僅執行 apache 文檔根目錄中的程式。看suexec 安全性模型,特別是第 13 點。

相關內容