Comment créer votre propre synchronisation de fichiers cloud avec Nextcloud

Des services comme Dropbox vous permettent d’accéder facilement à vos fichiers sur plusieurs appareils. Cependant, vous voudrez peut-être plus de contrôle sur eux. En moins de 30 minutes, vous pouvez avoir votre propre service de synchronisation cloud opérationnel sur un serveur que vous contrôlez via Nextcloud.

Qu’est-ce que Nextcloud?

Nextcloud est un logiciel open source qui vous permet de synchroniser des fichiers entre votre PC et d’autres appareils, comme vous le feriez avec Dropbox, Onedrive ou Google Drive. De plus, Nextcloud dispose d’un écosystème d’applications dynamique qui vous permet de faire plus que simplement synchroniser des fichiers. Vous pouvez utiliser Nextcloud pour la gestion du calendrier et des contacts ou pour exécuter un client de messagerie IMAP basé sur le Web. Vous pouvez même configurer un programme de chat en direct exclusivement pour vous et toute autre personne pouvant accéder à votre serveur.

Avant d’entrer dans les détails, cependant, il y a un avertissement. Une fois que vous commencez à utiliser Nextcloud, c’est à vous de maintenir le serveur. Cela signifie qu’en plus de gérer le logiciel Nextcloud, vous devez vous assurer que le système d’exploitation du serveur sous-jacent reste à jour avec les correctifs. Les serveurs Nextcloud sont généralement sans problème, mais si quelque chose ne va pas, c’est à vous de le réparer.

La bonne nouvelle est qu’il y a des tas de blogs, forums, et pages d’aide pour vous aider dans le dépannage. Si vous rencontrez un problème, il est probablement arrivé à quelqu’un d’autre et il existe une solution.

Ce dont vous aurez besoin

L'interface Nextcloud.L’interface Web Nextcloud par défaut.

Vous aurez besoin des trois éléments suivants pour démarrer avec Nextcloud:

Un serveur virtuel exécutant Ubuntu 18.04
Le shell Bash sur le bureau de votre ordinateur.
Un nom de domaine.

Pour nos exemples, nous allons créer plusieurs noms d’utilisateur et mots de passe, dont les suivants:

Le nom d’utilisateur et le mot de passe root de votre serveur.
Un nom d’utilisateur et un mot de passe de serveur standard avec des privilèges administratifs.
Un nom d’utilisateur et un mot de passe Nextcloud.

Pour les besoins de ce didacticiel, nous utilisons un serveur virtuel exécutant Ubuntu 18.04 à partir de DigitalOcean. Vous pouvez toutefois utiliser n’importe quel fournisseur de votre choix, y compris Linode ou AWS. Quel que soit le service que vous choisissez, la clé est d’exécuter Ubuntu 18.04 (la version actuelle du support à long terme à ce jour) pour éviter tout problème potentiel.

Chaque fournisseur de serveur virtuel est un peu différent, mais ils visent tous à rendre un serveur opérationnel en quelques clics de souris. Pour commencer, nous vous conseillons d’utiliser un serveur de base à titre d’essai jusqu’à ce que vous vous habituiez à Nextcloud. Océan numérique Droplet à 5 $ offre 1 Go de RAM, 1 cœur de processeur, 1 To de transfert de données et 25 Go de stockage. Linode propose un VPS similaire pour le même prix.

À moins que vous ne soyez à l’aise avec les clés SSH, demandez à votre fournisseur les informations de connexion root basées sur un mot de passe pour commencer. Une fois que votre serveur est en cours d’exécution et que vous êtes à l’aise avec la ligne de commande, vous pouvez consulter les pages d’aide de votre fournisseur pour savoir comment ajouter des clés SSH pour une connexion plus sécurisée.

  Comment sélectionner une résolution d'affichage exacte sur votre Mac

Si votre ordinateur exécute Windows 10, vous devrez installer le sous-système Windows pour Linux et obtenir un shell Bash avec des utilitaires Linux pour continuer. Si vous utilisez Linux ou macOS, le programme Terminal est tout ce dont vous avez besoin. La plupart des terminaux Bash sont livrés avec SSH installé, mais sinon, tapez simplement sudo apt-get install ssh dans la fenêtre du terminal pour l’installer.

Lorsque vous achetez un nom de domaine, il n’est pas nécessaire qu’il s’agisse d’une adresse .COM. Seuls vous et vos amis proches et votre famille l’utiliserez. Par exemple, nous avons trouvé un nom de domaine .XYZ pour seulement 1 $ par an qui fonctionnera très bien.

Préparer votre serveur

Un homme debout dans un centre de données.

Pour préparer votre serveur à l’action, vous devez configurer un compte d’utilisateur régulier avec des privilèges administratifs. C’est une idée terrible de se connecter en tant qu’utilisateur root tout-puissant après la configuration initiale.

À présent, vous devriez avoir une adresse IP et un mot de passe root de votre fournisseur de serveur. L’adresse IP est la façon dont vous vous connectez au serveur et le mot de passe vous permet d’entrer.

Pour commencer, tapez ce qui suit (remplacez les X par l’adresse IP de votre serveur), puis appuyez sur Entrée:

ssh [email protected]

Notre adresse IP est 165.22.81.172, nous l’avons donc tapée dans notre commande. Si tout se passe comme prévu, le serveur distant (sur lequel vous placerez Nextcloud) vous demandera un mot de passe. Tapez le mot de passe que votre fournisseur de serveur vous a donné.

Il vous sera ensuite demandé de définir un nouveau mot de passe pour root. Choisissez ce que vous aimez, ne l’égarez pas ou ne l’oubliez pas!

Vous êtes maintenant à l’intérieur de votre serveur distant et il est temps de se mettre au travail. Appuyez sur Entrée après chaque commande de cet article pour l’exécuter.

Tout d’abord, nous tapons ce qui suit pour ajouter un nouvel utilisateur au serveur:

adduser ian

Remplacez «ian» par le nom d’utilisateur que vous souhaitez utiliser. Une fois que vous avez exécuté cette commande, vous êtes invité à donner un mot de passe au nouvel utilisateur. Après cela, le reste des informations demandées par le serveur est facultatif; si vous ne souhaitez pas le fournir, continuez à appuyer sur Entrée.

Ensuite, nous tapons ce qui suit pour donner à notre nouvel utilisateur les privilèges administratifs:

usermod -aG sudo ian

Encore une fois, remplacez «ian» par le nom d’utilisateur que vous avez choisi précédemment.

Maintenant, nous ouvrons une deuxième fenêtre de terminal et saisissons ce qui suit pour nous assurer que les nouveaux comptes d’utilisateurs fonctionnent:

ssh [email protected]

Encore une fois, remplacez ce qui précède par votre nom d’utilisateur et l’adresse IP de votre serveur. Tapez le mot de passe que vous avez créé pour ce compte utilisateur lorsque vous y êtes invité. Si cela fonctionne, retournez à la fenêtre du terminal dans laquelle vous êtes connecté en tant que root.

  Comment savoir si une vidéo YouTube a un sous-titrage codé à partir de sa miniature

Maintenant, nous tapons ce qui suit pour nous assurer que le pare-feu Ubuntu fonctionne correctement:

ufw autorise OpenSSH
ufw activer
statut ufw

Cette dernière commande d’état devrait renvoyer quelque chose comme l’image ci-dessous, confirmant que le pare-feu ne bloquera pas SSH.

La sortie du

Vous ne verrez pas encore la partie «80, 443 / tcp», mais nous y reviendrons plus tard. Maintenant, fermons la fenêtre racine et retournons à la deuxième fenêtre de terminal avec l’utilisateur régulier.

Installer Nextcloud

Il fut un temps où vous deviez configurer et installer le logiciel Nextcloud, PHP, le logiciel de serveur Web et la base de données séparément.

Il est beaucoup plus facile d’utiliser le package Snap officiel, qui s’occupe de tout avec une seule commande. Il n’y a pas de problème avec la base de données ou de s’inquiéter si Apache ou Nginx dessert votre site.

Si vous voulez voir exactement ce que le package Snap installe (spoiler: c’est le reste de la pile LAMP, plus Redis), consultez le Dépôt Snap Nextcloud sur GitHub.

Nous tapons ce qui suit:

sudo snap installer nextcloud

Le «sudo» au début élève le compte d’utilisateur normal afin qu’il dispose de droits administratifs temporaires. Vous serez invité à saisir votre mot de passe pour effectuer cette opération. Si tout se passe bien, dans une minute ou deux, Nextcloud sera installé et (presque) prêt à l’action.

Ensuite, nous tapons ce qui suit pour créer un nouveau compte d’utilisateur Nextcloud qui peut se connecter à notre site:

sudo nextcloud.manual-install ianpaul correctHorseBatteryStaple

Au lieu de «ianpaul», saisissez le nom d’utilisateur que vous souhaitez utiliser pour vous connecter à Nextcloud. Le bit «correctHorseBatteryStaple» est notre mot de passe. Ne l’utilisez pas, il provient d’un site très connu Bande dessinée XKCD et n’est qu’un exemple.

Gérer les domaines

Pour vous faciliter la vie, nous ne voulons pas utiliser une adresse IP tout le temps pour accéder à notre serveur. Au lieu de cela, nous utiliserons un nom de domaine, que, encore une fois, vous pouvez obtenir pour aussi peu que 1 $ par an. Pour notre exemple, nous utilisons HowToGeekTest.xyz.

Une fois que vous avez un domaine, vous voudrez gérer les paramètres DNS de votre registraire de domaine (où vous avez acheté le domaine) et les diriger vers votre fournisseur de serveur. Si vous choisissez DigitalOcean, par exemple, ces paramètres seraient ns1.digitalocean.com, ns2.digitalocean.com et ns3.digitalocean.com.

Ensuite, accédez à votre fournisseur de serveur (par exemple, DigitalOcean, Linode ou ce que vous avez choisi) et ajoutez le nouveau domaine à votre compte. Vous devrez ajouter un enregistrement A qui pointe vers votre adresse IP, un enregistrement CNAME si vous ne voulez pas utiliser «www» tout le temps, et des enregistrements NS s’ils n’ont pas été ajoutés automatiquement.

L’image ci-dessous montre un exemple de DigitalOcean.

Une grille d'enregistrements DNS de DigitalOcean.

Techniquement, cela peut prendre jusqu’à 24 heures avant que votre domaine ne soit disponible, mais il commence généralement à fonctionner en quelques minutes.

Retour à Nextcloud

Une fois le domaine configuré, nous pouvons revenir à la fin de Nextcloud dans le terminal. Si vous vous êtes déconnecté du serveur avec votre compte utilisateur habituel ([email protected] dans notre exemple), reconnectez-vous.

  Comment forcer une application à utiliser le GPU dédié sous Windows

Maintenant, nous tapons ce qui suit pour ajouter notre nouveau domaine à Nextcloud:

sudo nextcloud.occ config: système: définir les domaines de confiance 1 –valeur = howtogeektest.xyz

Après «–value =», saisissez votre domaine plutôt que le nôtre (howtogeektest.xyz).

Ensuite, nous tapons ce qui suit pour nous assurer que notre nouveau domaine a été ajouté correctement:

sudo nextcloud.occ config: système: obtenir des domaines de confiance

Le terminal doit imprimer quelque chose comme l’image ci-dessous.

le

Ensuite, nous tapons ce qui suit pour nous assurer que nous pouvons utiliser les ports que nous voulons en les laissant traverser le pare-feu:

sudo ufw autorise 80,443 / tcp

Le port 80 est utilisé par le trafic HTTP non chiffré, tandis que 443 est pour SSL / TLS.

En parlant de cela, nous allons avoir besoin d’un certificat SSL / TLS gratuit de Let’s Encrypt, nous tapons donc ce qui suit:

sudo nextcloud.enable-https permet-chiffrer

Une fois que le générateur Let’s Encrypt démarre, il vous demande une adresse e-mail et votre nom de domaine Nextcloud. Suivez simplement les instructions et vous devriez avoir un certificat de site Web sécurisé en un rien de temps. Si Let’s Encrypt a fonctionné, il est temps de tester votre configuration.

Accédez à votre nouveau domaine (comme notre howtogeektest.xyz). Vous devriez voir une page de connexion Nextcloud (voir ci-dessous) avec une icône de verrouillage dans la barre d’adresse.

La page de connexion Nextcloud.

Si vous voyez la page de connexion, vous êtes prêt à partir. Sinon, attendez quelques heures et réessayez. Si vous souhaitez résoudre les problèmes immédiatement, vous pouvez voir si le serveur répond via l’adresse IP.

Pour que cela fonctionne, nous devons taper ce qui suit, pour ajouter l’adresse IP à nos domaines de confiance:

sudo nextcloud.occ config: system: set trusted_domains 2 –value = 165.22.81.172

Notez que nous avons utilisé « domaine_de_ confiance 2 » et non « domaine_de_ confiance 1 ». Si vous ne faites que répéter « Trusted_domains 1 », vous écraserez votre nom de domaine réel dans la liste des domaines de confiance et ne pourrez plus l’utiliser.

Une fois que cela est fait, tapez l’adresse IP dans la barre d’adresse de votre navigateur et vous devriez voir la page de connexion ci-dessus. Sinon, un problème est survenu lors de l’installation.

Puisque nous n’avons pas de certificat SSL pour l’adresse IP, il ne pourra pas se connecter en toute sécurité. Pour cette raison, nous vous suggérons de supprimer l’adresse IP de la liste des domaines de confiance après avoir confirmé que le serveur fonctionne. Pour ce faire, tapez ce qui suit:

sudo nextcloud.occ config: système: supprimer les domaines de confiance 2

Amélioration des performances

Si votre serveur Nextcloud ne fonctionne pas correctement, vous devrez peut-être augmenter la limite de mémoire. Par défaut, il est de 128 Mo. Pour augmenter cela à 512 Mo, vous vous connectez au serveur à l’aide du terminal et tapez ce qui suit:

sudo snap set nextcloud php.memory-limit = 512M.

Maintenant que Nextcloud est opérationnel, vous pouvez vous connecter, parcourir les applications disponibles, partager des fichiers avec d’autres personnes et installer Nextcloud sur votre bureau et vos appareils mobiles pour la synchronisation multi-appareils. Nextcloud offre des outils de synchronisation de bureau et des applications mobiles pour Windows, Mac, Linux, iPhone, iPad et Android.

Bienvenue dans votre boîte de dépôt personnelle!