Tutorial

Comment installer et configurer Nextcloud sur Ubuntu 20.04

UbuntuApplicationsStorageUbuntu 20.04

Introduction

Nextcloud, une branche de ownCloud, est un serveur de partage de fichiers qui vous permet de stocker vos contenus personnels, comme des documents et des photos, dans un endroit centralisé, un peu comme Dropbox. La différence avec Nextcloud est que toutes ses fonctionnalités sont open-source. Il vous rend également le contrôle et la sécurité de vos données sensibles, éliminant ainsi l'utilisation d'un service tiers d'hébergement sur le cloud.

Dans ce tutoriel, nous allons installer et configurer une instance de Nextcloud sur un serveur Ubuntu 20.04.

Conditions préalables

Pour réaliser les étapes de ce guide, vous aurez besoin des éléments suivants :

  • Un utilisateur non root sudo activé et un pare-feu configuré sur votre serveur : vous pouvez créer un utilisateur avec des privilèges sudo et configurer un pare-feu de base en suivant la configuration initiale du serveur avec Ubuntu 20.04.
  • (Facultatif) Un nom de domaine qui pointe vers votre serveur : nous sécuriserons les connexions à l'installation Nextcloud avec TLS/SSL. Nextcloud peut mettre en place et gérer un certificat SSL gratuit et fiable de Let’s Encrypt si votre serveur a un nom de domaine. Sinon, Nextcloud peut mettre en place un certificat SSL auto-signé qui peut crypter les connexions, mais qui ne sera pas fiable par défaut dans les navigateurs web. Si vous utilisez DigitalOcean, vous pouvez lire notre documentation DNS pour savoir comment ajouter des domaines à votre compte et gérer les enregistrements DNS, si vous avez l'intention d'utiliser Let’s Encrypt.

Une fois que vous avez terminé les étapes ci-dessus, continuez à apprendre comment configurer Nextcloud sur votre serveur.

Étape 1 – Installation de Nextcloud

Nous allons installer Nextcloud en utilisant le système de packaging Snap. Ce système de packaging, disponible sur Ubuntu 20.04 par défaut, permet aux organisations d'expédier les logiciels, ainsi que toutes les dépendances et la configuration associées, dans une unité autonome avec des mises à jour automatiques. Cela signifie qu'au lieu d'installer et de configurer un serveur web et de base de données, puis de configurer l'application Nextcloud pour qu'elle fonctionne dessus, nous pouvons installer le package snap qui gère automatiquement les systèmes sous-jacents.

Pour télécharger le package Nextcloud snap et l'installer sur le système, tapez :

  • sudo snap install nextcloud

Le package Nextcloud sera téléchargé et installé sur votre serveur. Vous pouvez confirmer que le processus d'installation a réussi en énumérant les changements associés avec le snap :

  • snap changes nextcloud
Output
ID Status Spawn Ready Summary 4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap

L'état et le résumé indiquent que l'installation a été réalisée sans problème.

Obtenir des informations supplémentaires sur le Nextcloud Snap

Si vous souhaitez obtenir plus d'informations sur Nextcloud snap, il existe quelques commandes qui peuvent vous être utiles.

La commande snap info peut vous montrer la description, les commandes de gestion de Nextcloud disponibles, ainsi que la version installée et le canal snap suivi :

  • snap info nextcloud

Les snaps peuvent définir les connexions qu'ils prennent en charge, qui consistent en une fente et une fiche qui, lorsqu'elles sont accrochées ensemble, donnent au snap un accès à certaines capacités ou niveaux d'accès. Par exemple, les snaps qui doivent agir comme un client réseau doivent avoir la connexion réseau. Pour voir quels sont les connexions snap que ce snap définit, tapez :

  • snap connections nextcloud
Output
Interface Plug Slot Notes network nextcloud:network :network - network-bind nextcloud:network-bind :network-bind - removable-media nextcloud:removable-media - -

Pour en savoir plus sur tous les services et applications spécifiques que fournit ce snap, vous pouvez consulter le fichier de définition de snap en tapant :

  • cat /snap/nextcloud/current/meta/snap.yaml

Cela vous permettra de voir les différents composants inclus dans le snap, si vous avez besoin d'aide pour le débogage.

Étape 2 – Configuration d'un compte administratif

Il existe plusieurs façons de configurer le snap du Nextcloud. Dans ce guide, plutôt que de créer un utilisateur administratif via l'interface web, nous allons en créer un sur la ligne de commande afin d'éviter une petite fenêtre où la page d'enregistrement de l'administrateur serait accessible à toute personne visitant l'adresse IP ou le nom de domaine de votre serveur.

Pour configurer Nextcloud avec un nouveau compte d'administrateur, utilisez la commande nextcloud.manual-install. Vous devez introduire un nom d'utilisateur et un mot de passe comme arguments :

  • sudo nextcloud.manual-install sammy password

Le message suivant indique que Nextcloud a été configuré correctement :

Output
Nextcloud was successfully installed

Maintenant que Nextcloud est installé, nous devons ajuster les domaines de confiance afin que Nextcloud réponde aux demandes en utilisant le nom de domaine ou l'adresse IP du serveur.

Étape 3 – Réglage des domaines de confiance

Lors de l'installation en ligne de commande, Nextcloud limite les noms d'hôtes auxquels l'instance répondra. Par défaut, le service ne répond qu'aux demandes adressées au nom d'hôte “localhost”. Nous accéderons à Nextcloud par le nom de domaine ou l'adresse IP du serveur, nous devrons donc ajuster ce paramètre pour accepter ce type de demandes.

Vous pouvez consulter les paramètres actuels en interrogeant la valeur du tableau trusted_domains :

  • sudo nextcloud.occ config:system:get trusted_domains
Output
localhost

Actuellement, seul localhost est présent comme première valeur dans le tableau. Nous pouvons ajouter une entrée pour le nom de domaine ou l'adresse IP de notre serveur en tapant :

  • sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com

Si nous interrogeons à nouveau les domaines de confiance, nous constaterons que nous avons maintenant deux entrées :

  • sudo nextcloud.occ config:system:get trusted_domains
Output
localhost example.com

Si vous devez ajouter une autre façon d'accéder à l'instance Nextcloud, vous pouvez ajouter des domaines ou des adresses supplémentaires en relançant la commande config:system:set avec un numéro d'index incrémenté (le “1” dans la première commande) et en ajustant la --value.

Étape 4 – Sécurisation de l'interface web Nextcloud avec SSL

Avant de commencer à utiliser Nextcloud, nous devons sécuriser l'interface web.

Si vous avez un nom de domaine associé à votre serveur Nextcloud, le snap Nextcloud peut vous aider à obtenir et à configurer un certificat SSL de confiance de Let’s Encrypt. Si votre serveur Nextcloud n'a pas de nom de domaine, Nextcloud peut configurer un certificat auto-signé qui cryptera votre trafic web mais ne sera pas automatiquement reconnu par votre navigateur web.

Dans cette optique, suivez la section ci-dessous qui correspond à votre scénario.

Option 1 : Configuration de SSL avec Let’s Encrypt

Si vous avez un nom de domaine associé à votre serveur Nextcloud, la meilleure option pour sécuriser votre interface web est d'obtenir un certificat SSL Let’s Encrypt.

Commencez par ouvrir les ports dans le pare-feu que Let’s Encrypt utilise pour valider la propriété du domaine. Cela rendra votre page de connexion à Nextcloud accessible au public, mais comme nous avons déjà configuré un compte administrateur, personne ne pourra détourner l'installation :

  • sudo ufw allow 80,443/tcp

Ensuite, demandez un certificat Let’s Encrypt en tapant :

  • sudo nextcloud.enable-https lets-encrypt

Il vous sera d'abord demandé si votre serveur remplit les conditions nécessaires pour demander un certificat au service Let’s Encrypt :

Output
In order for Let's Encrypt to verify that you actually own the domain(s) for which you're requesting a certificate, there are a number of requirements of which you need to be aware: 1. In order to register with the Let's Encrypt ACME server, you must agree to the currently-in-effect Subscriber Agreement located here: https://letsencrypt.org/repository/ By continuing to use this tool you agree to these terms. Please cancel now if otherwise. 2. You must have the domain name(s) for which you want certificates pointing at the external IP address of this machine. 3. Both ports 80 and 443 on the external IP address of this machine must point to this machine (e.g. port forwarding might need to be setup on your router). Have you met these requirements? (y/n)

Tapez y pour continuer.

Ensuite, il vous sera demandé de fournir une adresse électronique à utiliser pour les opérations de récupération :

Output
Please enter an email address (for urgent notices or key recovery):

Entrez votre adresse électronique et appuyez sur la touche Enter pour continuer.

Enfin, entrez le nom de domaine associé à votre serveur Nextcloud :

Output
Please enter your domain name(s) (space-separated): example.com

Votre certificat Let’s Encrypt sera demandé et, si tout s'est bien passé, l'instance interne d'Apache sera redémarrée pour mettre immédiatement en œuvre le SSL :

Output
Attempting to obtain certificates... done Restarting apache... done

Vous pouvez maintenant passer à l'étape suivante pour vous connecter à Nextcloud pour la première fois.

Option 2 : Mise en place du SSL avec un certificat auto-signé

Si votre serveur Nextcloud n'a pas de nom de domaine, vous pouvez quand même sécuriser l'interface web en générant un certificat SSL auto-signé. Ce certificat permettra d'accéder à l'interface web via une connexion cryptée, mais ne pourra pas vérifier l'identité de votre serveur, de sorte que votre navigateur affichera probablement un avertissement.

Pour générer un certificat auto-signé et configurer Nextcloud pour l'utiliser, tapez :

  • sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done Restarting apache... done

La sortie ci-dessus indique que Nextcloud a généré et activé un certificat auto-signé.

Maintenant que l'interface est sécurisée, ouvrez les ports web dans le pare-feu pour permettre l'accès à l'interface web :

  • sudo ufw allow 80,443/tcp

Vous êtes maintenant prêt à vous connecter à Nextcloud pour la première fois.

Étape 5 – Connexion à l'interface web Nextcloud

Maintenant que Nextcloud est configuré, visitez le nom de domaine ou l'adresse IP de votre serveur dans votre navigateur web :

https://example.com

Note : si vous configurez un certificat SSL auto-signé, votre navigateur peut afficher un avertissement indiquant que la connexion n'est pas sécurisée, car le certificat du serveur n'est pas signé par une autorité de certification reconnue. Ceci est prévu pour les certificats auto-signés, alors n'hésitez pas à cliquer sur l'avertissement pour vous rendre sur le site.

Comme vous avez déjà configuré un compte d'administrateur à partir de la ligne de commande, vous serez amené à la page de connexion de Nextcloud. Saisissez les identifiants que vous avez créés pour l'utilisateur administratif :

Page de connexion à Nextcloud

Cliquez sur le bouton Log in pour vous connecter à l'interface web Nextcloud.

La première fois que vous entrez, une fenêtre s'affiche avec un texte d'introduction et des liens vers différents clients Nextcloud qui peuvent être utilisés pour accéder à votre instance Nextcloud :

Mode client Nextcloud

Cliquez pour télécharger les clients qui vous intéressent, ou sortez de la fenêtre en cliquant sur la X dans le coin supérieur droit. Vous serez dirigé vers l'interface principale du Nextcloud, où vous pourrez commencer à télécharger et à gérer des fichiers :

Page principale de Nextcloud

Votre installation est maintenant terminée et sécurisée. N'hésitez pas à explorer l'interface pour vous familiariser avec les caractéristiques et les fonctionnalités de votre nouveau système.

Conclusion

Nextcloud peut reproduire les capacités des services tiers de stockage dans le cloud les plus populaires. Le contenu peut être partagé entre les utilisateurs ou à l'extérieur avec des URL publiques. L'avantage du Nextcloud est que les informations sont stockées en toute sécurité dans un endroit que vous contrôlez.

Pour des fonctionnalités supplémentaires, consultez l'app store de Nextcloud, où vous pouvez installer des plugins pour étendre les capacités du service.

0 Comments

Creative Commons License