Nextloud 19.04 -> 20.0.1 Update Fehlermeldung

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
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
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
Es ist besser manuell upzudaten, bei mir ging das auch nicht.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Guten Morgen Andy,

hast du mal ne Anleitung für das manuelle Update ? Danke
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
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

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Und wie funktioniert das mit den heruntergeladenen Erweiterungen ?
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
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.
 

TechX

Benutzer
Mitglied seit
02. Mai 2014
Beiträge
171
Punkte für Reaktionen
41
Punkte
28
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.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
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

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
293
Punkte für Reaktionen
100
Punkte
43
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.
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
618
Punkte für Reaktionen
74
Punkte
48
Klingt interessant,
Würdest du das Script uns zur Verfügung stellen ?
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
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.
 

Andy+

Benutzer
Sehr erfahren
Mitglied seit
25. Jan 2016
Beiträge
5.357
Punkte für Reaktionen
481
Punkte
189
ü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

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
293
Punkte für Reaktionen
100
Punkte
43
@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

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
293
Punkte für Reaktionen
100
Punkte
43
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

Crashandy

Benutzer
Mitglied seit
14. Mai 2014
Beiträge
293
Punkte für Reaktionen
100
Punkte
43
@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


 

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