2011-05-01 4 views
0

Lighttpd와 php-fpm을 사용하고 있습니다. 각 웹 사이트의 가상 호스트를 chroot하고 싶습니다. 웹 사이트의PHP-FPM and CHROOT

페이지는 다음에 : /home/vhosts/example1.com/web

각각의 가상 호스트는 같은 레이어가 있습니다

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

나는 문서로 경로 이런 종류의 사용을

document-root = /web 

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

하지만 난 항상 404을하지 얻을 : 도메인 (example1.com), 내가 가상 호스트를 chroot를 사용해야하는 심령 어떤 경로를 모르는의 -root, 나는 시도 오류가 발생했습니다. 유령을 어떻게 chroot 할 수 있습니까?

(각 웹 사이트는 .PHP .html과 페이지가 있습니다.) lighttpd.conf가에서

답변

1

:

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

:

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

@konforce ?? 수신 옵션에 IP 주소를 사용하고 있습니다 : 127.0.0.1:9001 (fpm.conf)이고 소켓을 설정하지는 않지만 fascgi.server – Dail

+0

@Dail에 IP 주소를 설정 한 다음 그 비트를 무시하십시오. – Matthew

+0

@konforce, 당신이 작성한 php.socket 대신 IP : PORT를 사용할 수 있다는 것을 의미합니까? – Dail

0

사용 $prefix & $pool 변수 fpm.conf에서 여러 개의 chroot를 간단하게 구성 할 수 있습니다.

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

[example2.com] 
prefix = /home/vhosts/$pool/ 
listen = $prefix/php.sock 
chroot = $prefix 
당신은이 IP 주소로 TCP 연결을 제한하는 제한

이 잊지 마세요

유닉스 소켓을 사용하는 것보다 더 안정적입니다으로 TCP/IP to listen가 빠르게 성장하는 사이트에 대한 소켓의 insted 사용할 수 있습니다

:

listen.allowed_clients = 127.0.0.1