GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Syncthing sur Ubuntu 20.04

Syncthing est un outil open source utilisé pour synchroniser des fichiers entre deux ordinateurs ou plus sur un réseau. Il utilise une architecture peer-to-peer et échange vos données directement entre vos appareils. Toutes les données transmises entre plusieurs appareils sont cryptées avec TLS. Chaque fois que vous créez, modifiez ou supprimez des données sur une machine Syncthing, elles seront automatiquement répliquées sur d'autres serveurs. Il peut être installé sur tous les principaux systèmes d'exploitation, y compris Linux, Windows, Mac OS X, etc.

Dans ce guide, nous vous montrerons comment installer et configurer le serveur Syncthing sur Ubuntu 20.04.

Prérequis

  • Deux serveurs exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur les deux serveurs.

Mise en route

Tout d'abord, mettez à jour les packages système vers la version mise à jour en exécutant la commande suivante :

apt-get update -y

Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.

Installer Syncthing Server sur les deux serveurs

Par défaut, le package Syncthing n'est pas inclus dans le référentiel par défaut d'Ubuntu 20.04. Vous devrez donc ajouter le référentiel Syncthing à l'APT.

Tout d'abord, installez toutes les dépendances requises sur les deux serveurs avec la commande suivante :

apt-get install gnupg2 curl apt-transport-https -y

Ensuite, téléchargez et ajoutez la clé de version avec la commande suivante :

curl -s https://syncthing.net/release-key.txt | apt-key add -

Ensuite, ajoutez le référentiel Syncthing à APT avec la commande suivante :

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

Ensuite, mettez à jour le référentiel et installez le serveur Syncthing avec la commande suivante :

apt-get update -y
apt-get install syncthing -y

Une fois l'installation terminée, vérifiez la version de Syncthing avec la commande suivante :

syncthing --version

Vous devriez obtenir le résultat suivant :

syncthing v1.18.0 "Fermium Flea" (go1.16.5 linux-amd64) [email protected] 2021-06-21 20:53:50 UTC [noupgrade]

À ce stade, Syncthing est installé sur les deux serveurs. Vous pouvez maintenant passer à l'étape suivante.

Créer un fichier d'unité Systemd sur les deux serveurs

Ensuite, vous devrez créer un fichier d'unité systemd pour gérer le service Syncthing. Vous pouvez le créer sur les deux serveurs avec la commande suivante :

nano /etc/systemd/system/[email protected]

Ajoutez les lignes suivantes :

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, rechargez le démon systemd pour appliquer la configuration :

systemctl daemon-reload

Ensuite, démarrez le service Syncthing avec la commande suivante :

systemctl start [email protected]

Pour vérifier l'état du service Syncthing, exécutez la commande suivante :

systemctl status [email protected]

Vous devriez voir le résultat suivant :

? [email protected] - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 04:40:12 UTC; 5s ago
       Docs: man:syncthing(1)
   Main PID: 2878 (syncthing)
      Tasks: 14 (limit: 2353)
     Memory: 44.2M
     CGroup: /system.slice/system-syncthing.slice/[email protected]
             ??2878 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
             ??2889 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0

Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: QUIC listener ([::]:22000) starting
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file or d>
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Creating new HTTPS certificate
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: GUI and API listening on [::]:8384
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: My name is "node1"
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] WARNING: Syncthing should not run as a privileged or system user. Please consider using a norma>
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jul 09 04:40:14 node1 syncthing[2878]: [WPOF6] INFO: quic://0.0.0.0:22000 resolved external address quic://45.58.35.6:22000 (via stun.syncthin>

À ce stade, le service Syncthing est démarré et écoute sur le port 8384. Vous pouvez le vérifier avec la commande suivante :

ss -antpl | grep 8384

Vous devriez voir le résultat suivant :

LISTEN    0         4096                     *:8384                   *:*        users:(("syncthing",pid=2889,fd=12))    

Accéder à l'interface Web de Syncthing

Ensuite, ouvrez votre navigateur Web et accédez à l'interface Web de Syncthing en utilisant les URL http://first-server-ip:8384 et http://first-server-ip:8384.

Vous devriez voir l'écran suivant :

Cliquez sur Paramètres pour définir l'utilisateur et le mot de passe admin comme indiqué ci-dessous :

Indiquez votre nom d'utilisateur, votre mot de passe et cliquez sur Enregistrer bouton pour appliquer les modifications. Vous serez redirigé vers la page de connexion de Syncthing :

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir l'écran suivant :

Ensuite, vous devrez ajouter l'ID de périphérique de chaque serveur à un autre serveur afin de synchroniser les fichiers entre les deux serveurs. Pour cela, cliquez sur Actions > Afficher l'ID bouton sur les deux serveurs. Vous devriez voir l'écran suivant :

Sur le premier serveur, cliquez sur Ajouter un appareil distant . Vous devriez voir l'écran suivant :

Fournissez l'ID de l'appareil du deuxième serveur et cliquez sur Enregistrer bouton.

Sur le deuxième serveur, cliquez sur Ajouter un appareil distant . Vous devriez voir l'écran suivant :

Fournissez l'ID d'appareil du premier serveur et cliquez sur Enregistrer bouton. Vous devriez voir l'écran suivant :

Maintenant, vous devrez ajouter et partager le dossier que vous souhaitez synchroniser avec le deuxième serveur. Cliquez sur Ajouter un dossier bouton. Vous devriez voir l'écran suivant :

Fournissez l'étiquette de votre dossier, le chemin du dossier et cliquez sur Partage languette. Vous devriez voir l'écran suivant :

Cochez le deuxième serveur et cliquez sur Enregistrer bouton. Vous devriez voir l'écran suivant :

Ensuite, allez sur le deuxième serveur et cliquez sur Rescanner Tous bouton. Vous devriez voir l'écran suivant :

Cliquez sur Ajouter pour ajouter le dossier de sauvegarde partagé sur le premier serveur. Vous devriez voir l'écran suivant :

Désormais, chaque fois que vous créez ou modifiez des fichiers dans le dossier de sauvegarde sur le premier serveur, ils seront automatiquement synchronisés avec le second serveur.

Configurer Nginx en tant que proxy inverse pour Syncthing

Vous pouvez également configurer Nginx en tant que proxy inverse pour accéder au serveur Syncthing via le port 80.

Tout d'abord, installez le serveur Nginx avec la commande suivante :

apt-get install nginx -y

Ensuite, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/conf.d/syncthing.conf

Ajoutez les lignes suivantes :

server {
  listen 80;
  server_name syncthing.example.com;

  access_log /var/log/nginx/syncthing.access.log;
  error_log /var/log/nginx/syncthing.error.log;
  location / {
    proxy_pass http://127.0.0.1:8384;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de syntaxe avec la commande suivante :

nginx -t

Vous devriez obtenir le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ensuite, rechargez le Nginx pour appliquer les modifications.

systemctl reload nginx

Vous pouvez également vérifier l'état du Nginx à l'aide de la commande suivante :

systemctl status nginx

Vous devriez voir le résultat suivant :

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-07-09 05:01:36 UTC; 21s ago
       Docs: man:nginx(8)
   Main PID: 3394 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 6.2M
     CGroup: /system.slice/nginx.service
             ??3394 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??3395 nginx: worker process

Jul 09 05:01:36 node1 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 09 05:01:36 node1 systemd[1]: Started A high performance web server and a reverse proxy server.

Maintenant, vous pouvez accéder au serveur Syncthing en utilisant l'URL http://syncthing.example.com.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès Syncthing sur deux serveurs Ubuntu 20.04 et configuré la synchronisation entre les deux serveurs. J'espère que ce tutoriel vous aidera à sauvegarder votre serveur.


Ubuntu
  1. Comment installer Logstash sur Ubuntu 18.04

  2. Comment installer XWiki sur Ubuntu 20.04

  3. Comment installer phpBB sur Ubuntu 20.04

  4. Comment installer MongoDB sur Ubuntu 20.04

  5. Comment installer R sur Ubuntu 18.04

Comment installer Go dans Ubuntu 20.04

Comment installer Go sur Ubuntu 22.04

Comment installer Jenkins sur Ubuntu 18.04

Comment installer Ruby sur Ubuntu 18.04

Comment installer Kanboard sur Ubuntu 20.04

Comment installer OpenMAINT sur Ubuntu 20.04