Nginx [?] keine vorkonfigurierten permissions - eventuell vom Plesk-Filemanager her einstellbar?

  • Hallo liebe Mitforisten!

    [Vorab: Ich bediene Plesk und alle Accounts von Windows 10 via FTP into WLC - das hat allenfalls das seit ewigen Zeiten implementierte cmd.exe, also KEINE Linux-Ubuntu-Befehlszeile, KEIN "sudo" etc! Allenfalls habe ich eine Befehlszeile im Totalcommander, ob der auch Unix-Befehle nimmt, who knows... ich nicht.]

    Ich habe im Zuge eines Umzugs meine Files in ZIP mit 268 MB, das im WCP unter Plesk unpacked und las anschließend bei Aufruf der Website

    Code
    ERROR 500
    Nginx [BTW: Wieso kein Apache Server??]

    Ich gucke in den Webspace: KEIN FILE, KEIN FOLDER hat eine Berechtigung bzw. permission!

    Dann habe ich wenigstens für die index.htm eine permission 0644 im Kontextmenü einzustellen versucht - natürlich fehlerhaft, ich kenne nur chmod am File. Egal, Hauptsache, bei Aufruf der Seite ist was zu sehen.

    Dann habe ich natürlich gegoogelt und immerhin eine Übersicht über Chmod gefunden, aber das ist ja nur für einzelne Files praktikabel. Also habe ich AI befragt (gekürzt):

    Q: This [= setting permissions manually] is a lot of handy work and a lot of errors can happen, i. e. it is an error-prone process, because the cms I use has dozens and dozens of subfolders and thousend or more files, beside my user files wich include hundreds of images. Isn't there any way to configure the EMPTY webspace so that permissions AUTOMATIcALLY are given by the system during the unpacking the zip which contains 268 megabyte files (and folders)?

    MSCP: Yes, there is a way to configure your webspace so that permissions are automatically set during the unpacking of a ZIP file. This can be achieved by using default umask settings or custom scripts on the server. Here's how you can approach it:

    Set Default umask:

    The umask (user file-creation mode mask) determines the default permissions for newly created files and directories.

    If you have access to the server's configuration, you can set the umask to ensure files are created with 0664 and directories with 0755.

    For example, in a Linux environment, you can set the umask in the shell configuration file (e.g., .bashrc or .bash_profile) or in the FTP server configuration.

    Use a Custom Unpacking Script:

    Instead of relying on manual unpacking, you can create a script that unpacks the ZIP file and sets the desired permissions automatically.

    For example, a simple shell script could:

    Unpack the ZIP file using unzip.

    Recursively set permissions for files (chmod 664) and directories (chmod 755).

    Plesk File Manager Settings:

    If you're using Plesk, you can check if there are options to set default permissions for uploaded files and directories. Some hosting providers allow you to configure these settings in the control panel.

    CMS-Specific Configuration:

    Some CMS platforms have built-in tools or plugins that handle file uploads and permissions. Check if your CMS offers such features.

    By automating the process, you can minimize errors and ensure consistent permissions across all files and directories. Let me know if you'd like help with a specific script or configuration!

    [Ich frage nach dem Script:]


    Certainly! Below is an example of a shell script that you can use on your server to unpack a ZIP file and set permissions for files and directories automatically:


    bash:

    ### Explanation:

    1. **Unpack the ZIP file**: The `unzip` command extracts the contents of the ZIP file into the specified target directory.

    2. **Set file permissions**: `find . -type f -exec chmod 0664 {} +` finds all files and sets their permissions to `0664`.

    3. **Set directory permissions**: `find . -type d -exec chmod 0755 {} +` finds all directories and sets their permissions to `0755`.

    ### How to Use:

    - Save this script as a file (e.g., `set_permissions.sh`) on your server.

    - Upload the ZIP file to your server and place it in the same directory as the script.

    - Make the script executable by running: `chmod +x set_permissions.sh`.

    - Execute the script: `./set_permissions.sh`.

    This will ensure that all files and directories extracted from the ZIP file have the appropriate permissions applied automatically.

    ;;;;

    Was sagt ihr dazu? Eigentlich müsste Plesk doch eine implementierte Funktion haben, die einfach (mit Windows FTP
    im WCP aktivierbar ist, aber wo?
    :/

  • Wat?

    mit Windows FTP im WCP aktivierbar ist, aber wo?

    Was sind denn das für Sätze?

    Du kannst dich über dein cmd oder auch via Putty per SSH auf den Webserver aufschalten und für alle Dateien ein chmod aufrufen.

    Code
    # Set permissions for files (0664)
    find . -type f -exec chmod 0664 {} +
    
    
    # Set permissions for directories (0755)
    find . -type d -exec chmod 0755 {} +

    Nginx [BTW: Wieso kein Apache Server??]

    Es wird beides angeboten, da aber die Webserver Ports (80 und 443) nur von einem Programm belegt werden können, spielt nginx die Dateien aus und ist ggf. Reverse Proxy für Apache. Was ist denn dein Problem mit nginx?

    Plesk hat übrigens auch logs, einmal bitte diese Aufrufen und prüfen, warum es zu einem Error 500 kommt.

    Sind irgendwelche PHP Skripte involviert in deinen Dateien?

  • Also habe ich AI befragt (gekürzt):

    Finde den Fehler… ;)

    Was genau ist denn Deine Frage / Dein Problem? Ich habe verstanden, dass Du die Rechte einer Datei per WCP ändern konntest und dies nun für mehrere - auch rekursiv - machen möchtest.

    Dann helfen die Befehle von H6G mittels SSH-Zugang (z. B. per PuTTY). Oder Du gibst in Deinem FTP-Programm Standard-Rechte für übertragene Dateien an und lädst nicht das ZIP sondern dessen Inhalt hoch. Oder Du kannst in dem FTP-Programm Rechte setzen. Oder…

    Normalerweise sollten (in einem Webhosting) aber Datei- und Verzeichnisrechte schon korrekt auf 0644 bzw. 0755 stehen … so zumindest meine Erfahrung.

  • Danke.

    Datei per WCP ändern konntest

    Eine -1!- Datei, ja. Die index.htm, damit ich nicht ganz blöde dastehe, wenn ich die Seite aufrufe. Aber alleine Joomla 5.x besteht aus 13.000 Files. Es ist völlig unmöglich, über Filezilla die permissions von 13.000 Files, die z.T. 5 Ebenen tief verschachtelt sind, MANUELL einzustellen. Sogar die AI hat zugegeben, dass da nur Fehler bei rauskommen können.

    So was muss bei der Einrichtung des Serverspaces als Kundenservice vom Provider aus geschehen und war bei meinem alten Provider selbstverständlich auch, so dass man sich nach dem Unzip nur um einige - meiner Erfahrung nach meist max. 3 - Folder und Files zu kümmern hat, die z.B. auf 0777 einzustellen sind.

    Ich war gerade in dem Demo-Server von Plesk: https://www.plesk.com/kb/support/how…k-demo-servers/

    Selbstverständlich sind da elementare Permissions wie 0644 vorkonfiguriert. Nur hier nicht.

    Nachtrag:

    in Deinem FTP-Programm Standard-Rechte für übertragene Dateien an

    Ich habe den Plesk-FTP-Uploader benutzt und direkt von meiner Festplatte das Zip hochgeladen. Sollte DER konfiguriert werden? WO bitte?

  • Also wenn ich bei mir im Webhosting in der SSH-Konsole den Befehl umask eingebe, dann bekomme ich als Ausgabe den Wert 0022. Das ist .E. auch der Standardwert und führt dazu, dass Dateien und Verzeichnisse mit den Rechten erzeugt werden, die du ja offenbar auch haben willst, 0644 bzw 0755. Was dein zip enthält, mit welchen gesetzten Rechten und wie du das auspackst, keine Ahnung. Ich weiss nur, dass ich damit im Webhosting noch nie ein Problem hatte, es war immer so. Hier genauso wie auch anderswo. Ich habe nie ganzen Verzeichnisbäumen andere Rechte zuweisen müssen. Auch hier bei netcup nicht. Entweder ist dein Webhosting kaputt oder du hast da irgendwas falsch gemacht.

  • Putty per SSH

    Ich versuche es mal damit.

    Sind irgendwelche PHP Skripte involviert in deinen Dateien?

    Nicht dass ich wüsste... Ich überprüfe aber alle Stationen vom Packer meines "alten" Providers her noch einmal.

    im Webhosting in der SSH-Konsole den Befehl umask eingebe, dann bekomme ich als Ausgabe den Wert 0022.

    Danke. Mir ist noch eingefallen, dass ich das gleiche ZIP auch mal lokal unter xampp auspacken könnte. Wenn es da schon läuft, kann ein Fehler bei Plesk wohl eher ausgeschlossen werden.

  • oder du hast da irgendwas falsch gemacht.

    Ich habe gerade gesehen, dass mein "alter" Hoster in seinem FTP-Script noch "Archiv packen" anbietet, entweder für Windows oder für Linux. Done, Ergebnis:

    Code
    14567 :: OS - Linux
    14568 :: adding files to archive - down
    14569 :: ZIP File erstellt - example.com.zip
    14570 :: ready - 0

    Unter xampp für Windows läuft der Inhalt wohl aber eher nicht.

    BTW Es sind 14566 Files. - Aktive Scripts: Nur ein .htaccess, in dem z.B. RewriteEngine On, RewriteCond %{REQUEST_URI} usw. gesetzt sind. Daran kann es ja nicht liegen.

  • Wenn du dir sicher bist, dass in deinem - und nur deinem - Webhosting die umask nicht eingestellt ist, dann melde es dem Support, weil dann kann dir hier sowieso niemand helfen. Wenn es in mehreren Webhostings so wäre, dann kannst du dir vorstellen, dass hier im Forum mehr zu dem Thema aufschlagen würde. Und da es sich hier um ein Shared Webhosting handelt, teilen sich mehrere Kunden den selben Hostingserver. Die anderen Kunden auf dem Server müssten dann eigentlich das selbe Problem haben.