Helló!
Egy ismerősömnek be akarok állítani egy virtualhostot a szervergépemen, viszont nem lenne jó, ha hozzáférne az ott lévő fájlokhoz, illetve mappákhoz például
echo `cat /etc/passwd`;
használatával, ezért úgy gondolom, hogy erre a chroot a legmegfelelőbb megoldás (mivel nem akarok olyan elavult szolgáltatásokkal foglalkozni, mint a disable_functions). Az alábbi beállításokat használom Apache 2-höz és PHP-FPM-hez:
/etc/php5/fpm/pool.d/example.conf
[example]
user = example
group = example
listen = /var/run/php_fpm_example.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chroot = /opt/jail/example/home/example
php_admin_value[open_basedir]=/opt/jail/example/home/example
/etc/apache2/sites-enabled/example
< VirtualHost *:80 >
ServerName example.domain.name
ServerAlias www.example.domain.name
DocumentRoot /opt/jail/example/home/example
< Directory /opt/jail/example/home/example >
AllowOverride All
Order Allow,Deny
Allow from all
< /Directory >
< IfModule mod_fastcgi.c >
< FilesMatch \.php$ >
SetHandler php-script
< /FilesMatch >
Action php-script /php5-fpm-handler
Alias /php5-fpm-handler /vhost_example
FastCGIExternalServer /vhost_example -socket /var/run/php_fpm_example.sock
< /IfModule >
< /VirtualHost >
A probléma a következő: mikor megnyitom a (www.)example.domain.name-t, csak egy "File not found." hibaüzenetet ír ki. Hiába néztem a log fájlokat, semmit nem találtam a hibával kapcsolatban. Az /opt/jail/example/home/example könyvtár és tartalma az example nevű felhasználó tulajdonában van.
Köszönöm a segítséget!