---
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" >}}.
----