Cómo instalar el software de sincronización remota de archivos Syncthing en Debian 11

Syncthing es una aplicación de sincronización de archivos gratuita y de código abierto que se utiliza para sincronizar archivos entre varios dispositivos remotos a través de Internet. Funciona con arquitectura peer-to-peer e intercambia los datos automáticamente entre dos dispositivos. Te ayuda a mantener sincronizados archivos y directorios en tiempo real. Toda la transmisión de datos entre varios dispositivos es segura y está encriptada con TLS. Tiene clientes para Linux, Windows y macOS. También tiene una aplicación Android para sincronizar desde y hacia smartphones.

En este post, te mostraremos cómo instalar el software de sincronización de archivos Syncthing en un servidor Debian 11.

Requisitos previos

  • Dos servidores con Debian 11.
  • Se ha configurado una contraseña de root en cada servidor.

Añadir el repositorio de Syncthing

Por defecto, Syncthing no está incluido en la repositorio por defecto de Debian 11. Así que tendrás que añadir el repositorio de Syncthing en ambos servidores.

En primer lugar, instala las dependencias necesarias utilizando el siguiente comando:

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

A continuación, descarga y añade la clave GPG con el siguiente comando:

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

A continuación, añade el repositorio de Syncthing a APT con el siguiente comando:

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

A continuación, actualiza el repositorio con el siguiente comando:

apt-get update -y

Instalar Syncthing en Debian 11

En este punto, el repositorio de Syncthing está añadido en ambos servidores. Ahora, ejecuta el siguiente comando en ambos servidores para instalar Syncthing.

apt-get install syncthing -y

Una vez instalado Syncthing, verifica la versión de Syncthing utilizando el siguiente comando:

syncthing --version

Obtendrás la siguiente salida:

syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) [email protected] 2021-12-30 12:07:01 UTC [noupgrade]

Crear un archivo de servicio Systemd para Syncthing

A continuación, tendrás que crear un archivo de servicio systemd en ambos servidores para gestionar el Syncthing. Puedes crearlo con el siguiente comando:

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

Añade las siguientes líneas:

[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

Guarda y cierra el archivo cuando hayas terminado. A continuación, recarga el demonio systemd para aplicar los cambios.

systemctl daemon-reload

A continuación, inicia el servicio Syncthing con el siguiente comando:

systemctl start syncthing@root

A continuación, comprueba el estado del Syncthing con el siguiente comando:

systemctl status syncthing@root

Obtendrás la siguiente salida:

? [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 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/[email protected]
             ??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>

Por defecto, Syncthing escucha en el puerto 8384. Puedes comprobarlo con el siguiente comando:

ss -antpl | grep 8384

Obtendrás la siguiente salida:

LISTEN 0      4096               *:8384             *:*    users:(("syncthing",pid=2752,fd=28))

Establecer contraseña de administrador de Syncthing

En este punto, Syncthing está instalado y funcionando en ambos servidores. Ahora, tendrás que acceder a la interfaz web de Syncthing y establecer una contraseña de administrador.

Para establecer la contraseña de administrador del primer servidor, abre tu navegador web y accede a él utilizando la URL http://first-server-ip:8384. Deberías ver la siguiente pantalla:

Establecer contraseña de administrador en Syncthing

Haz clic en el botón Configuración. Deberías ver la siguiente pantalla:

Ajustes

En la pestaña GUI, define tu nombre de usuario y contraseña de administrador y pulsa el botón Guardar para aplicar los cambios. Serás redirigido a la página de inicio de sesión de Syncthing:

inicio de sesión de administrador

Introduce tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Syncthing en la siguiente pantalla:

GUI Syncthing

Para establecer la contraseña de administrador del segundo servidor, abre tu navegador web y accede a él utilizando la URL http://second-server-ip:8384. Deberías ver la siguiente pantalla:

Establecer usuario auth GUI

Haz clic en el botón Configuración. Deberías ver la siguiente pantalla:

Ajustes GUI

En la pestaña GUI, define tu nombre de usuario y contraseña de administrador y pulsa el botón Guardar para aplicar los cambios. Serás redirigido a la página de inicio de sesión de Syncthing:

Regístrate en

Introduce tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de control de Syncthing en la siguiente pantalla:

Cuadro de mandos Syncthing

Añadir cada servidor a otro servidor

A continuación, tendrás que localizar el ID de dispositivo de cada servidor y añadirlo a otro servidor para poder sincronizar los archivos entre ambos servidores.

En el panel del primer servidor, haz clic en Acciones > Mostrar ID para localizar el ID del dispositivo. Deberías ver la siguiente pantalla:

Conectar servidores entre sí

En el panel de control del segundo servidor, haz clic en Acciones > Mostrar ID para localizar el ID del dispositivo. Deberías ver la siguiente pantalla:

Servidor 2

En el primer servidor, haz clic en el botón Cerrar. Deberías ver la siguiente pantalla:

Sincronización conectada

Ahora, haz clic en Añadir Dispositivo Remoto. Deberías ver la siguiente pantalla:

Servidor 2

Proporciona el ID del dispositivo y el nombre del segundo servidor y pulsa el botón Guardar. Una vez añadido el dispositivo, deberías ver la siguiente pantalla:

Servidor 2 dispositivos

En el segundo servidor, haz clic en Añadir Dispositivo Remoto. Deberías ver la siguiente pantalla:

Añadir dispositivo en el servidor 1

Introduce el ID y el nombre del dispositivo del primer servidor y pulsa el botón Guardar. Deberías ver la siguiente pantalla:

Carpetas y servidores

Crear y Compartir una Carpeta

A continuación, tendrás que añadir y compartir la carpeta en el primer servidor que quieres sincronizar con el segundo servidor.

En el primer servidor, haz clic en el botón Añadir Car peta. Deberías ver la siguiente pantalla:

Añadir carpeta compartida

Proporciona la etiqueta de tu carpeta, la ruta de la carpeta y haz clic en la pestaña Compartir. Deberías ver la siguiente pantalla:

Dispositivos no compartidos

Marca el segundo servidor y haz clic en el botón Guardar. Deberías ver la siguiente pantalla:

Se ha sincronizado la carpeta compartida

A continuación, ve al segundo servidor y pulsa el botón Volver a explorar todo. Deberías ver la siguiente pantalla:

Añadir nueva carpeta

Haz clic en Añadir para añadir la carpeta compartida en el primer servidor. Deberías ver la siguiente pantalla:

Etiqueta de la carpeta

Haz clic en el botón Guardar para aplicar los cambios. Deberías ver la siguiente pantalla:

Carpeta de escaneado

En este punto, ambos servidores están configurados para sincronizar archivos entre sí. Cada vez que crees o modifiques algún archivo en la carpeta compartida en el primer servidor, se sincronizará automáticamente con el segundo servidor.

Conclusión

Enhorabuena! has instalado y configurado correctamente Syncthing en dos servidores Debian 11 y has configurado la sincronización entre ambos servidores. Espero que este tutorial te ayude a hacer copias de seguridad de tu servidor. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...