DecaTec

Home-Server | Linux | Nextcloud | Raspberry Pi | Programmierung | Fotografie

Nextcloud: Updates richtig durchführen

Nextcloud Logo

Wer seine private Cloud mit Nextcloud betreibt, muss sich natürlich auch um Updates der Cloud-Software kümmern. Der folgende Artikel zeigt, welche Möglichkeiten es gibt, die eigene Cloud zu aktualisieren und welche Methode in welcher Situation gewählt werden sollte.

Als Grundlage dient der Artikel Nextcloud auf Ubuntu Server mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban (gerade bzgl. der Angabe von Dateipfaden). Doch auch bei anderen Konfigurationen (z.B. Apache als Webserver) ist das Vorgehen hier nahezu identisch.

Update-Historie
  • 23.09.2017:
    • Hinweis auf Anpassung der Verzeichnis-Berechtigungen entfernt. Dies wird seitens der Nextcloud-Dokumentation nicht mehr empfohlen (siehe hier).
    • Anleitung für manuelles Update von Nextcloud-Apps entfernt: Benötigte App-Updates werden im Rahmen des Nextcloud-Updates automatisch ausgeführt.

Nextcloud Release Channels – oder: wann sind Updates verfügbar?

Nextcloud verteilt die Updates der Cloud-Software über Release Channels. Dabei kann der Administrator der Cloud in den Einstellungen festlegen, welcher Entwicklungsstand zum Einsatz kommen soll. Hier gibt es folgende Möglichkeiten:

  • Production: Stabilster Entwicklungszweig, der weitgehend fehlerfrei laufen sollte. Neuerungen werden hier nur nach ausgiebigem Test und Verfügbarkeit in den anderen Release Channels zur Verfügung gestellt. Dies bedeutet auch, dass Versionen im Production Channel bereits etwas älter sein können. Dieser Channel wird für Produktiv-Umgebungen empfohlen, wo Stabilität eine der wichtigsten Anforderungen an die Cloud darstellt.
  • Stable: Stabile Versionen, die sich bereits im Beta-Test bewährt haben. In diesem Channel befinden sich im Allgemeinen die Versionen, die auch auf der Nextcloud Download-Seite zu finden sind. Dies ist der empfohlene Channel für die meisten Benutzer.
  • Beta: Über diesen Channel werden Beta-Versionen und Release Candidates verteilt. Hier sind Fehler in der Software nicht auszuschließen. Nur empfohlen für Leute, die einen Blick auf zukünftige Versionen werfen wollen, bzw. aktiv testen und ggf. Bugs erfassen möchten.
  • Daily: Dieser Channel stellt sog. Daily-Builds bereit, dies sind also immer tagesaktuelle Versionen von Nextcloud. Dieser Channel ist eher für Entwickler gedacht uns sollte daher nicht von normalen Benutzern verwendet werden.

Für den Heimgebrauch ist der Stable Release Channel meist die richtige Wahl. Dieser ist nach einer frischen Nextcloud-Installation auch direkt aktiv. Wenn nun ein neues Update verfügbar ist, wird dies in der Admin-Oberfläche der Cloud angezeigt.

Hinweis: Bei einem Update einer Hauptversion (z.B. Nextcloud 11 auf Nextcloud 12) kann es eine Weile dauern, bis das Update als verfügbar angezeigt wird, auch wenn die neue Version bereits offiziell veröffentlicht wurde.

Backup

Bevor ein Update von Nextcloud durchgeführt wird, sollte ein Backup der kompletten Cloud angefertigt werden. Somit ist man immer auf der sicheren Seite, selbst wenn beim Update etwas schiefgehen sollte.

Wie man Nextcloud am besten sichern (und im Falle des Falles auch wiederherstellen kann), beschreibt der Artikel Nextcloud: Backups erstellen und wiederherstellen – manuell oder per Skript: Neben der manuellen Ausführung von Backups mit wenigen Befehlen auf der Kommandozeile wird hier ebenso die automatische Sicherung (oder Wiederherstellung) per Bash-Skript beschrieben.

Auch wenn das Anfertigen von Backups eher eine lästige Aufgabe zu sein scheint, sollte man diesen Schritt nicht auslassen! Besser, man hat ein Backup zu viel gemacht, als im Ernstfall ohne jegliches Backup dazustehen.

Update durchführen

Es gibt generell drei Möglichkeiten, ein Update der eigenen Cloud durchzuführen. Die einfachste Lösung ist hier, einfach den Web-basierten Updater zu verwenden. Der Updater kann ebenfalls über die Kommandozeile ausgeführt werden. Nur in Situationen, in den der Updater nicht verwendet werden kann, sollte man ein manuelles Update in Betracht ziehen.

Updates mit dem Web-basierten Updater

Der Updater ist direkt in Nextcloud integriert und übernimmt alle Aufgaben, um ein Update durchzuführen. Diesen ruft man über die Admin-Oberfläche „Verwaltung“ auf (über die Schaltfläche Updater öffnen).

Ein Update für Nextcloud ist verfügbar

Ein Update für Nextcloud ist verfügbar

Hier werden zunächst ein paar Informationen angezeigt (aktuell installierte Version, Update-Version und Link zum Update-Archiv). Angestoßen wird das Update durch den Button Start update.

Das Update auf die neue Version kann durchgeführt werden

Das Update auf die neue Version kann durchgeführt werden

Der Updater prüft daraufhin alle Voraussetzungen und lädt das Update herunter.

Hinweis: Sollte bei diesem Schritt eine Fehlermeldung angezeigt werden, dass Schreibrechte auf bestimmte Verzeichnisse/Dateien fehlen, dann stimmen die Verzeichnis-Berechtigungen nicht. Falls dies der Fall ist, müssen diese nochmals explizit gesetzt werden:

chown -R www-data:www-data /var/www/nextcloud 
chown -R www-data:www-data /var/nextcloud_data

Am Ende wird man gefragt, ob der Maintenance-Mode aktiv bleiben soll. Da wir das Update direkt in der Weboberfläche durchführen, kann der Maintenance-Mode hier gleich deaktiviert werden (No (for usage of the web based updater)).

Nachdem der Updater seine Arbeit verrichtet hat, wird man nach einem Klick auf die Schaltfläche Go back to your Nextcloud instance to finish the update auf die eigene Nextcloud-Seite weitergeleitet. Hier wird durch den Button Aktualisierung starten das eigentliche Update durchgeführt.

Nach dem Updater kann die Aktualisierung gestartet werden

Nach dem Updater kann die Aktualisierung gestartet werden

Nach einer kleinen Wartezeit sollte alles erledigt sein und man wird automatisch auf die vertraute Nextcloud-Weboberfläche weitergeleitet.

Den Updater über die Kommandozeile verwenden

Die zweite Möglichkeit besteht darin, den Updater über die Kommandozeile auszuführen. Im Grunde genommen sind die Schritte hier identisch zum Web-basierten Updater.

Dazu wechselt man in das entsprechende Verzeichnis und führt den Updater mit dem Webserver-User (www-data) aus:

cd /var/www/nextcloud/updater 
sudo -u www-data php updater.phar

Wieder wird die aktuell installierte Version und das verfügbare Update angezeigt.

Nextcloud Updater über die Kommandozeile

Nextcloud Updater über die Kommandozeile

Mit der Bestätigung mit „y“ beginnt der Updater mit dem Download und der Überprüfung der Voraussetzungen. Anschließend wird gefragt, ob man das Update direkt ausführen möchte (Should the „occ upgrade“ command be executed?). Dies kann wieder mit „y“ bestätigt werden.

Am Ende erfolgt noch die Frage, ob der Wartungsmodus aktiviert bleiben soll. In diesem Fall sollte man mit „n“ den Maintenance-Mode deaktivieren, damit die Cloud nach dem Update wieder direkt einsatzbereit ist.

Deaktivierung des Wartungsmodus nach erfolgreichem Update

Deaktivierung des Wartungsmodus nach erfolgreichem Update

Manuelles Update

Wenn der Einsatz der Updater-App nicht möglich sein sollte, dann bleibt als letzte Möglichkeit immer das komplett manuelle Update. Dies muss auch durchgeführt werden, wenn man Updates sofort erhalten möchte, ohne auf die Freigabe in den entsprechenden Release-Channels warten zu müssen.

  1. Wartungsmodus aktivieren: Zunächst wird die Cloud in den Maintenance-Modus versetzt. Dies sorgt dafür, dass während des Updates kein Benutzer mehr aktiv auf der Nextcloud arbeiten kann:
    cd /var/www/nextcloud 
    sudo -u www-data php occ maintenance:mode --on
  2. Webserver stoppen: Als nächstes wird der Webserver gestoppt:
    service nginx stop
  3. Nextcloud-Verzeichnis umbenennen: Damit keine „Altlasten“ von der aktuellen Version mitgenommen werden, wird das alte Nextcloud-Verzeichnis umbenannt (damit diese später einfach gelöscht werden kann). Diesen Ordner bitte nicht sofort löschen, da bestimmte enthaltene Dateien nachher noch benötigt werden!
    cd /var/www 
    mv nextcloud nextcloud_alt
  4. Neue Version herunterladen und entpacken: Als nächstes wird die neuste Nextcloud-Version heruntergeladen. Den konkreten Download-Link erhält man über die Nextcloud-Homepage:
    Download-Link für Nextcloud

    Download-Link für Nextcloud

    Für die folgenden Befehle müssen dann der entsprechende Link und Dateiname verwendet werden:

    cd ~
    wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.tar.bz2
    tar -xjf nextcloud-12.0.2.tar.bz2 -C /var/www
    rm nextcloud-12.0.2.tar.bz2
  5. Übernehmen der Konfigurations-Datei: Nun wird noch die Konfigurations-Datei aus der alten Nextcloud-Installation übernommen:
    cp /var/www/nextcloud_alt/config/config.php /var/www/nextcloud/config/config.php
  6. Webserver starten: Anschließend kann der Webserver wieder gestartet werden:
    service nginx start
  7. Verzeichnisrechte setzen: Vor dem Ausführen des eigentlichen Updates sollten die Verzeichnisrechte noch einmal explizit gesetzt werden:
    chown -R www-data:www-data /var/www/nextcloud 
    chown -R www-data:www-data /var/nextcloud_data
  8. Update durchführen: Das Update wird nun über den OCC-Befehl im Kontext des Webserver-Users gestartet:
    cd /var/www/nextcloud 
    sudo -u www-data php occ upgrade
  9. Wartungsmodus deaktivieren: Anschließend kann der Maintenance-Mode wieder deaktiviert werden:
    cd /var/www/nextcloud 
    sudo -u www-data php occ maintenance:mode --off
  10. Alte Installation entfernen: Wenn alles geklappt hat, kann man die alten Nextcloud-Dateien entfernen:
    rm -r /var/www/nextcloud_alt

Abschließende Tätigkeiten

Nachdem das Update erfolgreich durchgeführt worden ist, sollte man sich nochmal mit dem Administrator-Account in die Cloud einloggen und im Bereich „Verwaltung“ kontrollieren, ob hier Warnungen oder Fehler angezeigt werden.

Ebenfalls sollte kontrolliert werden, ob während des Update-Vorgangs einige Nextcloud-Apps deaktiviert worden sind. Wenn dies der Fall ist, können diese von Cloud-Admin wieder aktiviert werden.

Nach diesen Schritten ist das Update fertig und Nextcloud kann wieder wie gewohnt genutzt werden.

Weiterführende Artikel

Links

, , , ,

Kommentare: 49

  • Kai sagt:

    Hallo Jan,

    vielen Dank für diesen Artikel. Sobald das nächste Nextcloud Update verfügbar ist, weiß ich genau, welche Webseite ich wieder aufrufen werde!
    Ich finde es auch klasse, wie genau du alles beschreibst. Das hilft mir sehr.

    Viele Grüße
    Kai

  • Bernd sagt:

    Hallo Jan,

    genau richtig! Heute ist die 12.0.3 herausgekommen, ich habe den manuellen Weg gewählt!
    Lief ohne Probleme!
    Danke dafür!

    Gruß Bernd

  • Daniel sagt:

    manuelle Installation:
    wie sieht es denn mit dem bestehenden und gefüllten data-Ordner aus?
    Den müsste man doch auch in das neue nextcloud-Verzeichnis kopieren, oder?

    • Jan sagt:

      Hi Daniel,

      ja, aber nur, wenn dein Datenverzeichnis sich innerhalb des Nextcloud-Verzeichnisses befindet (/var/www/nextcloud/data).
      Das habe ich nicht explizit erwähnt, da ich immer empfehle, das Datenverzeichnis außerhalb des Nextcloud-Verzecihnisses zu platzieren (siehe hier).

      Allerdings sei auch erwähnt, dass Nextcloud keine Probleme mehr mit dem Web-basierten Updater hat – den kann man also ruhigen Gewissens verwenden. Dieser kümmert sich dann automatisch um solche Sachen.

      Gruß,
      Jan

  • Ben sagt:

    Hallo Jan,

    hast du einen Tipp wo das Problem liegt, wenn beim Klick auf den Button „Updater öffnen“ nichts mehr passiert?
    Ich habe eine Update-Notification für Version 12.0.4.
    Wenn auf ich auf „Updater öffnen“ klicke lande ich wieder in der Dateien Ansicht und das wars… Ich habe auch nichts in den Nextcloud-Logs gefunden.

    Danke für deine Hilfe!

    Gruß
    Ben

    • Jan sagt:

      Hi Ben,

      als wenn in den Logs (nginx error.log und Nextcloud-Log) nichts zu finden ist, dann ist das in der Tat komisch. Am besten kommst du wohl weiter, wenn du ein manuelles Updater wie im Beitrag geschrieben durchführst.
      Die zweite Möglichkeit ist wohl etwas schwerer umzusetzen:

      • Die Updater-URL direkt aufrufen: https://meinedomain.de/nextcloud/updater/index.php
      • Hier erscheint dann eine Textbox, in der man das „Secret“ eintragen soll.
      • Um dieses zu erzeugen ist direkt darüber ein PHP-Befehl platziert. Diesen einfach per SSH auf der Linux-Maschine ausführen.
      • Dies spuckt wir dann zwei Werte aus: Insert as „updater.secret“: xxxxxxxxxx kommt in die config.php von Nextcloud. Unter The plaintext value is: xxxxxxxxxx musst du dir den Wert merken.
      • Wenn du die config.php angepasst hast, kannst du über das Plaintext-Secret den Updater direkt aufrufen

      Das ganze konnte ich allerdings nicht wirklich testen, da ich diese Probleme mit dem Updater noch nie hatte. Kannst dich ja nochmal melden, wenn es funktioniert hat.

      Gruß,
      Jan

    • Kosta sagt:

      Hallo Ben,

      hast du für das Phänomen eine Lösung gefunden? Ich hab das selbe Problem ohne ersichtliche Meldungen in Log Dateien.

      Gruß Kosta

      • Jan sagt:

        Hi Kosta,

        funktioniert die von mir beschriebene Vorgehensweise (einen Kommentar weiter oben) bei dir nicht?
        Was auf jeden Fall funktionieren sollte, ist ein manuelles Update. Auch wenn es etwas mehr Aufwand bedeutet, beim nächsten Update sollten die Probleme dann auch nicht wieder kommen.

        Gruß,
        Jan

  • Thomas sagt:

    Hallo Jan,

    beim Update von 13.0.4 auf 13.0.5 sagst sowohl der Webupdater, als auch das updater.phar Script das 13.0.4 die neueste Version ist uns es nichts Neues gibt.

    Hast Du eine Idee, wie das zu beheben ist?

    Viele Grüße

    Thomas

    • Jan sagt:

      Hi Thomas,

      es kann durchaus ein paar Tage dauern, bis das Update über den Web-Updater verfügbar ist.
      Also entweder etwas abwarten, oder ein manuelles Update durchführen.

      Gruß,
      Jan

  • Marcus sagt:

    Hallo Jan,

    nach dem Update auf 14.0.4 (WebUpdater) bekomme ich die Sicherheitswarnung:
    Dein Web-Server ist nicht richtig eingerichtet um „/.well-known/caldav“ aufzulösen. Weitere Informationen findest Du in der Dokumentation.
    Dein Web-Server ist nicht richtig eingerichtet um „/.well-known/carddav“ aufzulösen. Weitere Informationen findest Du in der Dokumentation.

    Dies ist seltsam, da der Server genau nach den Vorgaben im „Installationsbeitrag“ Deiner Seite eingerichtet wurde und ich vor dem Update diese Fehlermeldung auch nicht bekam. Leider gibt Nextcloud in den Hinweisen nur Beispiele für ein Apache-Setup…

    Vielen Dank und viele Grüße,

    Marcus

    • Jan sagt:

      Hi Marcus,

      wichtig ist in diesem Fall, dass diese well-known-URLs für die Root-Domain gelten, also nicht für das Unterverzeichnis meinedomain.de/nextcloud. Dies habe ich hier im Tutorial auch so beschrieben.
      Ganz wichtig: Dies sind nur Warnungen im Admin-Bereich von NC – keine Fehler. Wenn du keine well-known-URLs für Zugriffe per DAV verwendest (sondern z.B. die empfohlenen DAV-Links meinedomain.de/remote.php/dav/…), dann kannst du diese Warrnung getrost ignorieren.

      Gruß,
      Jan

  • Uwe sagt:

    Hallo,
    habe mit dem webbassierten Updater meine Nextcloud upgedatet und am Ende den Wartungsmodus veersehentlich aktiviert. Wie kann ich den Wartungsmodus beenden. Zuvor ist der gesamte Updatevorgang fehlerfrei durchlaufen worden.
    Die angebotene Lösung mit dem Deaktivieren des Wartungsmodus funktioniert nicht, weil ich für das Verzeichnis var/www/nextcloud keine Berechtigung besitze.
    Gruß Uwe

    • Jan sagt:

      Hi Uwe,

      ohne Zugang zur Konsole wird dies schwierig, da dies normalerweise nur über den Befehl sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off funktioniert.

      Du kannst allerdings mal in der Datei config.php nachsehen, ob es hier einen Eintrag "maintenance" => true, gibt. In diesem Fall einfach mal auf „false“ stellen. Ich weiß allerdings nicht, ob dies ein offizieller Weg ist, den Maintenance-Mode zu beenden.

      Gruß,
      Jan

      • Uwe sagt:

        Hallo Jan,
        danke für den Tipp. Nachdem ich den Befehl in der Konsole eingegeben hatte, konnte ich die unterbrochene Aktualisierung/Update in der Webkonsole weiterlaufen lassen.
        Alles bestens. Danke
        Gruß Uwe

        • Jan sagt:

          Hi Uwe,

          danke für die Rückmeldung. Ich war mir nämlich nicht sicher, ob es dadurch möglich ist, den Maintenance-Mode „korrekt“ wieder aufzuheben. Anscheinend funktioniert das aber ganz gut.

          Gruß,
          Jan

  • Frank sagt:

    Hallo,

    fällt dir hiezu etwas ein?
    „MySQL wird als Datenbank verwendet, unterstützt jedoch keine 4-Byte-Zeichen. Um beispielsweise 4-Byte-Zeichen (wie Emojis) ohne Probleme mit Dateinamen oder Kommentaren verarbeiten zu können, wird empfohlen, die 4-Byte-Unterstützung in MySQL zu aktivieren. Für weitere Details lesen bitte die Dokumentationsseite hierzu.“
    Update von Nextcloud 15.0.5 auf 15.0.7
    Die Doku ist leider nicht hilfreich
    Danke für die Mühe

    Gruß
    Frank

    • Jan sagt:

      Hi Frank,

      ja, der „Fehler“ – oder besser gesagt, die kleine Unschärfe mit MySQL/MariaDB – ist bekannt.
      Was du tun kannst, um dies zu beheben, ist hier erklärt.
      Auf jeden Fall vorher ein Backup der Datenbank, oder besser noch der kompletten Cloud durchführen.

      Gruß,
      Jan

      • Frank sagt:

        Hallo Jan,

        so nun kommt der Leihe —
        das steht in unseren phpmyadmin Web Oberfläche:

        “ Server: Localhost via UNIX socket
        Server-Typ: MariaDB
        Server-Version: 10.1.38-MariaDB-0ubuntu0.18.04.1 – Ubuntu 18.04
        Protokoll-Version: 10
        Benutzer: nextcloud@localhost
        Server-Zeichensatz: UTF-8 Unicode (utf8)“

        Das sollte wenn ich es richtig verstanden habe „utf8“ enthalten?
        Und diesen ganzen Rattenschwanz nur um „Emojis“ benutzen zu können?
        Wird bei uns niemand nutzen!
        Gibt es denn eine möglichkeit, den Warnhinweis (gelb) in der Nextcloud Übersicht zu entfernen?

        DANKE und
        Gruß
        Frank

        • Jan sagt:

          Hi Frank,

          ich weiß nicht, wie das phpMyAdmin darstellt, aber um zu überprüfen, ob der 4-Byte-Support aktiv ist, nutzt zu am besten folgenden Befehl über die mysql-Kommandozeile: show variables like "character_set_database";
          Mehr Infos dazu gibt es hier.

          Benötigt wird das ganze für gewisse Sonderzeichen. Ich weiß nun durch eigene Tests, dass das Emojis betrifft. Kann mir aber auch vorstellen, dass es auch andere Zeichen betrifft, die nur mit Unicode dargestellt werden können.
          Die Meldung bekommt man auch nur weg, wenn man die im oben genannten Link aufgeführten Schritte befolgt. Ansonsten könnte man das wohl nur im Source-Code „ausknipsen“ (würde ich allerdings nicht empfehlen).

          Gruß,
          Jan

  • Florian sagt:

    Hallo,

    ich betreue eine Website auf der eine alte Nextcloud installiert ist 10.XXX
    irgendetwas. Diese Version muss jetzt geupdated werden da die PHP outdated ist.
    Der updater findet kein Update, beim manuellen Update VErsuch auf Version 16 kommt der Hinweis „Updates between multiple major versions are unsupported“

    Wie komm ich am schnellsten auf die aktuelle Version, ohne alle Benutzer neu anlegen zu müssen und die Daten beizubehalten?

    Data und Config Ordner und die MySQL Datenbank von der alten Version sind vorhanden.

    Habe keinen Konsolen Zugriff, da es Shared Webspace ist.

    Kannst du mir einen Tipp geben

    • Jan sagt:

      Hi Florian,

      du musst hier in er Tat jede „Major-Version“ einzeln updaten, also von 10 auf 11 auf 12, usw.
      Die älteren Versionen von NC findest du hier.

      Wenn der Updater kein Update anzeigt und du keinen Zugriff auf die Console hast, dann musst du die Updates wohl manuell ausführen (siehe hier). Das dürfte dann auch mit einem FTP-Zugriff funktionieren – wenn NC nach dem Ersetzen der Programm-Dateien merkt, dass hier ein Update untergeschoben wurde. Einfach mal ausprobieren. Und vorher auf jeden Fall ein Backup machen: Programm-Dateien, Dateien im Datenverzeichnis und auch die Datenbank.

      Gruß,
      Jan

  • Michael Weis sagt:

    Hallo,

    gibt es ein Bestpractice um von NC 15 auf 16 zu wechseln? bin gerade auf 15.0.7 und würde gern auf 16 upgraden.

    Danke für die Hilfe

    • Jan sagt:

      Hi Michael,

      du kannst in den Admin-Einstellungen den Update-Kanal mal temporär auf „beta“ umstellen, dann sollte dir das Update auf 16 zumindest angezeigt werden.
      Ich vermute aber mal, dass irgendwelche deiner verwendeten Apps noch nicht kompatibel zu NC 16 sind. Diese müssen dann deaktiviert werden. Das ist glaube ich auch der Grund, warum dir das Update im Stable-Channel bislang noch nicht angeboten wurde.

      Gruß,
      Jan

      • Michael Weis sagt:

        das seltsame ist ich sehe im Backend nur die Version, aber keine möglichkeit den update-kanal zu wechseln, update von 15.0.2 auf 15.0.7 habe ich über die shell gelöst. aber gut, evtl. sollte ich dem ganzen noch etwas zeit geben. danke

        • Jan sagt:

          Hi Michael,

          was heißt, du kannst den Kanal nicht wechseln? Wird dir die Option gar nicht angezeigt, oder ist diese deaktiviert?

          Gruß,
          Jan

          • Michael Weis sagt:

            Hi,

            mir wird nur die Version angezeigt, die installiert ist das war es. Habe nun aber auch im Seit dem Update auf 15.0.7. Fehler im Log:

            ERROR – PHP: is_readable(): open_basedir restriction in effect. File(/proc/meminfo) is not within the allowed path(s): (/var/www/:/tmp/:/var/nextcloud_data:/var/nextcloud_defaultfiles) at /var/www/nextcloud/apps/serverinfo/lib/SystemStatistics.php#97

            Ne Idee?

          • Jan sagt:

            Hi Michael,

            vermutlich hast du noch Apps installiert, die noch nicht mit NC 16 kompatibel sind. Von daher einfach mal abwarten.

            Zu dem Fehler: Da fehlt noch die Angabe von „/proc/meminfo“ in der Variable open_basedir. Das ganze musst du im vHost für NC direkt hinterlegen (bei „fastcgi_param PHP_VALUE…“, siehe hier).

            Gruß,
            Jan

          • Michael Weis sagt:

            Hi, in der config des vhost ist das bereits hinterlegt … fehler ist trotzdem existent, zumindest bis vor 30min, kann man das log irgendwie leeren?

  • Michael Weis sagt:

    Okay also der Fehler taucht auf, wenn ich unter „Verwaltung / Informationen klicke“…

    • Jan sagt:

      Hi Michael,

      der Fehler ist nicht weiter wild, es wird dir auf der entsprechenden Seite keine Infos zur Speicherauslastung angezeigt.
      Versuch noch mal, hinter das „meminfo“ einen Slash zu setzen (bei open_basedir).
      Den Webserver hat du nach der Änderung neu gestartet?

      Gruß,
      Jan

      • Michael Weis sagt:

        Ne das ändert leider nichts … wo sieht das bei mir in der config aus:

        fastcgi_param PHP_VALUE „open_basedir=/var/www:/tmp/:/var/nextcloud_data:/dev/urandom:/proc/meminfo

        Im Backend sagt er eben „Informationen zum Arbeitsspeicher sind nicht verfügbar.

        • Michael Weis sagt:

          Okay, wenn ich „/proc/meminfo“ in der php.ini in „fpm“ hinzufüge meckert er nicht mehr. ist das so in ordnung? oO

          • Jan sagt:

            Hi,

            sollte zwar auch im vHost funktionieren, da der Wert von open_basedir hier überschrieben wird, aber in der php.ini geht es natürlich auch.

            Gruß,
            Jan

  • Frank sagt:

    Hallo und einen Guten Morgen,

    mir ist folgender Fehler bei dem Versuch das Update von 15.07 auf 16 Nextcloud durchzuführen untergekommen.

    „SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes“

    kann man mir in diesem Fall auch helfen?

    Vielen Dank

  • Ben sagt:

    Hi!

    Der Artikel ist zwar schon etwas älter, hat mir aber nach einem Update, dass der Web-Updater nicht erfolgreich beendet hat, sehr geholfen. Danke dafür erstmal!

    Leider habe ich nun eine „Randerscheinung“ nach dem Kopieren der config.php. Diese bemängelt nämlich Nextcloud nun als „extra file“ – dies wäre an sich kein Problem, aber der Webupdater verweigert anschließend jede Zusammenarbeit. Habe schon nach einer Lösung gesucht und es liegt wohl an der Dateisignatur, leider habe ich bisher keine Lösung gefunden. Weißt Du da weiter oder mache ich einfach alle Updates in Zukunft manuell?

    Viele Grüße
    Ben

    • Jan sagt:

      Hi Ben,

      Nextcloud bemängelt also die config.php als „extra file“. Nur diese, oder noch etwas anderes. Da die config.php ja „variabel“ ist, würde ich erwarten, dass diese nicht Teil des Integrity Checks ist.

      Gruß,
      Jan

      • Sebastian sagt:

        Hallo Ben, hallo Jan,

        ich stelle nach dem manuellen Update den gleichen Fehler fest.
        Bei der Integritätsprüfung erhalte ich unter der Liste der ungültigen Dateien folgendes Ergebnis.

        Results
        =======
        – core
        – EXTRA_FILE
        – config.php

        Es betrifft nur die manuell kopierte config.php Datei.

        Hat zwischenzeitlich jemand eine Lösung hierzu?

        Viele Grüße
        Sebastian

        • Jan sagt:

          Hi Sebastian,

          das ist wirklich außergewöhnlich. Die config.php dürfte er eigentlich nie als „extra file“ erkannt werden. Ist an dieser Datei etwas besonders? Ich denke da an das Encoding, die Dateiberechtigungen, etc.?

          Gruß,
          Jan

  • Francisco sagt:

    Hallo,
    ich habe gestern das Update Nextcloud 19 durchgeführt. dieses war soweit auch erfolgreich. Im Anschluss habe ich mir die Meldungen angesehen bzgl. PHP unterstützung ab der Version 20. Und bin gleich zur Tat geschritten. Update von php 7.2 auf 7.3 installation wurde erfolgreich durchgeführt. Neustart im Anschluss. Weitere Update wurden von Seitens Ubuntu installiert. Und nach dem ich den maintenance wieder deaktviert habe kommt nun das! „Internal Server Error

    The server encountered an internal error and was unable to complete your request.
    Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
    More details can be found in the server log.“
    im Log file Apache2 – error.log
    „16:43:07.377692 2020] [mpm_prefork:notice] [pid 1157] AH00171: Graceful restart requested, doing restart
    [Sat Jul 04 16:43:07.644417 2020] [mpm_prefork:notice] [pid 1157] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 configured — resuming normal operations
    [Sat Jul 04 16:43:07.644477 2020] [core:notice] [pid 1157] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 16:43:14.031839 2020] [mpm_prefork:notice] [pid 1157] AH00171: Graceful restart requested, doing restart
    [Sat Jul 04 16:43:14.247133 2020] [mpm_prefork:notice] [pid 1157] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 configured — resuming normal operations
    [Sat Jul 04 16:43:14.247203 2020] [core:notice] [pid 1157] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 16:43:16.674257 2020] [mpm_prefork:notice] [pid 1157] AH00171: Graceful restart requested, doing restart
    [Sat Jul 04 16:43:16.921745 2020] [mpm_prefork:notice] [pid 1157] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 configured — resuming normal operations
    [Sat Jul 04 16:43:16.921797 2020] [core:notice] [pid 1157] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 16:54:46.546023 2020] [access_compat:error] [pid 8743] [client 79.217.126.93:56908] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:55:16.136276 2020] [access_compat:error] [pid 8744] [client 79.217.126.93:52646] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:55:48.482140 2020] [access_compat:error] [pid 9061] [client 79.217.126.93:50924] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:56:20.124586 2020] [access_compat:error] [pid 9011] [client 79.217.126.93:53355] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:56:52.742388 2020] [access_compat:error] [pid 9077] [client 79.217.126.93:41037] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:57:24.111374 2020] [access_compat:error] [pid 8744] [client 79.217.126.93:40455] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:59:00.435160 2020] [access_compat:error] [pid 8831] [client 79.217.126.93:56797] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:59:28.106605 2020] [access_compat:error] [pid 8905] [client 79.217.126.93:60384] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 16:59:32.128548 2020] [access_compat:error] [pid 8831] [client 79.217.126.93:62889] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:00:09.676444 2020] [access_compat:error] [pid 8747] [client 79.217.126.93:43672] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:00:36.095096 2020] [access_compat:error] [pid 9061] [client 79.217.126.93:36492] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:01:08.096661 2020] [access_compat:error] [pid 8831] [client 79.217.126.93:43189] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:01:40.488669 2020] [access_compat:error] [pid 8903] [client 79.217.126.93:64703] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:02:12.100006 2020] [access_compat:error] [pid 8744] [client 79.217.126.93:40175] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:02:44.495533 2020] [access_compat:error] [pid 9127] [client 79.217.126.93:60039] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:03:16.098149 2020] [access_compat:error] [pid 8747] [client 79.217.126.93:56404] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:03:42.093511 2020] [access_compat:error] [pid 9061] [client 79.217.126.93:58247] AH01797: client denied by server configuration: /var/www/html/config
    [Sat Jul 04 17:15:37.820051 2020] [mpm_prefork:notice] [pid 1157] AH00169: caught SIGTERM, shutting down
    [Sat Jul 04 17:15:38.111159 2020] [mpm_prefork:notice] [pid 22632] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 configured — resuming normal operations
    [Sat Jul 04 17:15:38.111381 2020] [core:notice] [pid 22632] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 17:18:17.658124 2020] [mpm_prefork:notice] [pid 1179] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 configured — resuming normal operations
    [Sat Jul 04 17:18:17.664562 2020] [core:notice] [pid 1179] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 17:20:03.027379 2020] [mpm_prefork:notice] [pid 1179] AH00169: caught SIGTERM, shutting down
    [Sat Jul 04 17:21:09.618348 2020] [mpm_prefork:notice] [pid 1152] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 configured — resuming normal operations
    [Sat Jul 04 17:21:09.629459 2020] [core:notice] [pid 1152] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 17:28:13.769790 2020] [mpm_prefork:notice] [pid 1152] AH00169: caught SIGTERM, shutting down
    [Sat Jul 04 17:29:18.713261 2020] [mpm_prefork:notice] [pid 1124] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1g configured — resuming normal operations
    [Sat Jul 04 17:29:18.752197 2020] [core:notice] [pid 1124] AH00094: Command line: ‚/usr/sbin/apache2‘
    [Sat Jul 04 17:30:38.614432 2020] [mpm_prefork:notice] [pid 1124] AH00169: caught SIGTERM, shutting down

    vielen Dank für deine Zeit.

    Gruß
    Francisco

    • Jan sagt:

      Hi Francisco,

      ich bin nun nicht der Apache-Experte, aber es sieht so aus, als wenn das Verzeichnis /var/www/html nicht die pasenden Rechte hat. Hier muss der User www-data der Owner sein. Vielleicht das mal fürs erste kontrollieren.

      Gruß,
      Jan

      • Francisco sagt:

        ist leider nicht der Fehler — www-data ist owner

        • Jan sagt:

          Hi,

          hat es beim Update vielleicht den virtuellen Host „zerschossen“? Passt dieser für Nextcloud noch? Die Fehlermeldungen sagen auf jeden Fall aus, dass kein Zugriff auf /var/www/html möglich ist. Hattest du open_basedir gesetzt, welches nach dem Update vielleicht überschrieben wurde?

          Gruß,
          Jan

  • Tealk sagt:

    Ich hab da mal ein kleines Script angelegt, das sämtliche Aufgaben fürs Updaten übernimmt.
    Angefangen hat es für mich selber für Nextcloud updates, dann kam phpMyAdmin und MediaWiki dazu. Da es bisher sehr stabil läuft hab ich es veröffentlicht:
    https://gitlab.anzah.network/Tealk/shell-administration-scripts

    • Jan sagt:

      Hi,

      super, das ist vielleicht für einige Leute ganz interessant.
      Nur als Hinweis: Die sh-Dateien können leider nicht im Repo (im Browser) geöffnet werden, um die Skripte anzusehen muss man sich das Repo herunterladen.

      Gruß,
      Jan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.