Automatischer Updater öffnet sich nicht (24.0.4)

Hallo zusammen,

ich habe ein Problem mit dem automatischen Updaten in Nextcloud.
Wenn ich auf den blauen Button drücke tut sich einfach gar nichts.
Vorsorglich habe ich insgesamt 4 Browser ausprobiert - ohne Erfolg.
Das Problem habe ich zwar jetzt mit der 24.0.4 doch es besteht schon seit langer Zeit.
Bisher habe ich immer manuell updaten müssen (Archiv downloaden, …).

Hat jemand eine Idee?

Gruß

NCN00b

Vielleicht musst du die App OCC Web zuvor deinstallieren, da es keine Version für Nextcloud 24 gibt.

Solltest du Zugriff per Konsole (SSH) haben (wovon ich mal nicht ausgehe), kannst du das Update besser so machen.

sudo -u www-data php /pfad/zur/nextcloud/updater/updater.phar

Hallo devnull,

vielen Dank für die schnelle Antwort.
Ich habe tatsächlich vollen Zugriff.
Allerdings hoste ich NC in einem Jail auf TrueNAS.

Ich gehe also erstmal mittels Putty auf die TrueNAS, dann mittels:
sudo jexec [Jail-ID] tcsh
in das entsprechende Jail.

Dann habe ich dort eine root-shell.

Leider aber funktioniert der Befehl von dir so dort nicht.
Muss er vielleicht anders lauten bei diesen Umständen?

Mit TrueNAS und Jail kenne ich mich nicht aus.
Aber schau mal, wer der Webserver/Nextcloud-Benutzer ist.
Die Identität musst du entweder annehmen oder mit sudo (siehe oben) arbeiten.
Findet das System direkt php?
Gibt es irgendwo den Ordner mit der Nextcloud-Installation?
Gibt es in dem Ordner einen Ordner updater mit der genannten Datei?

Anmerkung:
Du musst immer alle Befehle für dich hinterfragen und für deine Umgebung anpassen.
Wenn du z. B. kein sudo oder kein www-data hast, dann bringt es nichts.
Poste im Fehlerfall auch immer Fehler und möglichst viele Informationen.

Ich denke, dass uns TrueNAS / Jail da keine Probleme bereitet.

Der Nutzer scheint www zu heißen.
Das Verzeichnis und die Datei sind da.
Ich bin root aber ich weiß nicht, wie ich den Befehl nun ummodeln muss.

Meine Versuche sahen wie folgt aus:

Scheinbar kennt dein System kein sudo. Das macht aber nichts, ist auch kein großer Verlust. sudo wird sowieso meistens (wenn auch nicht hier) falsch angewendet. :wink:

Versuche
su - www
Falls das nicht geht
su www

Und dann mit dem User www:
php /usr/local/www/nextcloud/updater/updater.phar

Scheint ihn leider auch nicht so ganz zu überzeugen.
Der selbe Fehler wie bei der Ausführung als root.
Das im Fehlertext angegebene Verzeichnis ist übrigens korrekt.

Mit der Option su - www sollten die Umgebungsvariablen korrekt gesetzt werden. Das geht vielleicht nicht wegen fehlender Shell. Bei su www werden die Umgebungsvariablen nicht gesetzt. Ich weiß aber nicht, ob das am Ende das Problem auslöst. Ich mache mir noch mal ein paar Gedanken.

Dann danke ich dir für die Bereitschaft nochmals drüber nachzudenken.
Ich versuche dann auch noch mal ein paar Sachen während ich auf deinen Geistesblitz warte :wink:.

Aber eine Frage:
Wenn ich doch als root den Befehl ausführe müsste ich doch alle Rechte und Variablen haben die man braucht. Oder irre ich mich da jetzt? Denn als root hat es ja auch nicht funktioniert mit dem selben Fehler.

Es ist schon wichtig, dass man den Befehl mit dem Benutzer der Nextcloud (bei dir www) durchführt. Ob man hierfür nun sudo oder su verwendet ist erst mal egal.

Entweder gibt es bei dir das Modul phar.so nicht oder der Benutzer www hat irgendwie Probleme es zu verwenden. Das ist aber auch das erste Modul in updater.phar, es kann somit weit mehr Module betreffen.

Bei Debian Bullseye gibt es die genannte Datei über das Paket php7.4-common. Leider weiß ich nicht, wie du Pakete installierst und ob evtl. welche fehlen. Bei Debian Bullseye ist die Datei phar.so im Ordner /usr/lib/php/20190902 . Das ist natürlich sehr speziell. Aber vielleicht durchsuche (als root) mal ganz /usr/lib und poste das Ergebnis.

find /usr/lib -name "phar.so"

Versuche auch alles über das Betriebssystem, die Version und über PHP rauszufinden. Oder du versuchst das Update weiter über das Webinterface.

Die Suche blieb ergebnislos (dein Befehl funktionierte).

Installiert sind folgende PHP Pakete:

Informationen zum PHP74 Paket:

Das Betriebssystem ist FreeBSD 12.2-RELEASE-p15.
Bereitgestellt über ein Jail von TrueNAS 13.0-U2.

Leider kenne ich mich mit FreeBSD nicht aus.
Aber das Paket php74-phar scheint zu fehlen.
Kannst du php74-phar irgendwie nachinstallieren?

Habe ich eben gemacht.
Der Befehl lautet (falls jemand das gleiche Problem haben sollte):

pkg install php74-phar

Das Script(?) läuft nun (als www)… mal sehen was passiert.

Es lief einige Zeit lang gut. Dann allerdings dieser Fehler.
Muss ich da jetzt noch was einstellen und das Update nochmal anstoßen?

Drei Ideen.

a.) Deaktivierung ACPu in config/config.php
Vielleicht reicht es, wenn du in deiner Nextcloud-Config während des Updates ACPu rauswirfst.
Lese evtl. hier . Wenn ich mich dunkel erinnere hatte ich schon mal ein ähnliches Problem.

b.) Deaktivierung/Aktivierung bei Update
Versuche in der Kommandozeile mit Wert 1 oder 0:
php --define apc.enable_cli=1 /usr/local/www/nextcloud/updater/updater.phar

c.) Installation eines Paketes
Vielleicht kannst du php74-pecl-APCu oder php74-pecl-APCu-bc oder so ähnlich installieren. Leider kenne ich mich damit nicht aus. Vielleicht hilft es auch nicht.

Ich würde eher auf a.) oder b.) setzen. Wenn a.) und b.) nicht funktionierten fehlt vielleicht wirklich ein Paket.

Ich scheine es geschafft zu haben.
Das Paket php74-pecl-APCu scheint tatsächlich bereits installiert zu sein.
Wer es nicht installiert hat installiert es einfach mittels:

pkg install php74-pecl-APCu

Ich habe im Verzeichnis /usr/local/etc die Datei php.ini gefunden.
In dieser Datei habe ich ganz unten folgendes ergänzt und die Datei gespeichert:

apc.enable_cli=1

Dann den Apache nochmal mittels service apache24 stop und service apache24 start neu gestartet.

Anschließend wieder als Nutzer www das Update ausgeführt.
Diesmal keine Probleme (leider kein Screenshot gemacht).

Nun bleibt abzuwarten, ob das Update tatsächlich sauber war und meine NC noch funktioniert.

In jedem Fall möchte ich dir - devnull - recht herzlich für deine Zeit und Hilfe danken!

Ich komme jedoch nicht umhin deine Aufmerksamkeit vorsichtig auf mein anderes Problem zu lenken:

In jedem Fall nochmal VIELEN DANK.
Sollte ich noch wider Erwarten Probleme feststellen nach dem Update, werde ich hier nochmal schreiben. Ich glaube aber, das es einfach geklappt hat.

Gruß

NCN00b

1 Like