php-fpm - konfiguracja vhostów a dziedziczenie parametrów
: 29 stycznia 2014, 22:50
Witam,
obecnie dodaje vhosty do danych użytkowników i każdy użytkownik uruchamia php ze swoimi uprawnieniami.
Szablon z którego korzystam dodając vhosta wygląda następująco:
Niestety jeśli użytkownik ma kilka vhostów, a chcę zmienić np: php_admin_value[open_basedir] dla jednego vhosta ustawienia się mieszają, zazwyczaj nie działają bo w innym pliku konfiguracyjnym innego vhosta tego użytkownika php_admin_value[open_basedir] ustawione jest na inną wartość i to ustawienie się nadpisuje.
Czyli np:
vhost A: php_admin_value[open_basedir] ="@@HOME_DIR@@:/usr/share/pear:/usr/share/php:/tmp:/usr/local/lib/php"
vhost B: php_admin_value[open_basedir] ="@@HOME_DIR@@:/usr/share/pear:/usr/share/php:/tmp:/usr/local/lib/php:/etc/mail"
vhost B będzie działał jakby miał php_admin_value[open_basedir] z vhosta A. Dopiero jak zmieniłem to ustawienie w obu plikach konfiguracyjnych była jakaś zmiana w rzeczywistości. Wnioskuję z tego, że pewne ustawienia są globalne dla użytkownika który uruchamia proces php, a nie lokalne dla każdego vhosta inne.
Jak więc to ładnie zrobić? Utworzyć oddzielny plik konfiguracyjny php z parametrami globalnymi dla użytkownika a oddzielny ze zmiennymi działającymi dla poszczególnych vhostów?
Które inne parametry są globalne dla użytkownika niezależne od vhosta?
A może to wszystko tylko jakiś bug php-fpm?
Pozdrawiam
obecnie dodaje vhosty do danych użytkowników i każdy użytkownik uruchamia php ze swoimi uprawnieniami.
Szablon z którego korzystam dodając vhosta wygląda następująco:
Kod: Zaznacz cały
[@@USER@@]
listen = /var/run/@@USER@@_fpm.sock
listen.owner = @@USER@@
listen.group = @@USER@@
listen.mode = 0660
user = @@USER@@
group = @@USER@@
pm = dynamic
pm.max_children = @@MAX_CHILDS@@
pm.start_servers = @@START_SERVERS@@
pm.min_spare_servers = @@MIN_SERVERS@@
pm.max_spare_servers = @@MAX_SERVERS@@
pm.max_requests = 500
request_terminate_timeout = 30s
chdir = /
php_admin_value[session.save_path] = "@@HOME_DIR@@/web/@@HOSTNAME@@/_sessions"
php_admin_value[open_basedir] = "@@HOME_DIR@@:/usr/share/pear:/usr/share/php:/tmp:/usr/local/lib/php"
Czyli np:
vhost A: php_admin_value[open_basedir] ="@@HOME_DIR@@:/usr/share/pear:/usr/share/php:/tmp:/usr/local/lib/php"
vhost B: php_admin_value[open_basedir] ="@@HOME_DIR@@:/usr/share/pear:/usr/share/php:/tmp:/usr/local/lib/php:/etc/mail"
vhost B będzie działał jakby miał php_admin_value[open_basedir] z vhosta A. Dopiero jak zmieniłem to ustawienie w obu plikach konfiguracyjnych była jakaś zmiana w rzeczywistości. Wnioskuję z tego, że pewne ustawienia są globalne dla użytkownika który uruchamia proces php, a nie lokalne dla każdego vhosta inne.
Jak więc to ładnie zrobić? Utworzyć oddzielny plik konfiguracyjny php z parametrami globalnymi dla użytkownika a oddzielny ze zmiennymi działającymi dla poszczególnych vhostów?
Które inne parametry są globalne dla użytkownika niezależne od vhosta?
A może to wszystko tylko jakiś bug php-fpm?
Pozdrawiam