Jump to content
Froxlor Forum
  • 0

NGINX-php-fpm Froxlor eigener vhost-benutzer funktioniert nicht


Nafi

Question

Hallo

 

ich habe meiner Meinung nach ein relativ merkw?rdiges Problem.

 

Ich nutze Froxlor auf meinem debian jessie system. Als Webserver l?uft Nginx mit php-fpm.

 

Das php-fpm funktioniert auch soweit. Mein Kunde f?hrt die php Dateien der domain.de unter seinem Benutzer selbst aus. Demzufolge reichen Rechte von 750 um Dateien im Kundenverzeichnis auszuf?hren.

 

Dies funktioniert allerdings nicht f?r den Froxlor vhost selber. Die Option ist im froxlor Panel nat?rlich gesetzt, der user Froxlorlocal ist erstellt und es l?uft sogar ein fpm prozess unter diesem Nutzer.

Trotzdem f?hrt der froxlorlocal Nutzer die Dateien in /var/www/froxlor nicht selber aus, sonder der fpm master prozess. Demzufolge braucht das Verzeichnis Rechte 755 um zu funktionieren.

 

 

Woran kann das liegen?

Das ganze ist nat?rlich nicht so tragisch, schlie?lich funktioniert es f?r die Kunden-vhosts. Aber dennoch ist es meiner Meinung nach komisch.

 

 

Anhang:

 

Wie man sieht, l?uft ein Prozess unter froxlorlocal wenn ich das froxlor panel ausrufe. Wenn ich dies nicht mache, l?uft kein Prozess wegen pm = ondemand. der Nutzer Alex f?hrt in diesem Fall die Anfragen auf die domain selber aus.

root@s1:~# ps aux|grep php-fpm
root              9371  0.3  0.2 454816 22348 ?        Ss   11:44   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
froxlorlocal  9374  0.8  0.2 456856 17296 ?        S    11:44   0:00 php-fpm: pool s1.domain.de
Alex             9376  3.0  0.2 463640 23632 ?        S    11:44   0:00 php-fpm: pool domain.de
Alex            9377  0.7  0.2 463360 20840 ?        S    11:44   0:00 php-fpm: pool domain.de
Alex            9378  0.9  0.3 691620 27772 ?        S    11:44   0:00 php-fpm: pool domain.de

hier die pool.conf datei vom froxlorhost

;PHP-FPM configuration for "s1.domain.de" created on 2014.07.06 11:44:09
[s1.domain.de]
listen = /etc/nginx/fcgi/froxlor.panel-s1.domain.de-php-fpm.socket
listen.owner = froxlorlocal
listen.group = froxlorlocal
listen.mode = 0666
user = froxlorlocal
group = froxlorlocal
pm = ondemand
pm.max_children = 60
pm.start_servers = 20
pm.process_idle_timeout = 30
pm.max_requests = 0
;chroot = /var/www/froxlor/
env[TMP] = /var/customers/tmp/froxlor.panel/
env[TMPDIR] = /var/customers/tmp/froxlor.panel/
env[TEMP] = /var/customers/tmp/froxlor.panel/
php_admin_value[session.save_path] = /var/customers/tmp/froxlor.panel/
php_admin_value[upload_tmp_dir] = /var/customers/tmp/froxlor.panel/


php_admin_flag[allow_call_time_pass_reference] = Off
php_admin_flag[allow_url_fopen] = On
php_flag[asp_tags] = Off
php_admin_value[disable_functions] = exec,curl_multi_exec,parse_ini_file,passthru,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,system
php_flag[display_errors] = Off
php_flag[display_startup_errors] = Off
php_admin_flag[enable_dl] = Off
php_value[error_reporting] = E_ALL & ~E_NOTICE
php_admin_flag[expose_php] = Off
php_admin_flag[file_uploads] = On
php_admin_flag[cgi.force_redirect] = 1
php_admin_value[gpc_order] = "GPC"
php_flag[html_errors] = Off
php_admin_flag[ignore_repeated_errors] = Off
php_admin_flag[ignore_repeated_source] = Off
php_value[include_path] = ".:/usr/share/php/:/usr/share/php5/"
php_flag[log_errors] = On
php_value[log_errors_max_len] = 1024
php_flag[magic_quotes_gpc] = Off
php_flag[magic_quotes_runtime] = Off
php_flag[magic_quotes_sybase] = Off
php_value[max_execution_time] = 60
php_admin_value[max_input_time] = 60
php_admin_value[memory_limit] = 16M
php_admin_value[post_max_size] = 16M
php_admin_value[precision] = 14
php_admin_flag[register_argc_argv] = Off
php_admin_flag[report_memleaks] = On
php_admin_value[sendmail_path] = "/usr/sbin/sendmail -t -i -f admin@domain.de"
php_admin_value[session.gc_divisor] = 1000
php_admin_value[session.gc_probability] = 1
php_flag[short_open_tag] = On
php_flag[track_errors] = Off
php_value[upload_max_filesize] = 32M
php_admin_value[variables_order] = "GPCS"

Der Socket in /etc/nginx/fcgi existiert auch.

drwxr-xr-x 2 root         root         4096 Jul  6 11:44 .
drwxr-xr-x 7 root         root         4096 Jul  3 12:11 ..
srw-rw-rw- 1 Alex         Alex            0 Jul  6 11:44 Alex-domain.de-php-fpm.socket
srw-rw-rw- 1 froxlorlocal froxlorlocal    0 Jul  6 11:44 froxlor.panel-s1.domain.de-php-fpm.socket

hier noch der nginx vhost f?r die ip:80

# 10_froxlor_ipandport_ip.80.conf
# Created 06.07.2014 11:44
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

server { 
	listen    ip:80 default;
	# Froxlor default vhost
	server_name    s1.domain.de;
	access_log      /var/log/nginx/access.log;
	root     /var/www/;
	location / {
		index    index.php index.html index.htm;
	}
	location ~ \.php$ {
		 if (!-f $request_filename) {
			return 404;
		}
		fastcgi_index index.php;
		include /etc/nginx/fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		fastcgi_pass unix:/etc/nginx/fcgi/froxlor.panel-s1.domain.de-php-fpm.socket;
	}
}

Wenn ich nun die Rechte von /var/www/froxlor auf 750 setze, kommt ein 403 Error. Es wird also nicht einmal von fcgi ausgef?hrt

2014/07/06 11:52:08 [error] 9358#0: *142 "/var/www/froxlor/index.php" is forbidden (13: Permission denied), client: ip, server: s1.domain.de, request: "GET /froxlor/ HTTP/1.1", host: ip"
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Hm...in der Tat....da haben wir wohl an was nicht gedacht. F?r die Kunden wird daf?r gesorgt, dass der Webserver-User in der gruppe der User ist....deswegen funktioniert auch 750.

 

Am einfachsten w?re es wohl, den froxlorlocal user  der gruppe "webserver" (www-data oder nginx oder was es ist) hinzuzuf?gen...

Link to comment
Share on other sites

hm... in die Richtung hatte ich noch gar nicht gedacht. Ich hatte bisher immer nur die Gruppen der User ?berpr?ft, nicht aber die des Webservers. Gut damit ist das Problem nat?rlich behoben.

 

Sollte dann im Wiki vielleicht erg?nzt werden. Da man den froxlorlocal User ja manuell erstellt, kann man auch gleich noch die Gruppen anpassen

 

 

Danke f?r die schnelle Hilfe!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...