2 façons de mettre à niveau Nextcloud [ligne de commande et interface graphique]
Il est important de garder votre serveur Nextcloud à jour avec les dernières corrections de sécurité et de bugs. Ce didacticiel va vous montrer comment mettre à niveau NextCloud à l'aide de l'application de mise à jour, qui automatise de nombreuses étapes d'une mise à niveau manuelle.
Conditions préalables
Vous devriez avoir une instance Nextcloud opérationnelle. Sinon, veuillez suivre l'un des tutoriels ci-dessous pour configurer votre serveur Nextcloud.
- Installez NextCloud sur Ubuntu 20.04 avec Apache (LAMP Stack)
- Installez NextCloud sur Ubuntu 20.04 avec Nginx (LEMP Stack)
- Installez NextCloud sur CentOS 8/RHEL 8 avec Nginx (LEMP Stack)
Sauvegarder votre Nextcloud
Avant de mettre à jour Nextcloud, vous devez sauvegarder la base de données NextCloud et le fichier de configuration.
Sauvegarde de la base de données NextCloud
Pour sauvegarder la base de données NextCloud, vous devez d'abord connaître le nom de la base de données en exécutant la commande suivante sur votre serveur NextCloud.
sudo mysql -u root -e "show databases"
Si votre MariaDB nécessite une authentification par mot de passe, exécutez plutôt cette commande. Entrez le mot de passe de l'utilisateur root MariaDB/MySQL.
mysql -u root -p -e "show databases"Vous verrez quelque chose comme ci-dessous :
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| nextcloud |
| performance_schema |
+--------------------+Comme vous pouvez le voir, le nom de ma base de données NextCloud est nextcloud. Une fois que vous avez identifié le nom de la base de données NextCloud, utilisez l'utilitaire mysqldump pour effectuer une sauvegarde comme ci-dessous. Remplacez le texte rouge par votre propre nom de base de données NextCloud.
sudo mysqldump -u root nextcloud-database-name > ~/nextcloud.sqlou
mysqldump -u root -p nextcloud-database-name > ~/nextcloud.sqlLa commande ci-dessus crée un fichier de vidage (nextcloud.sql) sous votre répertoire personnel et il peut être utilisé pour restaurer la base de données Nextcloud si des événements désastreux se produisent.
Sauvegarde du dossier de configuration NextCloud
Pour sauvegarder le dossier de configuration NextCloud, commencez par CD dans le répertoire d'installation Nextcloud. (En fonction de votre configuration, votre répertoire d'installation Nextcloud peut être différent. Par exemple, si vous configurez Nextcloud avec la pile LAMP, le répertoire peut être /var/www/nextcloud/. Si vous configurez Nextcloud avec la pile LEMP, le répertoire de données peut être /usr/share/nginx/nextcloud/).
cd /var/www/nextcloud/Utilisez ensuite tar pour sauvegarder le dossier de configuration.
sudo tar -cpzvf ~/nextcloud-config.tar.gz config/Parce que le fichier config.php est lu uniquement par le serveur Web, nous devons donc ajouter sudo. Le fichier de sauvegarde (nextcloud-config.tart.gz) sera placé sous votre répertoire personnel.
Mettons maintenant à niveau NextCloud.
Remarque : Vous devez effectuer une mise à niveau vers la dernière version intermédiaire avant de procéder à la mise à niveau vers la version majeure suivante.
Mettre à niveau Nextcloud à partir de la ligne de commande
La méthode de ligne de commande est plus efficace et vous verrez moins d'erreurs par rapport à l'application de mise à jour basée sur le Web. Si votre instance Nextcloud comporte de nombreux utilisateurs et fichiers, vous devez utiliser la méthode de ligne de commande.
Accédez au répertoire d'installation de NextCloud. (En fonction de votre configuration, votre répertoire d'installation Nextcloud peut être différent. Par exemple, si vous configurez Nextcloud avec la pile LAMP, le répertoire peut être /var/www/nextcloud/. Si vous configurez Nextcloud avec la pile LEMP, le répertoire de données peut être /usr/share/nginx/nextcloud/).
cd /var/www/nextcloud/
Ensuite, lancez le programme de mise à jour basé sur la ligne de commande.
sudo -u www-data php7.4 updater/updater.phar --no-interactionwww-data est le nom d'utilisateur du serveur Web, qui peut être différent sur votre système.
- Sur Debian/Ubuntu, c'est généralement
www-data, - Sur CentOS/RHEL, il s'agit généralement de
apachepour le serveur Web Apache et denginxpour le serveur Web Nginx. - Sur Arch Linux, il s'agit généralement de
http.
Exécutez la routine post-mise à niveau.
sudo -u www-data php7.4 /var/www/nextcloud/occ upgrade
sudo -u www-data php7.4 /var/www/nextcloud/occ db:add-missing-indices
sudo -u www-data php7.4 /var/www/nextcloud/occ db:convert-filecache-bigintUne fois la mise à niveau terminée, accédez à la page Paramètres -> Vue d'ensemble et vous verrez que votre version Nextcloud est à jour.
Remarque : N'oubliez pas de réactiver les applications tierces après la mise à niveau.
Vous pouvez créer une tâche Cron afin que Nextcloud puisse être mis à niveau automatiquement. Modifiez le fichier crontab de l'utilisateur www-data.
sudo -u www-data crontab -eAjoutez la ligne suivante à la fin de ce fichier. Évidemment, vous devez remplacer /var/www/nextcloud/ par votre propre répertoire d'installation Nextcloud.
0 3 * * * php7.4 /var/www/nextcloud/updater/updater.phar --no-interaction
Enregistrez et fermez le fichier. La tâche Cron s'exécutera à 3 heures du matin chaque jour.
Conseil de dépannage : Parfois, une mise à niveau peut échouer en raison d'une incompatibilité PHP. Vous pouvez essayer de mettre à niveau vers une nouvelle version de PHP telle que PHP7.4 -> PHP8.0, puis réexécuter la commande de mise à niveau.
Mettez à niveau NextCloud avec l'application de mise à jour graphique basée sur le Web
Accédez à la page Paramètres de NextCloud et sélectionnez l'onglet Vue d'ensemble dans la barre latérale gauche. Si une nouvelle version est disponible, cliquez sur le bouton Ouvrir le programme de mise à jour.
Cliquez ensuite sur le bouton démarrer la mise à jour.
NextCloud sera mis en mode maintenance et se préparera à la mise à niveau. Si vous rencontrez une erreur, veuillez consulter les conseils de dépannage dans la dernière partie de cet article.
Une fois cette étape terminée, vous avez la possibilité de garder la maintenance active ou de désactiver le mode maintenance.
- Si vous disposez d'une installation NextCloud volumineuse (nombreux utilisateurs et fichiers), il est recommandé de sélectionner
Ouiet d'utiliser la ligne de commande pour mettre à jour NextCloud. - Si vous disposez d'une petite installation NextCloud, vous pouvez choisir
Nonet utiliser le programme de mise à jour Web.
Si vous choisissez Non, cliquez ensuite sur le bouton Retourner à votre instance Nextcloud pour terminer la mise à jour. Vous serez redirigé vers la page d'accueil de NextCloud et l'écran suivant vous sera présenté. Cliquez sur Démarrer la mise à jour.
Le temps de mise à jour varie en fonction de la taille de votre installation. Dans mon cas, cela s'est terminé en quelques secondes. Une fois la mise à jour terminée, accédez à la page Paramètres -> Vue d'ensemble et vous verrez que votre version Nextcloud est à jour.
Si vous choisissez Oui à l'étape précédente, vous devez alors accéder au répertoire d'installation de NextCloud et émettre une commande pour démarrer la mise à niveau. (En fonction de votre configuration, votre répertoire d'installation Nextcloud peut être différent. Par exemple, si vous configurez Nextcloud avec la pile LAMP, le répertoire peut être /var/www/nextcloud/. Si vous configurez Nextcloud avec la pile LEMP, le répertoire de données peut être /usr/share/nginx/nextcloud/).
cd /usr/share/nginx/nextcloud/
sudo -u www-data php7.4 occ upgradewww-data est le nom d'utilisateur du serveur Web, qui peut être différent sur votre système.
- Sur Debian/Ubuntu, c'est généralement
www-data, - Sur CentOS/RHEL, il s'agit généralement de
apachepour le serveur Web Apache et denginxpour le serveur Web Nginx. - Sur Arch Linux, il s'agit généralement de
http.
Une fois la mise à niveau terminée, désactivez le mode maintenance avec :
sudo -u www-data php7.4 occ maintenance:mode --offAccédez à la page Paramètres -> Vue d'ensemble et vous verrez que votre version Nextcloud est à jour.
Remarque : N'oubliez pas de réactiver les applications tierces après la mise à niveau.
Des conseils de dépannage
Fichiers supplémentaires
Lors de la mise à niveau de Nextcloud, vous pouvez voir cette erreur :
The following extra files have been found:
.well-knowVous pouvez sauvegarder ces fichiers « supplémentaires », les supprimer et réessayer la mise à jour. Une fois la mise à jour terminée, remettez ces fichiers.
504 portail expiré
Si le téléchargement a échoué en raison d'une erreur de délai d'expiration de la passerelle 504, vous devez alors redémarrer PHP-FPM.
sudo systemctl restart php7.4-fpmÉchec du téléchargement du fichier ZIP Nextcloud
Si vous rencontrez l'erreur suivante, cela est probablement dû au fait que votre serveur n'a pas réussi à télécharger le nouveau fichier ZIP Nextcloud.
Step 4 is currently in process. Please reload this page later.Vous devez vous connecter en SSH à votre serveur Nextcloud et passer à l'utilisateur root.
sudo su -Accédez à votre répertoire de données Nextcloud. (En fonction de votre configuration, votre répertoire de données peut être différent. Par exemple, si vous configurez Nextcloud avec la pile LAMP, le répertoire de données peut être /var/www/nextcloud-data/. Si vous définissez sur Nextcloud avec la pile LEMP, le répertoire de données peut être /usr/share/nginx/nextcloud-data/).
cd /usr/share/nginx/nextcloud-data/Dans ce répertoire, il y a un sous-répertoire qui commence par updater. Vous pouvez exécuter la commande ls pour lister les fichiers et sous-répertoires.
lsLe mien s'appelle updater-ocao79wqklov, je passe donc dans ce sous-répertoire.
cd updater-ocao79wqklovListez ensuite tous les fichiers et sous-répertoires, y compris ceux masqués.
ls -aVous trouverez un fichier .step et un sous-répertoire downloads. Le fichier .step assure le suivi de l'état de la mise à niveau. Nous devons supprimer ce fichier.
rm .stepAllez ensuite dans le sous-répertoire downloads.
cd downloads/Supprimez le fichier ZIP téléchargé.
rm nextcloud-*.zipEnsuite, nous téléchargeons manuellement le fichier ZIP Nextcloud avec la commande suivante. Évidemment, vous devez remplacer 20.0.8 par la version Nextcloud vers laquelle vous souhaitez effectuer la mise à niveau.
wget https://download.nextcloud.com/server/releases/nextcloud-20.0.8.zipUne fois le téléchargement terminé, revenez à l'application de mise à jour Web et cliquez sur le bouton démarrer la mise à jour.
Réparez votre installation Nextcloud
Si vous ne parvenez pas à corriger une erreur à l'aide des conseils ci-dessus, vous pouvez utiliser la commande de réparation Nextcloud. Accédez à votre répertoire d'installation Nextcloud et exécutez la commande suivante.
sudo -u www-data php7.4 occ maintenance:repairImpossible de mettre à niveau vers la prochaine version majeure ?
L'inclusion d'une version stable majeure peut prendre un certain temps dans le canal de mise à jour stable, car certaines applications peuvent ne pas disposer de mises à jour pour la prochaine version stable majeure.
Par exemple, Nextcloud 21 est désormais la dernière version stable, mais l'application de mise à jour basée sur le Web ne vous permet pas de passer à Nextcloud 21. Dans ce cas, vous devez changer le canal de mise à jour de stable en bêta.
Vous pouvez ensuite passer à Nextcloud 21, en sachant que certaines applications ne seront pas utilisables.
Une fois la mise à niveau terminée, je recommande de revenir au canal de mise à jour stable.
Exécuter Nextcloud 21 avec PHP8
Nextcloud prend entièrement en charge PHP8 à partir de la version 21. Tout d'abord, installez PHP8 sur votre serveur Ubuntu avec :
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php-imagick libapache2-mod-php8.0 php8.0-common php8.0-mysql php8.0-fpm php8.0-gd php8.0-curl php8.0-zip php8.0-xml php8.0-mbstring php8.0-bz2 php8.0-intl php8.0-bcmath php8.0-gmpLisez ensuite le didacticiel suivant pour modifier votre hôte virtuel Apache/Nginx afin d'utiliser PHP8.0.
- Comment installer plusieurs versions de PHP sur Ubuntu 20.04, 18.04, 20.10
Pour vérifier si votre Nextcloud utilise PHP 8, accédez à la page Nextcloud Paramètres -> Système.
Après la mise à niveau vers PHP 8, votre instance Nextcloud peut se plaindre
The PHP memory limit is below the recommended value of 512MB.Exécutez la commande suivante pour modifier la limite de mémoire dans PHP8.
sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.0/fpm/php.iniRechargez ensuite le service PHP-FPM pour que les modifications prennent effet.
sudo systemctl reload php8.0-fpmEmballer
J'espère que ce tutoriel vous a aidé à mettre à niveau Nextcloud. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de trucs et astuces. Prenez soin de vous 🙂








