owncloud console (occ) funktioniert nur nach config Änderung und legt Weboberfläche lahm

  • Moin,


    owncloud läuft mit dem Eintrag in der config.php:

    Code
    'datadirectory' => '/var/www/vhosts/hostingxxxx.afxxx.netcup.net/httpdocs/data',

    auf der Weboberfläche alles fein, wird über

    Code
    /usr/local/php56/bin/php httpdocs/occ status

    die Owncloud Konsole gestartet kommt es zur Fehlermeldung. Wird obige Variable so gekürzt,

    Code
    'datadirectory' => '/httpdocs/data',

    das es der Sichtweise aus der chroot Umgebung entspricht funktioniert die Owncloud Konsole, aber die Weboberfläche nicht.
    Der Fehler ist meiner Meinung nach der, mein in der Bash gestarteter php Aufruf hat eine andere Umgebung als der php Prozess, welcher über einen http... Aufruf gestartet wird.
    Gibt es eine Umgebungsvariable, die bei einem manuellen Aufruf gesetzt werden muss, damit das ohne Änderungen funktioniert? Bzw. kann jemand bitte bei seiner oc Installation (in einem Expert shared hosting) dies prüfen.


    Bin auf Erklärungen und Lösungsansätze gespannt.
    Ein gutes neues Jahr.
    Pinguin

  • Du könntest vorerst einmal die Konfigurationsvariable einfach automatisch anpassen, je nach Umgebung.


    Sieht zu mindestens nach PHP-Code aus, also müsste das theoretisch funktionieren:

    Code
    'datadirectory' => ((php_sapi_name() != 'cli') ? '/var/www/vhosts/hostingxxxx.afxxx.netcup.net' : '') . '/httpdocs/data',


    Ungetestet! Ich verwende auch kein Owncloud.



    MfG Christian

  • Vielen Dank Christian,


    damit funktioniert es. Ich würde gerne wissen, ob dies eine Fehlkonfiguration ist und damit nur ich betroffen bin, mit obiger Änderung war, oder nur wenig versuchen die occ zu nutzen. Oder ob ich dies als Verbesserung bei Owncloud einreichen soll.


    Wie ist es hier üblich, Thema als gelöst markieren, wenn Problem behoben, oder wenn wie hier die Diskussion erwünscht ist auf ungelöst lassen?
    MfG Pinguin

  • Danke auch von mir! wenigstens findet er jetzt die Datenbank :)

  • Guten morgen,


    zunächst auch von mir an dieser Stelle ein dickes "Dankeschön" an Christian!

    Bitte entschuldigt, dass ich diesen alten Thread nochmal ausgrabe, aber das Thema ist jetzt kürzlich für mich (wieder) aktuell geworden. Wenn ich dazu einen anderen (aktuelleren) Thread übersehen haben sollte, oder es gewünscht ist, einen neuen Thread zu öffnen, entschuldigt dies bitte, dann bitte ich um einen entsprechenden Hinweis.


    Ich nutze jetzt schon einige Jahre Owncloud (später Nextcloud) auf meinem Webhosting-Paket. Vor einigen Jahren hatte ich schon einmal das Problem, nicht über SSH auf die occ zugreifen zu können. Ich habe selbst keine Ahnung von php und konnte das Problem daher selbst nicht lösen. Auch eine lange Online-Suche blieb ergebnislos, sodass ich irgendwann aufgegeben und mir mit der App (OCC Console) Abhilfe geschaffen habe.

    Da dies allerdings nur ein unschöner "workaround" des Problems war und die App mitterweile auch nicht weiter maintained wird, wurde das Problem für mich erneut aktuell. Ich bin dann, nach erneuter langer Suche nach einer Lösung, schließlich über diesen Thread hier gestolpert. In meiner aktuellen Installation (Nextcloud 22 auf einem Webhosting 4000 SE) funktioniert der geänderte Link zum Datadirectory auch (in leicht abgewandelter Form, da ich eine für die NC angelegte subdomain nutze, in der das datadirectory liegt):

    Code
    'datadirectory' => ((php_sapi_name() != 'cli') ? '/var/www/vhosts/hostingXXXXXX.XXXXX.netcup.net' : '') . '/httpdocs/subdomain.domain.de/data',


    Leider habe ich jedoch das Problem, dass sich (aus für mich unerklärlichen Gründen) die config-Datei, in der ich die 'datadirectory' -Zeile eintrage nach einer Zeit wieder zu der ursprünglichen Zeile ändert. Ich merke das praktisch im Betrieb dadurch, dass der angelegte cron-job, der die cron.php-Seite regelmäßig aufruft, plötzlich mit dem Fehler abbricht, dass das datadirectory nicht gefunden werden kann. Wenn ich dann die config öffne habe ich wieder etwas wie

    Code
    'datadirectory' => '/var/www/vhosts/hostingXXXXXX.XXXXX.netcup.net/httpdocs/subdomain.domain.de/data',


    Der Cronjob ruft dazu alle 5 Minuten folgendes auf:

    Code
    /usr/local/php80/bin/php httpdocs/subdomain.domain.de/cron.php



    Meine Frage ist jetzt, wie kann ich verhindern, dass sich die Config wieder umschreibt bzw. dass das datadirectory dauerhaft bei

    Code
    'datadirectory' => '/var/www/vhosts/hostingXXXXXX.XXXXX.netcup.net/httpdocs/subdomain.domain.de/data',

    bleibt?


    Ich hoffe mein Problem ist irgendwie deutlich geworden. Vielen Dank fürs Lesen und ggf. weiterer Hilfe.


    Liebe Grüße,

    Tobi

  • Lege eine zusätzliche Konfigurationsdatei an, die überschreibt Nextcloud nicht! Zum Beispiel so: https://github.com/froonix/web…ud/config/data.config.php


    Hintergrundinfo: https://docs.nextcloud.com/ser…#multiple-config-php-file

    Ich danke dir nochmals für deine (schnelle) Hilfe Christian!


    Ich werde mir die zusätzliche config und die Hintergrundinfo am Wochenende mal zu Gemüte führen :)

    Damit scheint für dieses leidige Thema dann (endlich) eine vernünftige Lösung gefunden worden zu sein. :thumbup: