Vor zwei Jahren veröffentlichte ich eine Reihe von Artikeln zum Thema "Erstellen eines Debian 8-basierten Webservers und Starten von Nextcloud 11. Einige Monate später gab es ein Add-On mit" differenziellen "Informationen zur Installation von Nextcloud 13 unter Debian 9. Ende 2018 hatte ich gerade Debian und Nextcloud wurden aktualisiert und es gab keine ungewöhnlichen oder interessanten Probleme. Das Update Ende 2019 war schon interessanter und schreibenswerter.

Dieser Artikel ist in erster Linie für diejenigen nützlich, die gemäß den Anweisungen der letzten vier Artikel Nextcloud 13 auf Debian 9 "gesammelt" haben (ich sende Grüße an zehn meiner Abonnenten auf Nextcloud, insbesondere an diejenigen, für die es die erste Erfahrung in der Linux-Welt war). Für diejenigen, die einen Service von Grund auf neu erstellen wollen, empfehle ich Ihnen, die ersten vier Artikel dieser Reihe zugrunde zu legen, die für die aktuellen Versionen von Debian 10 und Nextcloud 17 angepasst sind. Für erfahrene Linux-Benutzer kann der Artikel einen Platz zwischen "trivial und nutzlos" und "nicht schlecht" einnehmen. All-in-One-Platz Spickzettel. “
Inhaltsverzeichnis
Teil 1. Einrichten Ihrer Debian-Umgebung für den täglichen GebrauchTeil 2. Einen Server erstellen - LAMP in Debian einrichtenTeil 3. Erstellen einer persönlichen Cloud - Installieren und Konfigurieren von NextcloudTeil 4. Update 2018 - Debian 9 und Nextcloud 13Teil 5. Aktualisierung 2019 - PHP 7.2, MariaDB 10.4 und Nextcloud 17
Schnelle Kapitelnavigation
VorwortDebian-UpdatePHP Update auf Version 7.2Aktualisieren Sie MariaDB auf Version 10.4Nextcloud Update auf Version 17Nachwort
Vorwort
Ursprünglich wollte ich Nginx auf Debian 10 installieren und konfigurieren, auf dem die aktuelle Nextcloud 17 ohne Probleme installiert worden wäre. Trotzdem konnte ich die Zeit nicht wählen, daher ist dieser Artikel eine Anleitung zum Aktualisieren von Nextcloud von 13 auf die aktuelle Version 17 von der vorläufigen Vorbereiten eines Webservers.
Zunächst müssen Sie erklären, warum radikale Änderungen auf der Seite des Webservers erforderlich waren. Unser Server basiert auf dem aktuellen und unterstützten Debian 9. Sie können einfach das Betriebssystem aktualisieren und alle Komponenten des Webservers erhalten mindestens Sicherheitsupdates. Alles wäre großartig, wenn wir Nextcloud 13 weiter verwenden oder nur auf Version 14 aktualisieren würden. Nextcloud 13 wird jedoch nicht mehr unterstützt und die 14. Version wird sofort unterstützt. Ab der 15. Version bietet Nexctcloud die Konvertierung der Datenbank nach big int an, um die 4-Byte-Codierung zu unterstützen. Mit MariaDB 10.1 wird dies sehr problematisch sein. Nexctcloud 17 benötigt PHP 7.1-7.3, während Debian 9 nur Version 7.0 in seinen nativen Repositories enthält. Ein Upgrade auf die vorletzte Version von Nextcloud wäre in Bezug auf Zuverlässigkeit und Vorhersehbarkeit korrekter, aber ich war mir ein paar Jahre lang der Zuverlässigkeit dieses Dienstes so sicher, dass ich auf die neueste Version aktualisieren und den Webserver mit einer Reserve für die Zukunft aktualisieren wollte. Daher ist es für ein Upgrade auf Nexctcloud 17 optimal, MariaDB auf die aktuelle stabile Version 10.4 und PHP auf 7.2 zu aktualisieren. Es ist 7.2 und nicht relevant 7.4. Fakt ist, dass Nextcloud 13 PHP 5.6, 7.0 - 7.2 und Nexctcloud 17 PHP 7.1 - 7.3 benötigt. Die Verwendung von PHP 7.2 ist praktisch, um Upgrade-Aktionen zu minimieren. Der Apache-Server muss nicht aktualisiert werden - installieren Sie einfach die Sicherheitsupdates, die vom Debian-Support-Team verteilt werden. Für Updates müssen MariaDB und PHP jedoch externe Repositories verbinden.
Als ich Nextcloud kennenlernte, habe ich es „von Hand“ aktualisiert: Die Website wurde von einem speziellen Team über die Konsole in den Wartungsmodus versetzt, das Archiv mit der neuen Version der Website wurde manuell heruntergeladen und entpackt, die Dateien wurden aktualisiert und der Aktualisierungsvorgang wurde gestartet. Ein solches Update führte normalerweise zu den erwarteten Ergebnissen, obwohl ich nicht faul war, eine Sicherungskopie der Site, der Datenbank und der Benutzerdaten zu erstellen. Aber automatische Updates führten manchmal zu allerlei Überraschungen. Aber es ist lange her, dass die Stabilität des Motors seitdem stark zugenommen hat, und dieses Mal habe ich Updates ausschließlich über das Webinterface durchgeführt. Es war zwar immer noch nicht möglich, die Befehlszeile zu verlassen. Während eines iterativen Updates für jede neue Version werden in der Systemsteuerung verschiedene Warnungen und Benachrichtigungen angezeigt, die durch sinnvolle Ausführung von Befehlen in der Befehlszeile "entfernt" werden müssen. Sie können dies nicht tun - der Dienst wird trotzdem funktionieren. Obwohl dieser Ansatz grundsätzlich falsch ist, hat Nextcloud in diesem Modus 3 Monate lang für mich gearbeitet, bevor ich die aufgetretenen Probleme absichtlich aussortierte.
Debain-Update
Stoppen Sie den Webserver:
Und aktualisiert:
Nach dem Update können Sie die Betriebssystemversion überprüfen und einen Neustart durchführen, um sicherzustellen, dass nach dem Update alles normal startet:
PHP Update auf Version 7.2
Stoppen Sie den Webserver:
Zertifikats- und PPA-Schlüssel hinzufügen, PHP-Repository:
Wenn Sie die alte Version von PHP 7.0 löschen, wird auch phpmyadmin gelöscht, da wir die "Spuren" aus den entfernten Paketen mit autoremove bereinigen. Dies wird keine großen Schwierigkeiten bereiten, da für phpmyadmin keine speziellen Einstellungen vorgenommen wurden und eine erneute Installation kein Problem darstellt.
Installieren der für Nextcloud 17 erforderlichen Module:
[ Dieser Text wurde speziell für habr.com von AlexanderS geschrieben .
Der Link zur Quelle ist optional, aber sein Verweis ist sehr wünschenswert! ]Wir überprüfen die Version von PHP, starten den Webserver und prüfen die Funktionsfähigkeit von Nextcloud:
Aktualisieren Sie MariaDB auf Version 10.4
Die Projektwebsite enthält eine
interessante Seite, auf der Sie Ihr Betriebssystem und seine Version angeben und die Datenbankversion auswählen können. Nach der Auswahl wird Code generiert, um das Repository hinzuzufügen.
Stoppen Sie den Webserver:
Repository hinzufügen und Pakete aktualisieren:
Bei der Installation von MariaDB löscht der Paketmanager die vorherige Version korrekt und installiert die neue, alle Datenbanken werden gespeichert. Es wird jedoch natürlich empfohlen, die Nextcloud-Datenbank zu sichern.
Installieren Sie MariaDB und führen Sie den Update-Vorgang aus:
Nach Eingabe des Passworts wird MariaDB aktualisiert und kann gemäß den
Anweisungen im zweiten Teil konfiguriert werden:
Wir starten den Webserver und überprüfen die Leistung von Nextcloud:
Nextcloud Update auf Version 17
Um das Update zu starten, müssen Sie sich unter einem administrativen Eintrag beim Dienst anmelden, die Einstellungen vornehmen und im administrativen Bereich die „Allgemeinen Einstellungen“ öffnen. Nextcloud zeigt die installierte Version und die zum Aktualisieren verfügbare Version an, die durch Klicken auf die Schaltfläche "Update-Fenster öffnen" gestartet werden können. Nach dem Start erstellt Nextcloud ein Backup, lädt die Aktualisierungsdateien herunter und prüft ihre Integrität, aktiviert den Wartungsmodus und aktualisiert die Dateien. Was folgt aus der Frage „Wartungsmodus aktiv halten“? Sie müssen hier vorsichtig sein. Bei einer positiven Antwort wird die Site im Wartungsmodus belassen. Es wird davon ausgegangen, dass der Administrator weiß, was als Nächstes zu tun ist, und dass dies manuell erfolgt. Andernfalls erledigt Nextcloud alles selbst. Klicken Sie auf "Nein", um fortzufahren.
Updates werden iterativ durchgeführt. Nextcloud 13.x wird zuerst auf die neueste Version des 14.x-Zweigs aktualisiert. Danach müssen Sie zum Admin Center zurückkehren und das Update starten, jetzt von 14.x auf 15.x. Und so weiter, bis die letztmögliche aktuelle Version erreicht ist. Nach jeder Aktualisierung wird auf der Seite Allgemeine Einstellungen im Verwaltungsbereich eine Liste mit Vorschlägen und Problemen sowie Empfehlungen zu deren Behebung angezeigt. Im Folgenden wird erläutert, was nach jedem Update zu tun ist.
Vor dem UpdateIn neueren Versionen von Nextcloud wird empfohlen, PHP OPcache zu aktivieren, um die Leistung zu verbessern. Es ist seltsam, dass ich diesen Moment vor ein paar Jahren irgendwie verpasst habe, seitdem OPcache in PHP 5 erschienen ist. In /etc/php/7.2/apache2/php.ini müssen Sie die folgenden Parameter auskommentieren und bearbeiten:
opcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 pcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1
Aktualisieren Sie 13.x -> 14.xWir stellen die Indizes der Tabellen wieder her:
Aktualisieren Sie 14.x -> 15.xVorbereiten der nextcloud-Datenbank zum Aktivieren der Vier-Byte-Codierung:
Aktivieren Sie die Unterstützung für die Vier-Byte-Codierung in Nextcloud:
Wir transformieren Tabellen:
Verlorene Tabellenindizes wiederherstellen:
Tabellenindizes zu Bigint konvertieren:
Update 15.x -> 16.x.Verlorene Tabellenindizes wiederherstellen:
Tabellenindizes zu Bigint konvertieren:
Aktualisieren Sie 16.x -> 17.x.Es sind keine weiteren Maßnahmen erforderlich.
Nachwort
Nach dieser Anweisung wurde die virtuelle Maschine mit Nextcloud 13 aktualisiert.Mit der virtuellen Maschine können Sie Nextcloud-Dateien und deren Datenbank nicht sichern, da Sie bei Problemen einfach die zuvor gespeicherte virtuelle Maschinendatei zurückgeben und von vorne beginnen können. Dies gilt jedoch nicht für den Benutzerdatenordner, den ich auch für das Sichern mit der virtuellen Nextcloud-Maschine empfehle. In meinem Fall wird die "Cloud" als Remote-Ordner mit automatischer Versionierung verwendet, außerdem mit der Synchronisationsrichtung "nur dort", und für mich war der Verlust dieser Daten nicht kritisch - ich müsste nur für einige Stunden erneut synchronisieren. Obwohl ich die in meinem Leben festgelegte Regel "Bleib auf der sicheren Seite" missachtet habe, verlief das Update reibungslos und alle Kunden verdienten problemlos Geld mit Nextcloud 17. Ich bin beeindruckt, Frank Karlitshek - Sie und Ihr Team leisten hervorragende Arbeit!
Nach dem Update habe ich mich entschlossen, die Benutzerdaten zu bereinigen, was laut Statistik zwei Terabyte gekostet hat. Ich hatte nicht so viele Betriebsdaten - der größte Teil des Volumes war mit Versionsdateien und gelöschten Dateien belegt. Das Problem, auf das ich gestoßen bin, war, dass für einen Benutzer so viele Daten gelöscht wurden (es ist nicht einmal das Volumen, sondern die Menge - viele kleine Dateien), dass Nextcloud sie nicht auf der Weboberfläche anzeigen konnte. Nach dem Studium der Administrationsanleitung fand ich die Lösung über die Befehlszeile. Vielleicht ist dies für jemanden nützlich.
So löschen Sie gelöschte Dateien des Benutzers user:
So löschen Sie Benutzerversionsdateien:
Zurück
zum Anfang, zum Inhaltsverzeichnis .
Die Entstehungsgeschichte einer Home Cloud. Teil 5. Aktualisierung 2019 - PHP 7.2, MariaDB 10.4 und Nextcloud 17
Textversion: 1.1.1.
Datum der Erstveröffentlichung: 15.01.2020.
Zuletzt bearbeitet: 15.01.2020.
Protokoll aktualisieren1.1.1 [15-01-2020]
Tippfehlerbehebung.
1.1.0 [15-01-2020]
Der Code zum Vorbereiten der Nexcloud-Datenbank zum Aktivieren der Vier-Byte-Codierung wurde behoben.
1.0.0 [15-01-2020]
Erste Version.