Nextcloud : mise-à-jour avec updater.phar

Nextcloud

Pour les pressés : exécuter la commande "updater.phar" en ssh.

C’est la méthode de mise-à-jour de Nextcloud la plus simple que j’ai trouvé. Et 100% de réussite "les doigts dans le nez" depuis que l’utilise (depuis la version 14).

Elle nécessite de :

  • se connecter en "Administrateur" à l’instance Nextcloud
  • avoir un accès au serveur (en ssh pour Infomaniak par exemple).

Une nouvelle version est disponible

Pour savoir si une nouvelle version est disponible, se connecter "Administrateur" et se rendre sur la page "Vue d’ensemble" (ou "overview").
En cliquant sur le menu "Paramètres", puis "Vue d’ensemble" dans le pavé "Administration" du menu gauche.

La version disponible est affichée (ici 18.0.1), ainsi que la version courante.

Il y a aussi la vérification de la disponibilité des applications pour la nouvelle version.
Sont affichées les indisponibles.
Je jette un oeil, pour voir s’il n’y en a pas de trop importantes. Mais en général, je n’en tiens pas compte parce que j’ai des doutes sur la fiabilité du contrôle car cela se passe bien malgré tout ?!).

Mise à jour avec updater.php

Se connecter sur le serveur et se rendre dans le répertoire d’installation de Nextcloud, puis dans le sous-répertoire "updater".

cd www
~/www$ cd updater/

La commande magique est alors "php updater.phar".

S’affiche alors les étapes qui seront effectuées :

  • sauvegarde
  • téléchargement de la version
  • copie des fichiers
  • ...

Il suffit de valider avec "Y".

:~/www/updater$ php updater.phar
Nextcloud Updater - version: v16.0.3-3-ga0c2b25 dirty

Current version is 17.0.3.

Update to Nextcloud 18.0.1 available. (channel: "stable")
Following file will be downloaded automatically: https://download.nextcloud.com/server/releases/nextcloud-18.0.1.zip
Open changelog ↗

Steps that will be executed:
[ ] Check for expected files
[ ] Check for write permissions
[ ] Create backup
[ ] Downloading
[ ] Verify integrity
[ ] Extracting
[ ] Enable maintenance mode
[ ] Replace entry points
[ ] Delete old files
[ ] Move new files in place
[ ] Done

Start update? [y/N] y

Une fois que tout est prêt, une dernière validation est demandée avant de lancer la mise à jour proprement dite.

Info: Pressing Ctrl-C will finish the currently running step and then stops the updater.

[✔] Check for expected files
[✔] Check for write permissions
[✔] Create backup
[✔] Downloading
[✔] Verify integrity
[✔] Extracting
[✔] Enable maintenance mode
[✔] Replace entry points
[✔] Delete old files
[✔] Move new files in place
[✔] Done

Update of code successful.

Should the "occ upgrade" command be executed? [Y/n] Y

Les traces indiquent les mises à jour de la base, des applications...

Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
2020-03-01T15:33:33+00:00 Set log level to debug
2020-03-01T15:33:33+00:00 Repair step: Repair MySQL collation
2020-03-01T15:33:33+00:00 Repair info: All tables already have the correct collation -> nothing to do
2020-03-01T15:33:33+00:00 Repair step: Repair SQLite autoincrement
2020-03-01T15:33:33+00:00 Repair step: Copy data from accounts table when migrating from ownCloud
2020-03-01T15:33:34+00:00 Repair step: Drop account terms table when migrating from ownCloud
2020-03-01T15:33:34+00:00 Updating database schema
2020-03-01T15:33:37+00:00 Updated database
2020-03-01T15:33:37+00:00 Disabled incompatible app: activitylog
2020-03-01T15:33:37+00:00 Disabled incompatible app: bookmarks_fulltextsearch
2020-03-01T15:33:37+00:00 Disabled incompatible app: caniupdate
2020-03-01T15:33:37+00:00 Disabled incompatible app: dashboard
...
2020-03-01T15:33:52+00:00 Checking for update of app contacts in appstore
2020-03-01T15:33:52+00:00 Update app contacts from appstore
2020-03-01T15:33:55+00:00 Checked for update of app "contacts" in appstore
2020-03-01T15:33:55+00:00 Checking for update of app dav in appstore
...

Au final, on quitte le mode maintenance :

2020-03-01T15:33:55+00:00 Checking for update of app deck in appstore
2020-03-01T15:33:55+00:00 Checked for update of app "deck" in appstore
...
Keep maintenance mode active? [y/N] N
Maintenance mode disabled

Maintenance mode is disabled
:~/www/updater$

C’est fait !

Vérification de la version installée

En mode commande avec l’instruction "occ -V"

:~/ww$ php occ -V
Nextcloud 18.0.1

Sur la "Vue d’ensemble" dans l’interface d’administration.

Avertissements de sécurité & configuration

Sur la page "Vue d’ensemble"sont indiqués (parfois) des avertissementsde sécurité et de configuration... à corriger.

Cette fois-ci (passage de 17.0.3 à 18.0.3), il manque des indices dans la base de données.

Avertissements de sécurité & configuration

Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.
Il y a quelques avertissements concernant votre configuration.

   La base de données a quelques index manquant. L'ajout d'index dans de grandes tables peut prendre un certain temps. Elles ne sont donc pas ajoutées automatiquement. En exécutant "occ db:add-missing-indices", ces index manquants pourront être ajoutés manuellement pendant que l'instance continue de tourner. Une fois les index ajoutés, les requêtes sur ces tables sont généralement beaucoup plus rapides.
       Index "calendarobject_calid_index" manquant dans la table "oc_calendarobjects_props".
       Index "schedulobj_principuri_index" manquant dans la table "oc_schedulingobjects".

Il suffit de passe la commande indiquée sur le serveur en mode commande :

:~/www$ php occ db:add-missing-indices
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Adding calendarobject_calid_index index to the calendarobjects_props table, this can take some time...
calendarobjects_props table updated successfully.
Check indices of the schedulingobjects table.
Adding schedulobj_principuri_index index to the schedulingobjects table, this can take some time...
schedulingobjects table updated successfully.

Mise à jour des applications

La dernière étape est de faire un petit tour dans l’administration des applications.
Il reste parfois quelques mises à jour à effectuer.


"That’s all folks".

Il ne reste plus qu’à passer un peu par toutes les applications, comme un utilisateur lambda, pour s’assurer que tout fonctionne bien.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message
Mots-clés : Logiciels
Mots-clés : Linux

Pour créer des paragraphes, laissez simplement des lignes vides.