Comment installer et configurer Nextcloud sur Ubuntu 16.04

introduction

Nextcloud, un fork de ownCloud, est un serveur de partage de fichiers qui vous permet de stocker votre contenu personnel, comme des documents et des images, dans un emplacement centralisé, à la manière de Dropbox. La différence avec Nextcloud est que toutes ses fonctionnalités sont open-source. Il vous renvoie également le contrôle et la sécurité de vos données sensibles, éliminant ainsi l’utilisation d’un service d’hébergement en nuage tiers.

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

Conditions préalables

Afin de compléter les étapes de ce guide, vous aurez besoin des éléments suivants:

  • * Un utilisateur sudo et un pare-feu configurés sur votre serveur *: Vous pouvez créer un utilisateur avec les privilèges + sudo + et configurer un pare-feu de base en suivant les étapes https://www.digitalocean.com/community/tutorials/initial-server- setup-with-ubuntu-16-04 [Guide de configuration initiale du serveur Ubuntu 16.04].

  • * (Facultatif) Un nom de domaine pointant sur votre serveur *: Nous allons sécuriser les connexions à l’installation Nextcloud avec TLS / SSL. Nextcloud peut configurer et gérer un certificat SSL gratuit et approuvé à partir de Let’s Encrypt si votre serveur a un nom de domaine. Sinon, Nextcloud peut configurer un certificat SSL auto-signé pouvant chiffrer les connexions, mais ne sera pas approuvé par défaut dans les navigateurs Web. Si vous utilisez DigitalOcean, vous pouvez suivre notre guide sur how pour configurer un domaine. nom de votre serveur si vous envisagez d’utiliser Let’s Encrypt.

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

Étape 1 - Installation de Nextcloud

Nous installerons Nextcloud en utilisant le système d’emballage snappy. Ce système d’empaquetage, disponible par défaut sur Ubuntu 16.04, permet aux organisations d’expédier le logiciel, ainsi que toutes les dépendances et la configuration associées, dans une unité autonome avec mises à jour automatiques. Cela signifie qu’au lieu d’installer et de configurer un serveur Web et une base de données, puis de configurer l’application Nextcloud pour qu’elle s’exécute sur celui-ci, 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 paquet Nextcloud sera téléchargé et installé sur votre serveur. Vous pouvez confirmer que le processus d’installation a réussi en répertoriant les modifications associées à + ​​snap +:

snap changes nextcloud
OutputID   Status  Spawn                 Ready                 Summary
2        2017-10-03T20:03:09Z  2017-10-03T20:03:26Z

Le statut et le résumé indiquent que l’installation s’est déroulée sans problème.

Obtenir des informations supplémentaires sur la capture Nextcloud

Si vous souhaitez plus d’informations sur Nextcloud + snap +, quelques commandes peuvent vous être utiles.

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

snap info nextcloud

Les instantanés peuvent définir les interfaces qu’ils prennent en charge, qui consistent en un connecteur et un connecteur qui, lorsqu’ils sont reliés, donnent l’accès instantané à certaines fonctionnalités ou niveaux d’accès. Par exemple, les captures qui doivent agir en tant que client réseau doivent avoir l’interface + réseau +. Pour voir quelles «interfaces» de capture cette définition définit, tapez:

snap interfaces nextcloud
OutputSlot           Plug
:network       nextcloud
:network-bind  nextcloud
-              nextcloud:removable-media

Pour en savoir plus sur tous les services et applications spécifiques fournis par cette capture, vous pouvez consulter le fichier de définition de capture en tapant:

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

Cela vous permettra de voir les composants individuels inclus dans la capture, si vous avez besoin d’aide pour le débogage.

Configurer un compte administratif

Il y a plusieurs façons de configurer la capture Nextcloud. Dans ce guide, plutôt que de créer un utilisateur administratif via l’interface Web, nous en créerons un sur la ligne de commande afin d’éviter une petite fenêtre dans laquelle la page d’enregistrement d’administrateur serait accessible à toute personne visitant l’adresse IP ou le nom de domaine de votre serveur.

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

sudo nextcloud.manual-install

Le message suivant indique que Nextcloud a été configuré correctement. Les premières lignes sont présentes car l’extension PCNTL n’est pas incluse dans le composant logiciel enfichable Nextcloud. Ceux-ci peuvent être ignorés en toute sécurité:

OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
Nextcloud is not installed - only a limited number of commands are available

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

Ajuster les domaines de confiance

Lors de l’installation à partir de la ligne de commande, Nextcloud restreint les noms d’hôte auxquels l’instance répondra. Par défaut, le service ne répond qu’aux demandes adressées à l’hôte «localhost». Nous accéderons à Nextcloud via le nom de domaine ou l’adresse IP du serveur. Nous devrons donc ajuster ce paramètre pour accepter ce type de demande.

Vous pouvez afficher les paramètres actuels en interrogeant la valeur du tableau + Trusted_domains +:

sudo nextcloud.occ config:system:get trusted_domains
OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Actuellement, seul + localhost + est présent en tant que première valeur du 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=
OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

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

sudo nextcloud.occ config:system:get trusted_domains
OutputThe process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php

Si vous avez besoin d’ajouter un autre moyen d’accéder à l’instance Nextcloud, vous pouvez ajouter des domaines ou des adresses supplémentaires en réexécutant la commande + config: system: set + avec un numéro d’index incrémenté (le «1» dans la première commande) et en ajustant la + - valeur +.

Sécurisation de l’interface Web Nextcloud avec SSL

Avant de commencer à utiliser Nextcloud, nous devons sécuriser l’interface Web.

Si vous associez un nom de domaine à votre serveur Nextcloud, le composant logiciel enfichable Nextcloud peut vous aider à obtenir et à configurer un certificat SSL approuvé à l’adresse Let’s Encrypt. Si votre serveur Nextcloud n’a pas de nom de domaine, Nextcloud peut configurer un certificat auto-signé qui crypte votre trafic Web mais ne peut pas vérifier l’identité de votre serveur.

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

Option 1: Configuration de SSL avec Let’s Encrypt

Si vous associez un nom de domaine à votre serveur Nextcloud, la meilleure option pour sécuriser votre interface Web consiste à obtenir un certificat SSL Let Encrypt.

Commencez par ouvrir les ports du pare-feu que Let’s Encrypt utilise pour valider la propriété du domaine. Cela rendra votre page de connexion Nextcloud publiquement accessible, mais comme nous avons déjà un compte administrateur configuré, 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

On vous demandera d’abord si votre serveur remplit les conditions nécessaires pour demander un certificat au service Let’s Encrypt:

OutputIn 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:

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

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

OutputPlease enter your domain name(s) (space-separated):

Votre certificat Let’s Encrypt sera demandé et, à condition que tout se soit bien passé, l’instance interne Apache sera redémarrée pour mettre immédiatement en œuvre SSL:

OutputAttempting to obtain certificates... done
Restarting apache... done

Vous pouvez maintenant passer au lien suivant: # se connecter à l’interface Web nextoud [connectez-vous à Nextcloud pour la première fois].

Option 2: Configuration de SSL avec un certificat auto-signé

Si votre serveur Nextcloud n’a pas de nom de domaine, vous pouvez toujours sécuriser l’interface Web en générant un certificat SSL auto-signé. Ce certificat permettra l’accès à l’interface Web via une connexion cryptée, mais ne pourra pas vérifier l’identité de votre serveur. Votre navigateur affichera donc probablement un avertissement.

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

sudo nextcloud.enable-https self-signed
OutputGenerating 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 du pare-feu pour autoriser 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.

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://

Comme vous avez déjà configuré un compte administrateur à partir de la ligne de commande, vous serez dirigé vers la page de connexion Nextcloud. Entrez les informations d’identification que vous avez créées pour l’utilisateur administratif:

image: https: //assets.digitalocean.com/articles/nextcloud_1604/login_page.png [page de connexion Nextcloud]

Cliquez sur le bouton * Connexion * pour vous connecter à l’interface Web Nextcloud.

La première fois que vous entrez, une fenêtre contenant des liens vers divers clients Nextcloud peut être utilisée pour interagir avec et gérer votre instance Nextcloud:

image: https: //assets.digitalocean.com/articles/nextcloud_1604/modal.png [Modal client Nextcloud]

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

image: https: //assets.digitalocean.com/articles/nextcloud_1604/main_page.png [Page principale Nextcloud]

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

Conclusion

Nextcloud peut répliquer les capacités des services de stockage en nuage tiers les plus répandus. Le contenu peut être partagé entre les utilisateurs ou en externe avec des URL publiques. L’avantage de Nextcloud est que les informations sont stockées en toute sécurité dans un endroit que vous contrôlez.

Explorez l’interface et, pour des fonctionnalités supplémentaires, installez des plugins à l’aide de AppNextCloud.