Migrer Nextcloud en V18 et utiliser ONLYOFFICE.

La version 18 apporte de nombreuses modifications. Déjà un changement de nom pour un changement de cap. Nextcloud s’appelle maintenant Nextcloud Hub. Dans ce tutoriel nous allons voir comment migrer NextCloud en V18 et activer l’édition de documents avec ONLYOFFICE.

Qu’est-ce que Nextcloud ?

Nextcloud est un logiciel libre, d’hébergement de fichiers, c’est un fork du logiciel ownCloud. Il est une bifurcation du logiciel ownCloud, commencé à partir de 2016 sur la base d’une différence de vue sur la stratégie à adopter pour son développement. Nextcloud offre l’intégralité du logiciel et de son code source gratuitement, l’offre entreprise concernant principalement du support technique.

Nextcloud 18 (de son petit nom Nextcloud Hub) apporte de très nombreuses améliorations visibles, notamment en termes de collaboration. Ainsi, face à Gsuite et Office 365, le cloud avait besoin d’une suite de productivité plus facile à intégrer notamment que son principal concurrent Pydio. C’est désormais le cas avec OnlyOffice Community Edition, directement intégrée par défaut lors d’une nouvelle installation de Nextcloud.

Plus besoin de conteneur Docker ou de serveur web dédié. L’édition de documents de productivité se fait de manière pleinement intégrée à l’environnement de travail grâce à l’application OnlyOffice pour Nextcloud.

Les principales nouveautés :

  • Files (fichiers) : barre latérale améliorée, transfert de propriété
  • Workspaces (espaces de travail collaboratif)
  • File locking (verrouillage de fichier)
  • Flow (flux) : automatisation de tâches comme la conversion PDF
  • ONLYOFFICE : la suite bureautique ne nécessite plus un serveur séparé, mais peut être installée comme une application classique de Nextcloud
  • Photos : une nouvelle galerie de photos qui facilite la recherche, la navigation et le partage d’images
  • Calendar 2.0 (agenda) : réunions Talk, visualisation des plages occupées
  • Mail 1.0 : reconnaissance des itinéraires, texte riche (mais toujours pas de mode conversation, au grand désespoir des utilisateurs)
  • Talk : interface utilisateur revue avec support des cercles, intégration à Flow et notification de livraison de messages.

Sauvegarde de son instance Nextcloud.

Avant d’envisager une montée en version 18 de Nextcloud, je vous conseille de faire une sauvegarde des données de son instance Nextcloud. Si vous utiliser une VM un snapshot sera suffisant.

Sinon pour les autres je vous conseille l’utilitaire Rclone, qui permet de sauvegarder des données sur un cloud comme Drive, Dropbox, Pcloud, …..

Pour sauvegarder une installation Nextcloud, il faut faire attention à quatre éléments principaux :

  • Le dossier nextcloud/config
  • Le dossier nextcloud/data
  • Le dossier nextcloud/theme
  • La base de données (MySQL/MariaDB, SQLite,PostgreSQL)

Les fichiers et dossiers Nextcloud sont situés dans le système de fichiers lui-même, en utilisant des structures de répertoires conventionnelles. La base de données stocke des informations supplémentaires sur les fichiers, c’est-à-dire le nombre de fichiers, les autorisations, les horodatages, etc.

Avant de créer une copie du dossier nextcloud et de son contenu, assurez-vous d’activer le mode de maintenance du Nextcloud pour verrouiller les sessions des utilisateurs connectés et éviter les nouvelles connexions afin d’éviter les incohérences dans vos données.

Ensuite, utilisez votre programme de sauvegarde préféré (ou copiez simplement les dossiers avec rsync ou rclone, solution que nous utiliserons pour ce tutoriel) à un endroit situé en dehors de l’environnement Nextcloud, c’est-à-dire sur un disque dur externe ou un périphérique NAS ou un cloud.

Attention !!! Dans ce cas les données des utilisateurs et de configuration technique de Nextcloud sont dans le même répertoire.

Activer le mode de maintenance

Avant de commencer votre sauvegarde, vous devez mettre Nextcloud en mode de maintenance.

# sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on

Activer le mode de maintenance de Nextcloud

Si vous essayé de vous connectez à Nextcloud, vous aurez ce message :

Activer le mode de maintenance de Nextcloud

Le mode maintenance, évite les incohérences dans vos données, ferme les sessions actives et empêche les nouvelles connexions.

Sauvegarder les données de Nextcloud

Dans cette étape, nous sauvegardons la chose la plus importante, votre répertoire de données Nextcloud ainsi que les paramètres de configuration de Nextcloud.

Nous allons archiver au format tar.gz les informations de notre Nextcloud grâce à la commande ci-dessous, puis nous allons copier l’archive sur notre compte Pcloud avec Rclone pour la mettre en sécurité.

# tar cvzf /temp/nextcloud-data`date +"%Y%m%d"`.tar.gz /var/www/html/nextcloud/

Sauvegarder les données de Nextcloud.

Sauvegarde de la base de données Nextcloud

Dans cette étape, vous créez une sauvegarde de la base de données Nextcloud.

Vous pouvez trouver le nom de votre base de données avec la commande suivante :

# mysql -u root -p -e "show databases"

Sauvegarde de la base de données Nextcloud

Comme vous pouvez le voir, la base de données dans notre cas est appelée nextclouddb.

Avec l’utilitaire mysqldump, vous pouvez faire une sauvegarde de votre base de données.

Cette commande crée un fichier de vidage de votre base de données nommé nextclouddb.sql et le place dans votre répertoire temp. Si quelque chose se passe mal pendant la mise à niveau, vous pouvez l’utiliser pour restaurer votre base de données Nextcloud.

# mysqldump -u root -p nextclouddb > /temp/nextclouddb.sql

Maintenant que nous avons nos fichiers de sauvegarde, nous pouvons les sauvegarder sur un autre serveur ou sur un compte cloud pour les isoler du reste du serveur que nous allons mettre à jour. C’est ici que Rclone intervient.

# rclone copy /temp/nextclouddb.sql Pcloud:"pCloud Sync/VPS DYJIX XFILES/Backup_Nextcloud" -P --log-level INFO --log-file pcloud.log
# rclone copy /temp/nextcloud-data20200323.tar.gz Pcloud:"pCloud Sync/VPS DYJIX XFILES/Backup_Nextcloud" -P --log-level INFO --log-file pcloud.log

Sauvegarde de la base de données Nextcloud avec Rclone

Voilà maintenant nos fichiers en sécurité. N’oublier pas de lever la maintenance.

# sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode –off
Info !!! Au lieu de réaliser cette sauvegarde manuellement, un script peut être mis en place pour automatiser la sauvegarde avec CRON. Cela fera l’objet d’un autre tutoriel.

Mettre à jour NextCloud en V18

Avant toute chose, voici les prérequis pour pouvoir installer NextCloud 18, appelé Nextcloud HUB :

Prérequis pour mettre à jour Nextcloud en V18

Attention !!! Si les conditions minimales ne sont pas réunies alors la mise à jour ne sera pas proposée depuis l’interface de Nextcloud.

Mettre à jour Nextcloud en V18

Pour déclencher la mise à jour depuis l’interface graphique de Nextcloud, il faut aller dans Paramètres -> Vue d’ensemble -> Ouvrir le système de mise à jour.

Mettre à jour NextCloud en V18

Mettre à jour NextCloud en V18

Cliquer sur No (for usage ot the web based updater). Puis vous revenez sur l’interface web pour débuter la mise à jour.

Mettre à jour NextCloud en V18

Cliquer sur Démarrer la mise à jour et patienter.

Mettre à jour NextCloud en V18

Bravo, votre instance Nextcloud est maintenant en V18.03.

Vérifier les avertissements de sécurité et de configuration.

J’ai pris pour habitude de vérifier de temps à autre les avertissements de configuration afin de m’assurer que Nextcloud fonctionne correctement. Il suffit d’aller dans Paramètres -> Vue d’ensemble -> Avertissements de sécurité & configuration.

Traiter les avertissements de sécurité et de configuration de Nextcloud

Lisez attentivement les recommandations et appliquer les un maximum. Par exemple depuis la mise à jour j’ai des problèmes avec la base MySQL sur des index et sur des colonnes qui ne sont pas dans le bon type.

Ce qui est bien c’est que les commandes à utiliser vous sont données.

Ajouter des index dans des tables pour améliorer les performances de la base.

# sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-indices

Ajouter des index dans des tables Nextcloud pour améliorer les performances de la base.

Convertir les colonnes de la base de données en big int.

# sudo -u www-data php /var/www/html/nextcloud/occ db:convert-filecache-bigint

Convertir les colonnes de la base de données Nextcloud en big int.

Activer le support 4 octets dans MySQL

Attention !!! Veillez à sauvegarder votre base de données Nextcloud avant d’effectuer cette mise à niveau.

Pour pouvoir utiliser les Emojis (smileys en mode texte) sur votre serveur Nextcloud avec une base de données MySQL, l’installation doit être légèrement modifiée.

Assurez-vous que votre base de données est configurée pour utiliser le format de fichier Barracuda InnoDB :

Connectez-vous à votre base de données MySQL et utiliser la commande ci-dessous :

# show variables like 'innodb_file_format';

Activer le support 4 octets dans MySQL pour Nextcloud

Si votre innodb_file_format est défini comme « Antelope », vous devez mettre à jour votre format de fichier en utilisant la commande ci-dessous, puis redémarrer le service MySQL:

# SET GLOBAL innodb_file_format=Barracuda;
# service mysql restart

Assurez-vous que les paramètres InnoDB, de votre serveur MySQL >=8.0, innodb_file_per_table soit sur ON :

# show variables like 'innodb_file_per_table';

Activer le support 4 octets dans MySQL pour Nextcloud

Modifiez le jeu de caractères et la collation de vos bases de données :

# ALTER DATABASE nextclouddb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Attention !!! Il faut changer le nom par votre base de données. Pour connaitre le nom de votre base de données vous pouvez utiliser la commande show databases ;

Modifiez le jeu de caractères et la collation de vos bases de données Nextcloud

Réglez la configuration du paramètre mysql.utf8mb4 sur true dans votre config.php

# sudo -u www-data php /var/www/html/nextcloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"

Réglez la configuration du paramètre mysql.utf8mb4 sur true dans votre config.php de votre instance Nextcloud

Convertissez tous les tableaux existants à la nouvelle collation en exécutant l’étape de réparation :

# sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair

Si vous avez cette erreur, lorsque la commande ci-dessus s’exécute :

Corriger l'erreur de convertion de tous les tableaux existants à la nouvelle collation en exécutant l'étape de réparation de votre instance Nextcloud

Il suffit de modifier le fichier /etc/my.cnf en rajoutant ces lignes, puis redémarrer le service MySQL :

innodb_large_prefix=1
innodb_large_prefix=true
innodb_file_per_table=true
innodb_file_format=barracuda

Activer le serveur de documents OnlyOffice dans Nextcloud 18

Voici la nouveauté que j’attendais avec impatience. Après avoir galéré avec Pydio pour installer une suite collaborative, j’ai trouvé cette nouveauté très réjouissante.

Vous serez surpris de voir à quel point la solution est simple à mettre en place. Voici les étapes à suivre pour vous assurer que vous avez ajouté OnlyOffice à votre serveur Nextcloud :

  • Connectez-vous au Nextcloud 18 en tant qu’utilisateur admin.
  • Cliquez sur l’icône de votre profil dans le coin supérieur droit.
  • Cliquez sur Applications.
  • Dans la fenêtre Applications, recherchez Community Document Server.Activer le serveur de documents OnlyOffice dans Nextcloud 18
  • Lorsque l’entrée apparaît, cliquez sur Télécharger et Activer.
  • Autorisez le téléchargement et l’activation pour terminer.
  • Il faut quand même et toujours activer le connecteur ONLYOFFICE. Sinon vous ne pourrait pas ouvrir vos documents.

Activer le serveur de documents OnlyOffice dans Nextcloud 18

Une fois cette opération terminée, déconnectez-vous et reconnectez-vous à Nextcloud. Si vous allez dans la section Fichiers et que vous cliquez sur le bouton +, vous devriez voir apparaître la liste des documents, tableurs et présentations.

Activer le serveur de documents OnlyOffice dans Nextcloud 18

Attention !!! La version communautaire est limitée à 20 utilisateurs simultanés.

Félicitations, OnlyOffice est maintenant intégré à Nextcloud 18. Vous disposez d’une suite bureautique complète qui s’ajoute à votre solution de cloud computing sur site.

Cette version de Nextcloud regorge d’autres nouveautés que je vous laisse découvrir. Je trouve que Nextcloud se démarque de plus en plus de son concurrent Pydio.

Si vous voulez un tutoriel pour installer Nextcloud, vous pouvez consulter cet article : Créer votre espace cloud personnel avec Nextcloud et pour un paramétrage efficace : Configurer et Sécuriser Nextcloud.

That’s All.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *