Zum Hauptinhalt springen Skip to page footer

Wie wird die Syncthing Software zur Remote-Dateisynchronisation installiert?

| Tutorial

Erfahren Sie, wie Sie die Syncthing-Software zur Remote-Dateisynchronisation installieren. Folgen Sie diesem Tutorial auf OpenHow2 und erfahren Sie Schritt für Schritt, wie Sie die Syncthing-Software einrichten und nutzen können.

Syncthing ist eine kostenlose und quelloffene Dateisynchronisierungsanwendung, mit der Dateien zwischen mehreren Remote-Geräten über das Internet synchronisiert werden können. Es arbeitet mit einer Peer-to-Peer-Architektur und tauscht die Daten automatisch zwischen zwei Geräten aus. Es hilft, Dateien und Verzeichnisse in Echtzeit zu synchronisieren. Die gesamte Datenübertragung zwischen mehreren Geräten ist sicher und mit TLS verschlüsselt. Es gibt Clients für Linux, Windows und macOS sowie eine Android-App für die Synchronisierung von und mit Smartphones!

Voraussetzungen

  • zwei installierte Server
  • das root-Passwort bzw. die Zugangsdaten von Benutzern mit sudo-Rechten von beiden Servern

Schritt 1: Syncthing-Repository hinzufügen

Syncthing ist nicht im Standard-Repository enthalten. Daher muss das Syncthing-Repository auf beiden Servern hinzugefügt werden.

 Installation der erforderlichen Abhängigkeiten mit dem folgenden Befehl:

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

GPG-Schlüssel herunterladen und hinzufügen:

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

Syncthing-Repository mit dem folgenden Befehl zu APT hinzufügen:

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

Repository aktualisieren:

sudo apt-get update -y

Schritt 2: Syncthing installieren

Ausführen des folgenden Befehl auf beiden Servern, um Syncthing zu installieren.

sudo apt-get install syncthing -y

Sobald Syncthing installiert ist, wird mit dem folgenden Befehl die Syncthing-Version überprüft:

syncthing --version
Ausgabe:
syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) deb@build.syncthing.net 2021-12-30 12:07:01 UTC [noupgrade]

Schritt 3: Erstellen einer Systemd-Dienstdatei für Syncthing

Als Nächstes muss auf beiden Servern eine systemd-Dienstdatei zur Verwaltung von Syncthing erstellt werden.

nano /etc/systemd/system/syncthing@.service

Fügen Sie der Datei folgende Zeilen hinzu:

Fügen Sie der Datei folgende Zeilen hinzu:

[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

Nach dem Speichern der Datei muss der systemd-Daemon neu gestartet werden:

systemctl daemon-reload

Das Starten des Syncthing-Dienstes kann je nach Server etwas dauern:

systemctl start syncthing@root

Überprüfen des Status von Syncthing mit dem folgenden Befehl:

systemctl status syncthing@root
Ausgabe:
? syncthing@root.service - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/etc/systemd/system/syncthing@.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-01-31 02:28:35 UTC; 11s ago
       Docs: man:syncthing(1)
   Main PID: 2746 (syncthing)
      Tasks: 14 (limit: 2341)
     Memory: 56.3M
        CPU: 1.661s
     CGroup: /system.slice/system-syncthing.slice/syncthing@root.service
             ??2746 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
             ??2752 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0

Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: QUIC listener ([::]:22000) starting
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file o>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Creating new HTTPS certificate
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: GUI and API listening on [::]:8384
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: My name is "server1"
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] WARNING: Syncthing should not run as a privileged or system user. Please consider using a no>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 resolved external address quic://69.87.219.167:22000 (via stun.sy>

Überprüfung, ob Syncthing standardmäßig auf Port 8384 lauscht:

ss -antpl | grep 8384
Ausgabe:
LISTEN 0      4096               *:8384             *:*    users:(("syncthing",pid=2752,fd=28))

Schritt 4: Syncthing Admin Passwort festlegen

Zu diesem Zeitpunkt ist Syncthing auf beiden Servern installiert und läuft. Nun kann auf die Syncthing-Web-UI zugegriffen und ein Admin-Passwort festlegt werden.

 Um das Admin-Passwort des ersten Servers festzulegen, muss im Webbrowser die URL first-server-ip aufgerufen werden.

Anschließend auf die Schaltfläche Einstellungen klicken:

Auf der Registerkarte GUI den Administrator-Benutzernamen und das Passwort eingeben und anschließend die Änderungen speichern. Es erfolgt eine Weiterleitung zur Anmeldeseite von Syncthing. Nach einer erneuten Anmeldung mit dem gerade vergebenden Administrator-Benutzernamen und Passwort, sollte auf dem folgenden Bildschirm das Syncthing-Dashboard zu sehen sein:

Analog zum ersten Server muss der Administrator-Benutzername und das Passwort auf dem zweiten Server vergeben werden. 

Schritt 5: Die Server gegenseitig hinzufügen

Als Nächstes muss die Geräte-ID jedes Servers herausgefunden werden und dem anderen Server hinzugefügt werden, damit Dateien zwischen beiden Servern zu synchronisiert werden können. Zur Geräte-ID (eigene Kennung) eines Servers gelangt man durch einen Klick auf Aktionen > Eigene Kennung:

Im Dashboard im Bereich "Externe Geräte" auf "Gerät hinzufügen" klicken.

Die Geräte-ID und den Namen des jeweils anderen Servers eingeben. Sobald das Gerät hinzugefügt wurde, sollte der Bildschirm wie folgt aussehen:

Schritt 6: Ordner erstellen und freigeben

Als nächstes muss ein Ordner auf dem ersten Server hinzugefügt und freigegeben werden, der mit dem zweiten Server synchronisiert werden soll. Hierzu muss auf dem ersten Server auf die Schaltfläche Ordner hinzufügen geklickt werden. Danach sollte folgende Ansicht erscheinen:

Nach Eingabe der Ordnerbezeichnung und des Ordnerpfades auf die Registerkarte "Teilen" wechseln.

Den zweiten Server auswählen und speichern. Danach sollte folgende Anzeige erscheinen:

Auf dem zweiten Server muss dann ein Ordner hinzugefügt werden, in dem die zu synchronisierenden Dateien gespeichert werden. Hierzu sollte auf dem zweiten Server im Dashboard folgende Meldung erscheinen:

Nach einem Klick auf die Schaltfläche "Hinzufügen" erscheint folgende Anzeige:

Gegebenenfalls muss die Ordnerbezeichnung sowie der Ordnerpfad angepasst werden.

 Jetzt sind beide Server so konfiguriert, dass sie Dateien miteinander synchronisieren. Wann immer Dateien im gemeinsamen Ordner auf dem ersten Server erstellt oder geändert werden, werden diese automatisch mit dem zweiten Server synchronisiert.