Root auf Nginx kann aus irgendeinem Grund nicht geändert werden

Root auf Nginx kann aus irgendeinem Grund nicht geändert werden

Aus irgendeinem Grund kann ich den Root nicht ändern. Ich habe die gleichen Rechte wie der Standard-Root auf /usr/share/nginx/htmlund habe auch 755rekursiven Zugriff auf alle Dateien und Ordner in meinem anderen Ordner. Ich habe sogar versucht, den Benutzer und die Gruppe hin und her zu rooten und nginx zu ändern, um zu sehen, ob es einen Unterschied macht, aber es macht keinen. Ich bekomme immer403 Verboten

also im Grunde habe ich diesen Ordner

$ mkdir -p /srv/www/test.com/public_html

$ vi /srv/www/test.com/public_html/index.html

$ vi /srv/www/test.com/public_html/test.php

$ chmod -R 755 /srv/www/test.com/public_html

habe versucht, den Benutzer und die Gruppe auf nginx zu ändern

$ chown -R nginx:nginx /srv/www

konfiguriert die Haupt-Conf-Datei

$ vi /etc/nginx/nginx.conf

so sieht meine Konfiguration aus, die Includes sind auskommentiert

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log;   
pid        /run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    index index.php index.html index.htm;

    server {

        listen       80;
        server_name  _;
        root /srv/www/test.com/public_html;
        # root  /usr/share/nginx/html;

        location / {
                autoindex on;
        }

        error_page  404 /404.html;

        location = /40x.html { }


        error_page   500 502 503 504  /50x.html;

        location = /50x.html { }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass   unix:/var/run/php-fpm/www.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }

    }

}       

alles funktioniert im auskommentierten Standardstammordner, aber wenn ich den Stammordner ändere, bekomme ich 403 Forbidden. Ich habe das Gefühl, ich habe alles versucht, was ich konnte, Benutzer und Dateiberechtigungen geändert und so weiter. Das php-fpm hat nginx als Benutzer und Gruppe. und der Benutzer ist in der Datei main.conf auf nginx eingestellt. Ich verwende nur diese eine Datei für die Konfiguration von nginx und habe die Includes auskommentiert.

Ich habe keine Ahnung, was ich tun soll. Ich stecke jetzt schon seit Stunden fest. Für jede Hilfe wäre ich sehr dankbar.

Antwort1

Der Klarheit halber veröffentliche ich meinen Kommentar als Antwort, dies wurde durch SELinux verursacht und das Setzen des Richtlinienmodus auf permissiv semanage permissive -a httpd_tist ein "schnell und dreckig" Lösung.

Die saubere Lösung wäre, den SELinux-Kontext festzulegen chcon -Rt httpd_sys_content_t /srv/www/test.comund nach potenziellen neuen SELinux-Beschwerden zu suchen, falls welche vorhanden sind (hängt davon ab, was Sie als Nächstes in Ihrer Konfigurationsdatei festlegen).

verwandte Informationen