2014-09-23 77 views
1

我知道這個問題已經被問了很多次,但是我沒有看到任何解決方案的答案。apache php5-fpm 404 chroot enable錯誤

我有一個mod_proxy_fcgi + php5-fpm + apache 2.4在UBUNTU 14上配置了它的工作完全沒問題

我想使PHP-FPM chroot的(所以用戶不會訪問其他用戶共享ENV資源),如果配置:

prefix = /var/www/html/example.com/public_html/ 
chroot = $prefix 
chdir =/

配置後:如果我在瀏覽器訪問PHP腳本,我得到404錯誤「文件未找到」

如果我評論這上面的chroot配置,然後php再次運行沒有任何錯誤!

回答

0

在名爲 「Kiranos」 Freenod通道#的php-fpm的人幫我解決這個問題。

我的設置是:Apache 2.4.7 + mod_proxy_fcgi + php5-fpm on Ubuntu 14.04

的問題是,我有一個像

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/example.net/public_html/$1 

和PHP-FPM池的conf我有

chroot = /var/www/html/example.net/public_html/ 
在虛擬主機的TCP連接到PHP-FPM插座

注意:由於Apache 2.4.7不支持unix套接字連接,我不得不使用TCP。在使用TCP時,不需要提及ProxyPassMatch中用於chrooting的完整文檔路徑。

錯誤CONF在虛擬主機:

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/example.net/public_html/$1 

在虛擬主機正確CONF:

​​

這樣做的chroot後,工作..

0

我不知道chroot是否是完美的解決方案。 chroot不是自動的,意味着更好的安全性。例如,更好的方法是使用suexec運行其他用戶下的每個站點。然後,每個客戶都擁有自己的用戶,只有在自己的文件夾中具有指定的權限

chroot不錯,但會造成一些問題。如果你計劃給用戶一個SSH入口到你的系統,那麼chroot很有趣。

https://serverfault.com/questions/139826/apache-suexec-php-fpm-how-to-set-them-up