Nextloud 19.04 -> 20.0.1 Update Fehlermeldung

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Tuxnet

Benutzer
Registriert
02. Jan. 2019
Beiträge
641
Reaktionspunkte
76
Punkte
48
Hallo zusammen,
Ich habe eine Problem beim Update meiner NC von 19.0.4 auf die aktuelle 20.0.1

Ich bekomme immer folgenden Hinweis

Verify integrity ...PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 142700160 bytes) in phar:///volume1/web/updater/updater.phar/lib/Updater.php on line 637
 
Es ist besser manuell upzudaten, bei mir ging das auch nicht.
 
Guten Morgen Andy,

hast du mal ne Anleitung für das manuelle Update ? Danke
 
Den Installationsordner im web-Verzeichnis umbenennen, Nextcloud in das web-Verzeichnis laden, darin entpacken, die Arbeitsdateien und -verzeichnisse rüberkopieren, Rechte anpassen und durch Aufruf aktualisieren lassen. Rechte anpassen mache ich pauschal mit WinSCP owncloud/nextcloud Verzeichnis markieren und http:http mit 0775 rekursiv anpassen.
 
  • Like
Reaktionen: Tuxnet
Und wie funktioniert das mit den heruntergeladenen Erweiterungen ?
 
Ich kopiere die Ordner apps, config, data immer mit Kopieren - Überspringen in die neue Struktur. Dann bleiben alle neuen Dateien erhalten und alle anderen werden übernommen.
 
Wie gut überlebt eine Nextcloud-Installation DSM-Updates/Upgrades?
Eher viel Handarbeit nötig oder doch unproblematischer als erwartet?

Hätte eine 218+ für Nextcloud u. bin am überlegen, was "geschickter" wäre - komplett nativ installieren oder VM für Webserver (auch oder eben wegen PHP) selbst u. nur die Datenbank+Speicherpfad auf der DS zu nutzen.
 
Diese Art von manuellen Updates mache ich bei Owncloud und Nextcloud schon immer, weil die internen Updates immer wieder fehlerhaft waren. Auf diese Weise hat das eigentlich immer funktioniert. Und wenn das neue Paket mal nicht geht, was auch schon vorgekommen ist, einfach den neuen Ordner umbenennen, den alten Ordner rückbenennen und es läuft wieder. Wenn aber das interne Update schief geht, sollte ein Backup vorhanden sein, sonst sieht das uU. nicht so gut aus.
 
  • Like
Reaktionen: Crashandy
Diese Art von manuellen Updates mache ich bei Owncloud und Nextcloud schon immer
Und wenn man sich ein kleines Script dafür anlegt, dann ist das Update in Nullkommanix erledigt.

@Andy+ , Du hast vor ewigen Zeiten hier einmal ein Script vorgestellt, welches ich für mich immer wieder etwas angepasst und verfeinert habe.
Mit vorheriger zusätzlicher Datensicherung des Ordners und der Datenbank dauert das Update weniger als 10 Minuten.

Ich bin jedenfalls auch der Meinung, dass ein manuelles Update, ob mit SSL über Putty, WinSCP oder mit einem Script über den Aufgabenplaner, für ein Synology NAS die vernünftigste Lösung ist.
 
Klingt interessant,
Würdest du das Script uns zur Verfügung stellen ?
 
Für ein manuelles Update habe ich keine Scripte, nur für Neuinstallationen als autoconfig.php für owncloud oder nextcloud:

<?php
$AUTOCONFIG = array(
"dbtype" => "mysql",
"dbname" => "owncloud",
"dbuser" => "root",
"dbpass" => "xxxxxxxxxx",
"dbhost" => "127.0.0.1:3307",
"dbtableprefix" => "oc_",
"adminlogin" => "admin",
"adminpass" => "xxxxxxxxxx",
"directory" => "/volume1/web/owncloud/data",
);

<?php
$AUTOCONFIG = array(
"dbtype" => "mysql",
"dbname" => "nextcloud",
"dbuser" => "root",
"dbpass" => "xxxxxxxxxx",
"dbhost" => "127.0.0.1:3307",
"dbtableprefix" => "nc_",
"adminlogin" => "admin",
"adminpass" => "xxxxxxxxxx",
"directory" => "/volume1/web/nextcloud/data",
);

Das wars eigentlich. Ansonsten mache ich das, wie oben beschrieben, das geht auch ziemlich schnell.
 
überlebt eine Nextcloud-Installation DSM-Updates/Upgrades

Bislang ohne Probleme. Die Module im DSM haben darauf auch keinen Einfluss. Einfluss hätte uU. vlt. Datenbank oder PHP, wenn in Updates irgendwas sein sollte, das war bislang bei mir auch nicht. Deshalb würde ich aber kein Docker oder VM betreiben wollen.
 
  • Like
Reaktionen: TechX
@Andy+ , kann sein, dass ich mich getäuscht habe, aber das ursprüngliche Script war hier aus dem Forum.
Deine Beiträge waren aber schon in der Vergangenheit immer sehr hilfreich.

Würdest du das Script uns zur Verfügung stellen ?

@Tuxnet , ich stelle mein Script hier mal vor. Es muss natürlich den individuellen Gegebenheiten angepasst werden.
Zuerst kopiere ich in mein web-Verzeichnis z.B. die aktuelle Datei "nextcloud-19.0.4.tar.bz2" und passe den Dateinamen im Script an.
Anschließend wird über den Aufgabenplaner das Script "nextcloud_updaten.sh" aufgerufen.
Zuletzt rufe ich meine Nextcloud im Browser auf, um das Update fertig zu stellen.

Hier nun der Inhalt meiner Datei "nextcloud_updaten.sh":

Bash:
#!/bin/bash
# Sichert den alten Nextcloud-Ordner, bennent ihn um und entpackt die Archiv-Datei.
# Kopiert den config-Ordner und die fehlenden Apps vom alten in den neuen Nextcloud-Ordner.
# Anschließend werden die Schreibberechtigungen der Benutzer und Gruppen für das Update gesetzt.

webpath='/volume1/web'
ncpath='/volume1/web/nextcloud'
ncpathold='/volume1/web/nextcloud_old'
datapath='/volume1/CloudData/data'
# Hier muss der Dateiname der vorher in das web-Verzeichnis kopierten Datei angepasst werden!
ncfilename='nextcloud-19.0.4.tar.bz2'
htuser='http'
htgroup='http'

# Nextcloud-Ordner sichern
tar -cjPf ${webpath}/nextcloud-backups/`date +%Y-%m-%d`_nextcloud.tar.bz2 ${ncpath}

# Nextcloud MySQL-Datenbank sichern
/volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump --single-transaction -h"127.0.0.1" -u"nextcloud" -p"MyPassword" "nextcloud" | gzip -c -9 > ${webpath}/nextcloud-backups/`date +%Y-%m-%d`_mysqlbkp.gz

# Nextcloud-Ordner umbenennen
mv ${ncpath}/ ${ncpathold}/

# Archiv-Datei entpacken
tar -xf ${webpath}/${ncfilename} -C ${webpath}/

# Inhalt des alten config-Ordners und des themes-Ordners in die neue Nextcloud-Instanz kopieren
cp -ar ${ncpathold}/config/* ${ncpath}/config/
cp -ar ${ncpathold}/themes/* ${ncpath}/themes/

# kopiert die fehlenden Apps aus der alten Version (optional)
# cp -ar ${ncpathold}/apps/documentserver_community/ ${ncpath}/apps/documentserver_community/
# cp -ar ${ncpathold}/apps/onlyoffice/ ${ncpath}/apps/onlyoffice/

# setzt Schreibberechtigungen für Benutzer und Gruppen
chown -R ${htuser}:${htgroup} ${ncpath}
find ${ncpath}/ -type f -print0 | xargs -0 chmod 0777
find ${ncpath}/ -type d -print0 | xargs -0 chmod 0777

exit 0

Die Nextcloud Version 20.0.1 habe ich auf meinem produktiven System noch nicht am Laufen, jedoch als Test bei meinem Webhoster.
 
  • Like
Reaktionen: Tuxnet
Ein kleiner Nachtrag:

Das Update auf die Version 20.0.1 funktioniert mit diesem Script auch, ich habe es gerade auf einem anderen NAS probiert.
Wichtig ist nur, vorerst auf der Version PHP 7.3 zu bleiben, da PHP 7.4 noch nicht funktioniert.
 
  • Like
Reaktionen: Tuxnet
@Tuxnet , da in dem Update-Script die Schreibberechtigungen für die betreffenden Ordner auf 0777 gesetzt wurden, habe ich noch ein abschließendes Script erstellt. Dies führe ich erst aus, nachdem ich alle Funktionen in der Nextcloud kontrolliert habe, um die Installation zu härten.

Hier nun der Inhalt meiner Datei "nextcloud_nach_update.sh":

Bash:
#!/bin/bash
# Festlegen von starken Berechtigungen nach der Installation

ncpath='/volume1/web/nextcloud'
datapath='/volume1/CloudData/data'
htuser='http'
htgroup='http'
rootuser='root'

# Erstellen eventuell fehlender Verzeichnisse
mkdir -p $ncpath/updater

# Zugriffsrechte von Dateien und Verzeichnissen ändern
find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ncpath}/ -type d -print0 | xargs -0 chmod 0750
find ${datapath}/ -type f -print0 | xargs -0 chmod 0640
find ${datapath}/ -type d -print0 | xargs -0 chmod 0750

# Besitzer und Gruppe von Verzeichnissen ändern
chown -R ${rootuser}:${htgroup} ${ncpath}/
chown -R ${htuser}:${htgroup} ${ncpath}/apps/
chown -R ${htuser}:${htgroup} ${ncpath}/config/
chown -R ${htuser}:${htgroup} ${ncpath}/themes/
chown -R ${htuser}:${htgroup} ${ncpath}/updater/
chown -R ${htuser}:${htgroup} ${datapath}/
chmod +x ${ncpath}/occ

# Zugriffsrechte der .htaccess ändern
if [ -f ${ncpath}/.htaccess ]
then
  chmod 0644 ${ncpath}/.htaccess
  chown ${rootuser}:${htgroup} ${ncpath}/.htaccess
fi
if [ -f ${datapath}/.htaccess ]
then
  chmod 0644 ${datapath}/.htaccess
  chown ${rootuser}:${htgroup} ${datapath}/.htaccess
fi
 
  • Like
Reaktionen: Tuxnet
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat