--- date: 2019-11-23T20:45:23+01:00 description: "Comment mettre à jour Nextcloud manuellement sous OpenBSD" draft: false tags: ["Nextcloud", "OpenBSD", "upgrade", "astuce"] title: "Nextcloud: Mise à jour manuelle sur OpenBSD (astuce)" translationKey: "openbsd-nextcloud-upgrade" --- ## Description Mettre à jour {{< abbr NC Nextcloud >}} *(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 "web-nextcloud-stop-web-service" sh >}} ### Préparations Partons du principe que l'utilisateur web est `www`. Les actions qui suivent sont à faire avec ces droits : `$ su -l www` 1. Direction vers le répertoire de nextcloud :
`cd www/nextcloud` 2. Il {{< inside2 t="faut légérement modifier" l="web:nextcloud:nextcloud-php-chroot" >}} le fichier de config :
`sed -i -e 's#/htdocs#/var/www/htdocs#' config/config.php` 3. Activation du mode de maintenance:
`php-7.3 occ maintenance:mode --on` #### Téléchargement Astuce d'informaticien : 1. Direction le répertoire parent `www\` : 2. Création d'une variable de version `v` qui sera bien utile. 3. 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. 4. Vérification de la somme de contrôle {{< code "web-nextcloud-upgrade-dl-archive" 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 "web-nextcloud-upgrade-install-archive" 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 "web-nextcloud-upgrade-rights-user" 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` 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 "web-nextcloud-restart-web-service" 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 "web-nextcloud-upgrade-tldr" sh >}} ### Dépannages Si la mise à jour échoue, avec l'un de ces messages d'erreurs : #### Erreur : Nextcloud is not installed Tel que : {{< code "web-nextcloud-upgrade-error-not-installed" 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 : {{< blockquote "web-nextcloud-upgrade-error-reinstall-fr" >}} 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 {{< inside2 t="occ" l="web:nextcloud:occ" >}}. ----