Description
Mettre à jour NC (Nextcloud ) n’est pas compliqué en soit… Soit, vous le faites :
- Par le biais de l’interface web d’administration.
- Manuellement
- Par le gestionnaire de paquets, s’il y a lieu.
Cet article a juste pour propos d’expliquer succinctement le processus manuel sous OpenBSD. L’instance que j’administre est donc sous OpenBSD, desservie par le serveur web Nginx, et le couple PHP+MySQL (en l’occurence actuellement PHP 7.3)
Processus de mise à jour
C’est le processus que j’utilise depuis plusieurs années, depuis la version 15.*, qui en fait se veut simple, pratique et rapide.
Arrêt du service web
La première chose que je fais est de désactiver le domaine au niveau de nginx :
Code : sh
Préparations
Partons du principe que l’utilisateur web est www
.
Les actions qui suivent sont à faire avec ces droits : $ su -l www
- Direction vers le répertoire de nextcloud :
cd www/nextcloud
- Il faut légérement modifier
le fichier de config :
sed -i -e 's#/htdocs#/var/www/htdocs#' config/config.php
- Activation du mode de maintenance:
php-7.3 occ maintenance:mode --on
Téléchargement
Astuce d’informaticien :
- Direction le répertoire parent
www\
: - Création d’une variable de version
v
qui sera bien utile. - Téléchargement de l’archive actuelle correspondante à la version, ainsi que du fichier de sommes de contrôle sha256, fournis par le projet NC.
- Vérification de la somme de contrôle
Code : sh
Si par exemple, le résultat du SHA est (SHA256) nextcloud-$v.tar.bz2: OK
, c’est tout bon.
Installation
Passons à la phse d’installation :
- déplace l’actuel répertoire
nextcloud
en le renommant suivi de la date de transformation et du numéro de l’ancienne version - décompression de l’archive,
- suppression d’un fichier (on ne cherche pas à installer, ni à ré-installer NC).
Code : sh
Vérifications primaires
Là, il faut être un peu plus attentif :
- Copie l’ancien fichier de configuration vers le nouveau répertoire de configuration :
cp ${oldnc}/config/config.php nextcloud/config/
- Maintenant, il faut parcourir l’ancien répertoire des applications pour copier celles qui ne sont pas natives vers le nouveau répertoire d’applications. ne recopiez pas telle qu’elle la commande qui suit, c’est juste pour mémo :
cp all ${oldnc}/apps diff to new nextcloud-app
- Pour finir, si besoin, il faut faire de même avec le répertoire des thèmes.
Permissions
- Attribution des droits utilisateurs sur tous les nouveaux fichiers et répertoires dans le répertoire
nextcloud/
. - Puis, attribution des droits nécessaires d’abord sur tous les répertoires enfants, ensuite ceux pour les fichiers enfants.
Code : sh
Mise à jour
- La mise à jour de NC en soit ; rien de particulier, pour autant qu’on soit dans le bon répertoire :
cd nextcloud/
- Ensuite, utilisation de l’outil
occ
:php-7.3 occ upgrade
- Si cela finit avec le message de succès, sortie du mode maintenance :
php-7.3 occ maintenance:mode --off
- Si cela finit avec le message de succès, sortie du mode maintenance :
Pour finir, ré-édition du fichier de configuration pour supprimer /var/www
:
sed -i -e 's#/var/www/htdocs#/htdocs#' config/config.php
Rédemarrage Service Web
- Ré-active le domaine et redémarrage du service web :
Code : sh
- Puis connexion à l’interface web d’administration en tant qu’administrateur, et mise à jour des différentes applications
Et, voilà !
TL;DR
Attention si vous ne faites que recopier tel quel ce TL;DR, vous allez au casse-pipe !
Code : sh
Dépannages
Si la mise à jour échoue, avec l’un de ces messages d’erreurs :
Erreur : Nextcloud is not installed
Tel que :
Code : sh
Première chose à s’assurer est de vérifier que vous avez bien recopié l’ancien fichier de configuration vers le nouveau répertoire de configuration.
Si oui, et que le problème perdure, essayez : php-7.3 occ maintenance:repair
Erreur: vous essayez de réinstaller votre Nextcloud
Lorsque vous vous connectez à l’interface web, vous avez le message suivant :
Citation :
Allez supprimer le fichier CAN_INSTALL
qui se trouve dans le nouveau répertoire de configuration
Les fichiers ne sont plus visibles
Essayez : php-7.3 console.php files:scan --all
Commandes OCC
Pour rappel, les différentes commandes occ, bien utiles : php occ list
Retrouvez une liste d’informations bien pratique sur la page occ .