Zum Inhalt springen

Update per PHP Script

NextCloud Update mittels PHP Script und damit repariert!

Wie ich hier schon erwähnt habe, hab ich in der Vergangenheit immer ein NextCloud Update mittels FTP eingespielt. Das war „damals“ für mich der „Königsweg“, weil die Update-Prozedur über das NC-Backend immer abgebrochen hat.

Doch habe so die Befürchtung, dass ich mir mal mit dem „FTP Update“ mal was an meiner NextCloud-Instanz zerschossen habe, weil seit einiger Zeit ich die „Benutzerverwaltung“ bzw. „Apps“ von NC nicht mehr aufrufen konnte. Wenn ich dies tat, dann bekam ich nur eine leer Browserseite angezeigt.

Nun hab ich heute gesehen, dass es wieder mal ein NC Update gibt (auf die Version 20.0.5) und diese brach mir auch wieder im NextCloud-Backend mit einer Fehlermeldung bei dem Punkt „Verifing integrity“  ab.

Ich hab mich darauf hin mal beim allinkl-Support gemeldet und von dort den Tipp bekommen, dass ich doch mal das NextCloud Upgrade mittels PHP Script probieren sollte.
Dazu müsste ich zwei Dateien anlegen und diese in den Ordner „Updater“ in meiner NextCloud-Installation legen.

Die erste Datei enthält das Script für das eigentliche Upgrade und hab ich mal „upgrade.php“ benannt.

<?php 
exec("php73 updater.phar --no-interaction 2>&1", $out, $result); 
echo "Returncode: " .$result ."<br>"; 
echo "Ausgabe des Scripts: " ."<br>"; 
echo "<pre>"; print_r($out); 
?> 

Die zweite Datei ist ein Update von Nextcloud mit allen Apps, was hin und wieder auch noch nötig sein kann – und die hab ich „update.php“ genannt.

<?php 
exec("php73 ../occ upgrade 2>&1", $out, $result); 
echo "Returncode: " .$result ."<br>"; 
echo "Ausgabe des Scripts: " ."<br>"; 
echo "<pre>"; print_r($out); 
?> 

Im Anschluss muss man dann nur noch die URL der beiden Scripts aufrufen und somit laufen lassen.
https://nextcloud.deinedomain.de/updater/upgrade.php bzw.
https://nextcloud.deinedomain.de/updater/update.php

Das erste PHP-Script (upgrade.php) hat ca. eine gute Minute gebraucht, bis es eine Rückmeldung im Browser gegeben hat und es wurde mir dort mitgeteilt, dass das Upgrade durch geführt wurde. Was ja schon mal ein Erfolg gegenüber der NC-Backend-Variante war.

Als ich dann das zweite Script laufen ließ (update.php) bekam ich nur die Meldung, dass ich schon auf der aktuellsten Version von NextCloud sei und nichts gemacht wurde.

Aber: Netter Nebeneffekt war, dass nach dem Upgrade meine User- und App-Verwaltung wieder ging! 🙂
Danke an dieser Stelle auch an den klasse Support von allinkl.de!