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。