Beiträge von peng

    Ich weiss nicht, ob sich open_basedir überhaupt mit symlinks austricksen lässt:


    "When a script tries to access the filesystem, for example using include, or fopen(), the location of the file is checked. When the file is outside the specified directory-tree, PHP will refuse to access it. All symbolic links are resolved, so it's not possible to avoid this restriction with a symlink."


    Quelle: https://www.php.net/manual/en/ini.core.php#ini.open-basedir

    Vielleicht verstehe ich die Aussage falsch, aber /var/www/vhosts/hosting123.abc123.netcup.net/project_xy/20211106214144/storage (der Symlink) ist ja innerhalb von open_basedir


    Versuchs also mal mit

    cd /project_xy/202111106214144

    ln -s ../storage storage


    Perfekt. Das hat funktioniert! Vielen vielen Dank!


    Jetzt frage ich mich aber, warum hat mein Ansatz nicht funktioniert?

    Zitat

    BTW: open_basedir kenne ich jetzt nicht, aber

    ln -s /project_xy/storage /project_xy/20211106214144/storage

    sieht für mich nicht gesund aus.

    Weil ich absolute Pfade verwende?

    Zusätzlich zu dem, was tab über mir bereits völlig korrekt angemerkt hat…


    Hat der Ordner project_xy die gleichen Rechte bzw. den gleichen Besitzer/Gruppe wie httpdocs?


    Falls nicht: Wiederhole den Test nochmals mit dem Docroot innerhalb von httpdocs.

    project_xy hat 755, httpdocs hat 750

    Code
    drwxr-xr-x  5 hosting123 psacln  4096 Nov  7 15:06 project_xy
    drwxr-x---  2 hosting123 psaserv 4096 Nov  7 15:39 httpdocs

    tab und KB19

    Und wenn du den '/' am Anfang weglässt? Ansonsten wird das Ziel ja ein absoluter Pfad, der so natürlich nicht innerhalb von irgendwas liegen kann.

    hier habe ich ein Verständnisproblem.

    die(__DIR__)liefert mir /var/www/vhosts/hosting123.abc123.netcup.net/project_xy/20211106214144/public

    und diesen Ordner bzw. alles unterhalb WEBSPACEROOT (=/var/www/vhosts/hosting123.abc123.netcup.net) kann ich problemlos auslesen wenn es kein Ziel von einem Symlink ist.


    Hier nochmal ein Update meiner Grafik:

    netcup2.png


    Euch beiden und auch allen anderen danke für die Hilfe! :)

    Hallo zusammen,


    ich habe noch ein paar Tests gemacht und nun als Grafik zusammenfasst.

    Damit sieht man auf einen Blick was geht und was nicht:


    netcup.png



    Und wie führst du die index.php aus? Aufruf über den Browser?

    Korrekt, über den Browser.

    Nur um das auch noch auszuschließen: Ändert sich am Verhalten etwas, wenn der Symlink über den Webserver (PHP) erstellt wird? Oder taucht der Fehler da schon beim Erstellen mittels symlink() auf?

    Gerade getestet. Der Fehler tritt auch hier auf.


    Skript

    Code
    $result = symlink('/../../storage', __DIR__ . '/../storage');
    if ($result) { echo "symlink OK"; } 
    else { echo "error"; }

    Ergebnis

    Code
    Warning: symlink(): open_basedir restriction in effect. File(/storage) is not within the allowed path(s): (/var/www/vhosts/hosting123.abc123.netcup.net/:/tmp/:/var/lib/php/sessions) in

    Danke für Deine Antwort.


    Ist FollowSymLinks oder SymlinkIfOwnerMatch auch gesetzt (.htaccess, falls Apache überhaupt verwendet wird)

    Ist gesetzt:

    Apache Configuration
    <IfModule mod_rewrite.c>
        Options +FollowSymLinks
        RewriteEngine On
    </IfModule>


    Ich konnte das Problem sogar weiter Reduzieren:


    Also

    • ohne Laravel etc.
    • Obige .htaccess und folgende Index.php
    • DocumentRoot = /project_xy/20211106214144/public

    unterer Test liefert

    Code
    is not within the allowed path(s): (/var/www/vhosts/hosting123.abc123.netcup.net/:/tmp/:/var/lib/php/sessions)

    Sowohl vendor als auch storage sind aber innerhalb von /var/www/vhosts/hosting123.abc123.netcup.net/

    nämlich:

    Code
    vendor: /var/www/vhosts/hosting123.abc123.netcup.net/project_xy/20211106214144/vendor
    storage: /var/www/vhosts/hosting123.abc123.netcup.net/project_xy/20211106214144/storage

    Der einzige Unterschied: storage ist ein Symlink ln -s /project_xy/storage /project_xy/20211106214144/storage

    Hallo zusammen,


    ich entwickle gerade eine Webseite mit Laravel. Für einen Test wollte ich meinen aktuellen Stand bei Netcup hochladen.

    Leider scheint dies nicht zu klappen.


    mit display_errors=on sehe ich:

    Code
    Warning: file_exists(): open_basedir restriction in effect. 
    File(/var/www/vhosts/hosting123.abc123.netcup.net/project_xy/20211106214144/public/../storage/framework/maintenance.php) 
    is not within the allowed path(s): (/var/www/vhosts/hosting123.abc123.netcup.net/:/tmp/:/var/lib/php/sessions) 
    in /var/www/vhosts/hosting123.abc123.netcup.net/project_xy/20211106214144/public/index.php on line 19

    open_basedir für die Domain ist im WCP wie folgt gesetzt: {WEBSPACEROOT}{/}{:}{TMP}{/}{:}{/}var{/}lib{/}php{/}sessions

    Damit müsste die Datei (eigentlich?) auch erreichbar sein.


    Meine Ordnerstruktur:

    Code
    /project_xy/storage/ <= symlink: ln -s /project_xy/storage /project_xy/20211106214144/storage
    /project_xy/20211106214144/storage/
    /project_xy/20211106214144/storage/framework/
    /project_xy/20211106214144/storage/framework/maintenance.php
    /project_xy/20211106214144/public/ <= als document_root im WCP für die Domain eingestellt
    /project_xy/20211106214144/public/index.php

    "storage" liegt also Außerhalb des aktuellen Deployments und wird per Symlink in den Ordner gesetzt (ln -s /project_xy/storage /project_xy/20211106214144/storage)

    Verzichte ich auf diesen Symlink und lege stattdessen den "storage"-Ordner direkt in das entsprechende Verzeichnis, funktioniert es.


    Unter "Einstellungen für Apache & nginx" habe ich

    Fähigkeit, symbolischen Verknüpfungen zu folgen, einschränken Wählen Sie diese Option aus, um Benutzer daran zu hindern, die Anweisung FollowSymLink in .htaccess zu verwenden und um so die Serversicherheit zu verbessern. deaktiviert


    Zur Sicherheit noch eine weitere Übersicht der Struktur:

    Code
    bash-4.4$ ls -la /project_xy/20211106214144
    lrwxrwxrwx  1 hosting123 psacln   15 Nov  7 12:04 storage -> /project_xy/storage
    
    bash-4.4$ ls -la /project_xy/
    total 4672
    drwxr-xr-x  9 hosting123 psacln     4096 Nov  7 12:02 .
    drwx--x--- 18 hosting123 psaserv    4096 Nov  6 19:03 ..
    drwxr-xr-x 10 hosting123 psacln     4096 Nov  7 12:04 20211106214144
    drwxr-xr-x  5 hosting123 psacln     4096 Oct 31 00:47 storage

    Hat jemand von Euch eine Idee warum es nicht klappt?


    Vielen Dank.

    Das ist ein sehr sehr guter Vorschlag.


    Schade, dass sich hier Netcup noch nicht geäußert hat.) ping... [netcup] Lars S. .. oder wer auch immer :saint:^^)


    Wie Du sagst, die aktuelle Möglichkeit erlaubt es zumindest den gesamtem Webspace freizugeben, aber so richtig gefällt mir diese Lösung auch nicht.

    Guten Abend zusammen,


    ich habe schon Monate lang ein automatisches Backup auf einen anderen SFTP-Server bei einem großen Anbieter eingerichtet.

    Dies klappte soweit auch alles super.


    Einstellungen im WCP

    Code
    [x] Use FTP(S) storage
    [x] Use FTPS 
    [x] use passive mode (mit und ohne probiert)

    Einstellungen beim anderen Hoster


    he.png



    Seit 3 Tagen gibt es nun plötzlich Fehler


    Mehrfach (durch das automatische Backup)

    Code
    Unable to create the remote backup: Curl error: Unable to finish an upload: (25) Upload failed (at start/before it took off): Last FTP request: QUIT: Last FTP response: 221 Goodbye: Connection to the FTP server has lost

    Manuell angestoßen

    Code
    Warning:
    Unable to find base backup for creation of incremental one, the full backup will be created. Error: Failed to exec pmm-ras: Exit code: 119: Import error: Unable to find archive metadata. The archive is not valid Plesk backup or has been created in an unsupported Plesk version
    Error:
    
    Unable to create the remote backup: Curl error: Unable to resume an interrupted upload: (55) Failed sending data to the peer: Last FTP request: APPE backup_xxxxxxxxxxx.tar: Last FTP response: 150 Opening BINARY mode data connection for backup_xxxxxxxx.tar: Connection to the FTP server has lost

    Auf dem FTP scheinen 0-KB-Dateien angelegt worden zu sein.. der Login sollte/muss also klappen...

    ftp.png


    Hat jemand von euch einen Tipp für mich wie ich die Ursache finde?


    Vielen Dank

    jupp, hatte heute (17.08.21) auch bestimmt 10 mal den Gateway-fehler ?


    des weiteren haben sich in den letzten Tagen die (durchschnittlichen) Ladezeiten meiner Webseiten mal locker verdoppelt (siehe Anlage),

    ich weiß nicht, was die da schon wieder machen -> ob es an den laufenden updates auf mySQL 8 liegt ?

    Kurz nach meinem letzten Post habe ich ein Ticket eröffnet mit Uhrzeiten und Daten.


    Als Antwort bekam ich, dass man eine "Konfiguration geändert habe".

    Tatsächlich ist aber das Problem verschwunden.


    Was ich ebenfalls bemerkt habe: Die Seite (Typo3) brauchte sporadisch sehr lange. Ein anderes Mal ging es ruck zuck.

    Seit der "Konfigurationsänderung" lädt die Seite konstant schnell. Wobei ich seit gestern hin und wieder kleinere Hänger habe.

    Werde dies weiter beobachten.

    Durch Google bin ich auf diesen Thread hier gestoßen.

    Aktuell baue ich die Webseite eines Kunden um. Ebenfalls sehe ich in unregelmäßigen Abständen (häufig (!) ein nginx Gatway-Timeout).


    Werde dies weiter beobachten und dann den Support anschreiben. Der aktuelle Zustand ist jedenfalls definitiv nicht normal.

    Das Produkt ist ein Webhosting 16 Years.

    Hallo zusammen,


    aus meiner Pipeline heraus in Gitlab heraus möchte ich einen Upload auf den FTP von Netcup durchführen.

    Leider scheint dies nicht zu funktionieren....


    Befehl

    Code
    lftp -c "set ftp:ssl-force true; set ftp:ssl-protect-data true; open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -v ./ $FTP_DESTINATION --reverse --ignore-time --parallel=10 --exclude-glob .git* --exclude .git/"

    Fehler

    Code
    mirror: Fatal error: Certificate verification: subjectAltName does not match 'hosting11xxxx.a2f5d.netcup.net' (70:95:9B:50:01:XX:XX:XX:XX..........)


    Verbinde ich mich über meinen Client in Windows (FlashFXP) funktioniert die Verbindung

    pasted-from-clipboard.png


    Log


    Hat jemand von Euch einen Tipp für mich was ich falsch mache?


    Vielen Dank

    Gibt es irgend eine Möglichkeit hier beim "normalen" Hosting per SSL (predis / php) auf einen Redis Server zuzugreifen?

    stunnel scheint eigentlich genau das zu sein was ich suche.. Aber das kriege ich natürlich nicht auf dem shared hosting installiert.

    Absolut einfach und verständlich... Warum schreibt man das nicht direkt so in die Doku :D

    Hast du den Beitrag von Peng schon gesehen, ist in diesen Beitrag auch verlinkt?

    Ich habe mittlerweile ein Ticket beim Support erstellt und auch eine Antwort erhalten (Antwort ist im Thread)
    tl;dr - es gibt derzeit keine Pläne dies zu ändern.

    Ein Update meinerseits und eine Rückmeldung vom Support


    Zitat

    Im Webhosting ist PHP 7.3 und 7.4 nur in Verbindung mit FastCGI verfügbar da wir hiermit die beste Performance gemessen haben. Bislang haben wir keine Pläne dies zu ändern.


    Sieht also nicht gut aus :(