pureFTP & nginx permissions

#1
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.
 
#3
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
#4
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.
 
#5
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;
}
 
#7
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:
 
#8
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