
23.01.2010, 04:19
|
|
Постоянный
Регистрация: 06.05.2007
Сообщений: 393
С нами:
10008797
Репутация:
398
|
|
chroot + php-fpm
В процессе обсуждения в 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
симлинки
Код:
$ 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";
симлинки на дополнительно библиотеки MySQL например
Код:
$ ln -s "/lib/" "$CHROOT_FPM/lib"
$ mkdir -p "$CHROOT_FPM/tmp"
$ ln -f "/tmp/mysql.sock" "$CHROOT_FPM/tmp/mysql.sock"
Последний раз редактировалось PandoraBox; 23.01.2010 в 20:41..
|
|
|