Owncloud10 open_basedir restriction in effect

  • Hallo,


    ich bin etwas ratlos und wende mich deshalb an euch. Ich habe auf meinem Webhosting-Paket "4000 SE" owncloud 10.0.10 installiert. Hab ich an die Anleitung auf der Owncloud Seite gehalten und hat soweit auch funktioniert. Nur wenn ich mich einloggen möchte, dann kommt irgendwan ein "504 Gateway-Timeout" und das owncloud.log wird mit hunderten Nachrichten von dieser Art gefüllt:


    Mir ist klar, dass der Zugriff auf File(/) verboten ist, aber wieso möchte Owncloud auf diesen Pfad zugreifen? Habe ich etwas falsch konfiguriert?

    Bin dankbar für eure Tipps und Lösungsvorschläge.


    Gruß
    Mazze

  • Fehlt dir eventuell die .htaccess?


    Meine Minecraft-Plugins auf SpigotMC (Open Source): www.spigotmc.org/members/mfnalex.175238/#resources

    Discord: discord.jeff-media.com

  • Auf den ersten groben Blick versucht hier owncloud auf eine Datei außerhalb der erlaubten Verzeichnisstruktur zuzugreifen. Wurde bereits etwas an dieser geändert, z.B. das Dateiverzeichnis?


    Owncloud möchte darauf zugreifen, da es das Herzstück des Cloudspeichers ist, nämlich die Ablage der Dateien.

  • Die open_basedir Einstellungen kannst du in den PHP-Einstellungen im WCP ändern. Ich gehe mal davon aus, dass hier momentan bei dir nur innerhalb der document root und auf die temporären Verzeichnisse zugegriffen werden darf seitens PHP. Das ist die Default-Einstellung. Du solltest also mal die andere Alternative ausprobieren, damit darf PHP auch auf alles innerhalb deines Webspace zugreifen. Nachteil: Hast du mehrere Projekte/Domains in diesem Webspace, dann kann owncloud auch auf die Dateien der anderen Projekte zugreifen, könnte diese also im worst case auch ändern oder löschen.

  • Hay,

    Die open_basedir Einstellungen kannst du in den PHP-Einstellungen im WCP ändern.

    a) open_basedir zu ändern ist in der Regel der schlechteste Weg.

    b) ich glaube kaum, dass Du mit einem Webhosting-Account auf / schreiben darfst. Aus Sicht des Apachen ist / nicht das chroot-/, sondern das echte Wurzelverzeichnis.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Wohl wahr, dann ist die Cloud wohl einfach falsch konfiguriert. Owncloud habe ich noch nicht verwendet, dafür aber andere Systeme, für die man die open_basedir-Einstellungen tatsächlich ändern muss, da eigentlich auf das ganze Installationsverzeichnis der Anwendung zugegriffen werden muss, das document root aber z.B. bei Symfony-Anwendungen nicht das Installationsverzeichnis ist, sondern ein Unterverzeichnis davon. open_basedir Einstellung ist im Webhosting leider nur sehr grob möglich (document root oder ganzer Webspace), document root reicht nicht, also webspace root praktisch erzwungen. Natürlich suboptimal, ist aber im Vergleich zu vielen anderen Webhostern immer noch (etwas) besser. Oder welchen anderen Weg hattest Du als besser im Auge (Punkt a) )?


    Bei owncloud scheint aber keine solche Konstellation vorzuliegen, eventuell wurde einfach der gewünschte Pfad zu den Daten falsch gesetzt, auf das Wurzelverzeichnis des Webservers wird man natürlich (hoffentlich ;) ) nicht schreiben dürfen

  • Hay,

    Fehlt dir eventuell die .htaccess?

    Diese Frage (und unter dem Spoilerbutton befindet sich die Datei) ist eigentlich noch nicht beantwortet, wobei ein Zugriff auf ein File (bzw. realpath()) ins Dateisystem geht und nicht per htaccess umgebogen wird.


    Du hast im Owncloud Verzeichnis ein config-Verzeichnis mit einer config.php. Bitte poste mal die Zeile 'datadirectory'.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Hay,


    Ich denke dass das Datenverzeichnis woanders liegt


    der nächste Schritt wäre gewesen, zu fragen, ob das Verzeichnis korrekt ist und der übernächste wäre, die Zugriffsrechte des Verzeichnisses zu überprüfen :Dund der letzte Schritt wäre die Anmerkung, dass gerade diese Meldung recht häufig in (bestätigten) Bugreports auftaucht =O


    Aber eins nach dem anderen.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Hi zusammen,


    danke für die vielen Antworten.


    Also das datadirectory sitz so: "'datadirectory' => '/httpdocs/www-mazze-online/owncloud/data'," for die occ Kommandos, für die Nutzung über die Anwendung/Browser muss ich den Pfad dann noch anpassen in "'datadirectory' => '/var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data'"


    Da ich nur mit dem Hosting-User Dinge anlegen usw. kann passen die Rechte des Verzeichnisses in meinen Augen auch "drwxrwx" Owner ist der Webhosting User "hosting117411"


    Sieht also für mich auch alles korrekt aus. Ich bin echt sehr verwundert.


    htaccess passt auch, ist die original von owncloud.


    Weitere Ideen? Ich glaube ich probier später nochmal Owncloud 9.1.4 zu verwenden, diese hatte ich schon mal ohne Probleme am Laufen....

  • Ja aber wenn ich das jetzt richtig versteh, dann ist das DataDirectory noch nicht angepasst? Und dann ist es klar das die Fehlermeldung erscheint und nicht weiter verwunderlich. Pass es mal an und dann schau ob owncloud dann läuft. Also was die Vermutung doch richtig.

  • Das datadirectory ist angepasst:


    Wenn ich diese hier habe, dann kommen auf der Login-Seite ja nichmal die Login-Felder und die Meldung, dass das datadirectory falsch ist.

    Code
    'datadirectory' => '/httpdocs/www-mazze-online/owncloud/data'


    Habe es dann auf

    Code
    'datadirectory' => '/var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data'

    gesetzt, dann wird die Login-Seite korrekt angezeigt, aber beim Anmelden kommt es dann zu dem beschriebenen Fehler.

  • Und wo liegt das owncloud document root bzw. auf welches Verzeichnis zeigt die Domain? Lief owncloud 9.x auch schon auf dem Webspace? Also Nextcloud läuft einwandfrei nach der Installation und so verschieden sind owncloud und nextcloud bei den Verzeichnissen nicht.


    Am besten mal die Einstellungen offenlegen, den so kann man nicht richtig helfen.

  • Hay,


    naja, ein paar Sachen kann man noch machen...


    Ich gehe davon aus, dass

    muss ich den Pfad dann noch anpassen in

    heißt, dass Du es schon angepasst hast, sonst wäre es natürlich falsch gewesen. "Muss ich anpassen" signalisiert, es wäre noch nicht getan worden und wird irgendwann gemacht. Also wenn noch nicht, dann spätestens jetzt.


    Log Dich mal bitte per ssh ein und gebe diesen Befehl ein:

    Code
    cd /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data

    funktioniert das ohne Fehlermeldung?


    Lege im ./httpdocs/mazze-online/owncloud/ Verzeichnis eine Datei an, die Du test.php nennst:


    PHP
    <?php
    
    // aktuelles Verzeichnis
    echo substr(sprintf('%o', fileperms(".")), -4) . ": " . posix_getpwuid(fileowner("."))["name"] . ": " . getcwd() . "<br>\n";
    chdir("data");
    
    echo substr(sprintf('%o', fileperms(".")), -4) . ": " . posix_getpwuid(fileowner("."))["name"] . ": " . getcwd() . "<br>\n";
    
    ?>

    Rufe sie auf mit https://www.deinedomain.tld/owncloud/test.php und kopiere den Output hier hinein.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Hallo Peter,


    per ssh ist das Verzeichnis nicht erreichbar:

    Code
    bash: cd: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/data: Datei oder Verzeichnis nicht gefunden
    bash: cd: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud/: Datei oder Verzeichnis nicht gefunden


    Ausgabe der test.php

    Code
    0755: hosting117411: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud
    0755: hosting117411: /var/www/vhosts/hosting117411.a2f3f.netcup.net/httpdocs/www-mazze-online/owncloud
  • Hay,


    das erste Ergebnis ist ok. In der ssh-Shell bist Du so ge-chrootet, dass Du den Pfad nicht sehen kannst (ich habe es eben ausprobiert).


    Allerdings lässt mich das Ergebnis des Scripts rätseln. Das kann so NUR dann sein, wenn es kein data-Verzeichnis innerhalb des /owncloud-Verzeichnisses gibt (Apache-Errorlog checken während des Aufrufens tail -f /logs/www.deinedomain.tld/error_log sollte das sein, ggf. die Fehlermeldung hier posten).


    Bitte unbedingt noch zweimal nachschauen...


    Außerdem sollte das owncloud-Verzeichnis (und das /owncloud/data/-Verzeichnis) das Recht 750 haben - hat es bei mir auch (allerdings auf einem Root-Server). Doch ändern könntest Du es nicht in ssh, weil Du kein chmod hast :D. Mit einem ftp-Programm (probiert mit Filezilla im Webhosting 1000SE) lässt sich das aber per sftp ändern.


    ps: die doppelte Ausgabe so wie bei Dir kommt bei mir genauso, wenn ich das data-Verzeichnis lösche.


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Hay,


    noch ein Nachtrag: das mit den Logfiles ist im Webhosting etwas wirr bei mir - das Verzeichnis im Lofile ohne "www.". Und bei mir wird kein Fehler geschmissen, man muss auf der Domain vorher in den PHP-Einstellungen das errorlogging einschalten:


    pasted-from-clipboard.png

    Dann wirft er bei mir, wenn data fehlt:

    Code
    [Mon Dec 03 23:54:51.012959 2018] [fcgid:warn] [pid 16633] [client xxxx] mod_fcgid: stderr: PHP Warning:  chdir(): No such file or directory (errno 2) in
    /var/www/vhosts/hosting11xxxxx.axxx.netcup.net/httpdocs/domain.de/test.php on line 4

    chmod gibt's.

    Danke, verwechselt chown gibts nicht :)


    CU, Peter

    Peter Kleemann // https://www.pkleemann.de // +49 621 1806222-0 // Kann Programme, Internet, Netzwerke und Telefon.

  • Danke für Eure Mühe. Aber nachdem es vorhin nicht funktioniert hat, habe ich nextcloud ausprobiert und das hat ohne Probleme sofort funktioniert. Konnte recht einfach eine Migration meiner Daten machen und bin nun auf der letzten nextcloud-Version, carddav, caldav, alles funktioniert wunderbar.


    Daher ist dieser Fall für mich erledigt.