Owncloud update auf externem webspace strato

Hallo,

Ich brauche mal einen Tipp oder Vorgehensweise zur Aktualisierung von owncloud auf externem Webspace

Situation: Bei meinen WebHoster strato habe ich owncloud 9.1.4 (mysql 5.6.35 und php 7.0) installiert. Das ging sehr einfach und sehr schnell. War wirklich ein Kinderspiel. Nun das eigentliche Problem: owncloud entwickelt sich sehr schnell weiter, so dass alle paar Monat auf eine neue Version aktualisiert werden muss. Das wird auch in der owncloud-Dokumentation empfohlen. Nach meinen Erfahrungen klappt die Aktualisierung am besten, wenn man die neuen Version über occ upgrade installiert.

In der Dokumentation wird dazu der Befehl „sudo –u www-data php occ upgrade“ angegeben. Der Befehl sudo kann nun aber auf einem externen webspace nicht eingesetzt werden. Ich hab ja keine admin-Rechte.

Jetzt suche ich nach einer Möglichkeit, wie owncloud trotzdem aktualisiert werden kann.

gruß

Herbert

Das Skript sollte als der Benutzer ausgeführt werden, der auch die PHP-Skripte für den Webserver ausführt. Bei Debian/Ubuntu ist das standardmäßig www-data und mit sudo kann man den php-Befehl asl dieser Nutzer aufrufen. Bei deinem Webhoster hast du in der Regel keine Root-Rechte (außer vserver oder ähnlicher Umgebung), häufig ist der Benutzer als der du dich einloggst auch der, der die PHP Skripte ausführt. Demnach könntest du das sudo -u www-data einfach weglassen und nur
php occ upgrade
aufrufen. Wie kannst du den PHP-User herausfinden. Lade eine Datei in ownCloud hoch, dann schaue in data/username/pfad/zur/datei wer der Besitzer ist. In der Konsole kannst du auch herausfinden, welcher Nutzer du bist: whoami

Danke für die Rückmeldung.
Den Befehl sudo kann man im strato webspace nicht ausführen.
User sind identisch.
php occ ohne sudo zu starten, habe ich auch versucht. Das wird mit der Fehlermeldung "This script can be run from the command line only" gestoppt. Offenbar lässt sich das Script nicht von der Kommandozeile aus starten.

gruß

Siehe mein Rat in einem anderen Post in dem Du geposted hattest [1]. Das Skript kann von der command line ausgeführt werden, nur hat hier Strato höchst wahrscheinlich wieder irgendeine komische PHP Konfiguration / Umgebung. Bei solchen Problemen kann ownCloud nicht weiterhelfen, da ist der Support Deines Hosters oder eine Support Community speziell für Strato gefordert.

[1]

Danke.

Hatte ich nicht gesehen, dass der Beitrag vom gleichen Absender kam. Sorry.

Hab bei strato schon eine Anfrage laufen. Sieht aber nicht so, als ob die antworten wollen.

denke gerade über eine andere Alternative nach: Backup aus alter Version, restore in neue Version. Nicht schön, aber praktikabel.

Könnte auch sein, dass auch folgender Hinweis aus [1] weiter hilft:

On some systems it might be required to call php-cli instead of php.

[1] https://doc.owncloud.org/server/latest/admin_manual/configuration_server/background_jobs_configuration.html

Klappt leider auch nicht. Befehl ist nicht bekannt.

Aber so etwas in der Art muss es sein. Momentan wird der occ Befehl mit der PHP binary ausgeführt, welche eigentlich nur für den Webserver gedacht ist. Aus dem Grund auch die "This script can be run from the command line only" Meldung.

Ist leider etwas spezielles, was so in der Art nicht auf einer Default PHP Installation vorkommt. Also bleibt wohl nur der Strato support.

Danke für Deine Hilfe.
Vielleicht reagiert der Servuce ja auch irgendwann mal.

Hallo Herbert,

meine owncloud läuft auch bei Strato.

Updates führe ich seit Jahren "zu Fuß", - fast - analog zur Beschreibung "Manual Installation on Linux" im Administration manual durch.

IN meinem Verzeichnis download führe ich den Befehl
wget https://download.owncloud.org/community/owncloud-x.y.z.tar.bz2
aus. x.y.z musst Du durch die Version ersetzten die Du laden willst.

Dann wird das geladene Archiv, wie nun auch im Manual beschrieben, mittels dem Befehl
tar -xjf owncloud-x.y.z.tar.bz2
ausgepackt. Der INhalt von "owncloud" wird dann ins Ziel copiert

Man kann - meistens - minor Releases "drüber" kopieren. Klappt aber nicht immer.
Der sicherere Weg, und bei major updates eh erforderlich, ist im Ziel-Verzeichnis allen Inhalt bis auf die Verzeichnisse data und config zu löschen.
Bitte 3mal hinschauen ob data und config nicht vom Löschen erwischt wird!!!

Nun per WEB die Installation aufrufen und das angebotene Update starten.

In der Regel bricht das bei "viel zum Updaten" irgendwann ab. Da schlägt dann der Script-timer bei Strato zu.
Einfach in config.php im config-Verzeichnis per vi den Parameter maintenance auf false setzen und erneut per WEB die Installation aufrufen. Das Ganze nötigenfalls mehrfach wiederholen. Irgendwann ist alles getan.

Von Hand auch die Regel beachten: Ein major update immer nur einen Schritt weiter installieren. Dazu vorher die letzte Version des aktuellen Zweiges "davor" installieren.
Beispiel: Man rennt 9.1.1 und möchte auf 9.2.0. Dazu erst 9.1.x (letzte Version) installieren.

Nur so scheint mir sichergestellt, dass auch die evtl. notwendigen Updates in der Datenbankstruktur auch durchgeführt werden.

Mit etwas Übung sollte das Prozedere in 30 Minuten "erledigt" sein.

PS: Auf die Antwort des Strato-Supports zur Möglichkeit "php occ" laufen zu lassen bin ich gespannt...

Gruß

Ralf

2 Likes

Hallo Ralf,

vielen Dank für Deine Darstellung. Werde ich auf jeden Fall testen.
mit dem Umsetzenen des Parameters auf false, kann man wieder ein neues Update anwerfen?

Wenn sich strato mal melden sollte, setze ich die Inhalte ins forum Im MOment bin ich da eher skeptisch.

gruß

Herbert

Hallo,

Deine Methode klappt prima. Hab ich zweimal durchgespielt.Passt. Danke!

strato hat sich gemeldet, aber deren Aussage hilft erst mal nicht weiter. Anmeldung per ssh und dann start mit "php scriptname". Genau das funktioniert ja nicht.
Mal abwarten.

gruß

Du kannst Dich mal zum testen per SSH einloggen und ein script "test.php" mit folgendem Inhalt erstellen:


<?php
print(php_sapi_name()."\n");
?>

und dann per php test.php ausführen. Bei einer richtig Konfigurierten Umgebung kommt dann:

cli

zurück. Bei Dir wird höchst wahrscheinlich etwas komplett anderes wie z.B. cgi-fcgi oder ähnliches zurück.

Hab ebenfalls eine Anfrage bei Strato laufen. Sobald ich ne vernünftige Aussage erhalte werde ich sie hier posten.

Du kannst das obige auch ggf. mal ausführen. Sollte da etwas anderes als cli zurück kommen ist das eine weiterführende Info, welche an den Strato support gegeben werden kann.

Hab Dein script ausgeführt. Wie Du schon vermutet hast, cgi-fcgi.

Von Strato habe ich eine Antwort bekommen, aber die haben das Problem nicht richtig verstanden.

Ich versuche es auf jeden Fall noch mal.

gruß

Bei mir lautet die Ausgabe:
X-Powered-By: PHP/7.0.16
Content-type: text/html

cgi-fcgi

Hab's an Strato weiter gegeben.

Allerdings konnte ich mein udpate durchführen. Bin wie folgt vorgegangen:

  1. altes Verz. umbenennen
  2. neue Version auf Server kopieren
  3. data Verz in neues Verz. moven
  4. config.php in das neue Verz. kopieren
  5. maintainance modus auf false setzen und Web obefläche starten
  6. Auf update klicken. Falls Fehler erscheinen, nochmals auf udpate klicken.
    Fertig!

Auf dem Weg hat das Update bei strato dann auch geklappt. Ich habe aber noch eine Installation auf einem raspberry, die ich schon länger im Einsatz habe. Da ist die neue Version per web-Update gescheitert. Ich möchte gern sicher sein, dass es klappt.

Ok, habe eine Antwort von strato. Nutzung von "php occ" geht nur mit admin-Rechte und die wiederum nicht auf einem webspace. Geht nur auf einem virtuellen Server, den mir der Support natürlich sofort verkaufen wollte. Also keine Lösung von strato.

Der andere Weg funktioniert ja auch.

so long

Hallo,

ich habe meine owncloud auch bei Strato laufen. Leider bin ich noch unerfahrener. Ich hoffe Ich könnt mich beim Wissensaufbau etwas unterstützen:

Generell dachte ich, dass ich Updates einfach über die Weboberfläche (Updater) machen könnte? Drücke ich allerdings auf „Update aufrufen“ erhalte ich folgende Meldung: „cURL error 7:“.

Ich bekomme über Owncloud folgende Anleitung: https://doc.owncloud.org/server/9.1/admin_manual/maintenance/update.html
Ich bin mir allerding nicht ganz sicher was die Anleitung beschreibt.

Danke für eure Beiträge