pureFTP & nginx permissions

degoya

Member
Hallo,
ich habe mit den Server mit der Anleitung perfekt Webserver Setup unter debian wheezy installiert. Soweit alles prima.
Nur folgendes Problem:

Wenn ich einen FTP User erstelle kann dieser auch verbinden und files uploaden, leider können diese Files dann nicht mehr per CMS gelöscht werden weil www-data nicht der besitzer der Datei ist sondern z.B. web1:client1. Gleiches Problem auf dem Umgekehrten weg, File per FTP löschen die www-data angelegt hat geht nicht und resultiert in permission denied.

klar könnte man für alle dateien per hand den chmod setzen aber das kann doch nicht die Lösung sein oder?
Wie müssen hier Rechte gesetzt sein damit beide die Dateien lesen/schreiben/löschen können. habe ich hier irgendwas beim setup falsch gemacht dies sollte doch sicher defaultmäßig gehen?

danke, schon mal im voraus.
 

Till

Administrator
PHP läuft abre nicht als www-data unter ispconfig sondern als user des webs, also z.B. web1:client1.
 

degoya

Member
komisch, sobald ich über das eingesetzte CMS (modx) einen File erstelle hat dieser www-data:www-data und 644.
Server ist Nginx mit php5-fpm 5.4.36 unter ispconfig 3.0.5.

habe folgende nginx direktive:

location ~ /\.ht {
deny all;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 600;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
 

Till

Administrator
Deine nginx direktive ist das Problem, du überschreibst damit den php handler und verweist die webseite auf den falschen fpm damon. die komplette Direktive ist nicht notwendig und führt zu einer Fehlkonfiguration des systems, also einfach raus löschen.
 

degoya

Member
Danke,till. jetrzt kommt gleich noch die nächste Frage dazu.
Wie kann ich dann das Timeout usw. für PHP setzen? Und wie gehe ich mit dem htaccess um der in der vollen directive mit drinne steht?

Hier meine volle direktive
location / {
rewrite ^/(en|de|fr|it)/css(.*)$ /css$2 break;
rewrite ^/(en|de|fr|it)/js(.*)$ /js$2 break;
rewrite ^/(en|de|fr|it)/img(.*)$ /img$2 break;
rewrite ^/(en|de|fr|it)/assets(.*)$ /assets$2 break;
rewrite ^/(en|de|fr|it)/fonts(.*)$ /fonts$2 break;
rewrite ^/(en|de|fr|it)/theme(.*)$ /theme$2 break;
rewrite ^/(en|de|fr|it)/content(.*)$ /content$2 break;
if (!-e $request_filename){
rewrite ^/(en|de|fr|it)?/?(.*)$ /index.php?cultureKey=$1&q=$2 last;
}
}
location ~ /\.ht {
deny all;
}
location ~ \.php$ {
auth_basic "Protected";
auth_basic_user_file /var/www/clients/client29/web65/tmp/.htpasswd;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 600;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
 

Till

Administrator
Den Rest lässt Du drin und den timeout musste ich bei mir noch nie neu setzen. Du kannst ihn aber auch global anpassen.
 

degoya

Member
wenn ich die direktive auf

Code:
location ~ \.php$ {
    auth_basic "Protected";
    auth_basic_user_file /var/www/clients/client29/web65/tmp/.htpasswd;
}

ändere, wird der php file zum download angeboten und nicht mehr vom server ausgeführt.

Konfiguriert ist die Site wie folgt:
phpfpm.jpg
 

degoya

Member
ich bekomme das PHP ohne diesen Rewrite irgendwie nicht zum laufen. Woran kann es denn liegen? Was ist das falsch konfiguriert? Bin eigentlich strikt nach der Anleitung vorgegangen.
 

Werbung

Top