2011-05-01 37 views
0

我使用Lighttpd和php-fpm,我想chroot每個網站的虛擬主機。PHP-FPM和CHROOT

該網站的網頁是:/home/vhosts/example1.com/web

每個虛擬主機具有相同的層:

/home/vhosts/example1.com/web 
/home/vhosts/example2.com/web 
/home/vhosts/example3.com/web 

我用這種路徑作爲文件域(example1.com),我不知道我應該用什麼心理路徑的chroot虛擬主機的-root,我想:

document-root = /web 

chroot = /home/vhosts/example1.com/ (on php-fpm.conf file) 

,但我總能得到404 NOT找到錯誤。我該如何chroot虛擬主機?

(每個網站都有.PHP和.html頁面。)

回答

1

在lighttpd.conf:

server.document-root = "/home/vhosts/example1.com/web" 
fastcgi.server = (
    ".php" => (
    "localhost" => (
    "docroot" => "/web", 
    "socket" => "/home/vhosts/example1.com/php.socket", 
    ) 
) 
) 

在fpm.conf:

listen = /home/vhosts/example1.com/php.socket 
chroot = /home/vhosts/example1.com/ 
+0

@ konforce ??我在監聽選項上使用IP ADDRESS,例如:127.0.0.1:9001(fpm.conf),並且我沒有設置套接字,而是在fascgi.server – Dail 2011-05-01 22:00:59

+0

@Dail上設置IP地址,然後忽略該位。 – Matthew 2011-05-01 22:20:48

+0

@ konforce,你的意思是我可以使用IP:PORT代替你寫的php.socket? – Dail 2011-05-01 22:21:39

0

使用$prefix & $pool變量在fpm.conf中簡化多個chroots配置

[example1.com] 
prefix = /home/vhosts/$pool/ 
listen = $prefix/php.sock 
chroot = $prefix 

[example2.com] 
prefix = /home/vhosts/$pool/ 
listen = $prefix/php.sock 
chroot = $prefix 

您可能需要使用TCP/IP to listen insted的插座的一個快速增長的網站,因爲它是更穩定的比使用Unix套接字

不要忘了限制,以限制IP地址的TCP連接:

listen.allowed_clients = 127.0.0.1