[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: chroot + php-fpm
PandoraBox2007
В процессе обсуждения в highload_php_ru оказалось, что в услвиях chroot, fopen("http://yandex.ru") не работает, т.к. неможет отрезолвить адрес.

Хотел было тоже поковыряться в поисках решения, но это сделали быстрей меня. Оставляю здесь решение, чтобы не потерялось.

Нужно скопировать из корневого /etc в сhroot-овый etc файлы host.conf, hosts, localtime, resolv.conf, nsswitch.conf (по идеи только его должно хватить, но не уверен). Также cp -a /lib/libnss_{dns,files,compat}* /chroot/lib/ и рестарт php-fpm, чтобы glibc подхватил нужные либы

$ set CHROOT_FPM="/var/www"; echo $CHROOT_FPM;
/var/www</span>


симлинки
$ ln -s "/etc/host.conf" "$CHROOT_FPM/host.conf";
$ ln -s "/etc/hosts" "$CHROOT_FPM/hosts";
$ ln -s "/etc/localtime" "$CHROOT_FPM/localtime";
$ ln -s "/etc/resolv.conf" "$CHROOT_FPM/resolv.conf";
$ ln -s "/etc/nsswitch.conf" "$CHROOT_FPM/nsswitch.conf"</span>


симлинки на дополнительно библиотеки MySQL например
$ ln -s "/lib/" "lib"
$ mkdir -p "tmp"
$ ln -f "/tmp/mysql.sock" "$CHROOT_FPM/tmp/mysql.sock"</span>




Спустя 31 минута, 52 секунды (23.01.2010 - 04:07) PandoraBox2007 написал(а):
на примере NgINX smile.gif

        location ~ \.php$ {
................
root /var/www/rambler_ru;
.......
fastcgi_param DOCUMENT_ROOT /rambler_ru;
fastcgi_param SCRIPT_FILENAME /rambler_ru$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /rambler_ru$fastcgi_script_name;

include fastcgi_params;</span>


в fastcgi_params коментируем
#fastcgi_param  DOCUMENT_ROOT      $document_root;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.