Nel corso de "La Grande Guida a Resilio Sync" abbiamo presentato l'omonimo software e visto come configurarlo con Windows per sincronizzare automaticamente le cartelle fra PC distinti. Ma questo programma torna estremamente utile anche su di un server Linux, permettendoci, ad esempio, di sincronizzare la cartella che contiene il sito web fra la postazione di sviluppo e il webserver, semplificando enormemente il deploy. I sistemisti, invece, potrebbero impiegarlo per sincronizzare i file di configurazione fra più server, con evidenti benefici per chi si trovi a gestire un ampio parco macchine.

Trattazione ampliata ed articolo aggiornato per rispecchiare la disponibilità di Resilio Sync, nuovo nome del programma precedentemente chiamato BitTorrent Sync.

Guida: installare Resilio Sync (BitTorrent Sync) server Linux tramite linea comando (CentOS/Ubuntu): accettare connessioni remoto interfaccia web, attivare HTTPS, limitare indirizzi IP - schema BitTorrent sync windows andorid linux

Questo articolo è incentrato sulla procedura pratica installare e configurare Resilio Sync su di un server Linux senza interfaccia grafica. Per tutte le informazioni preliminari e la guida corrispondente per Windows:

» Leggi: La Grande Guida a Resilio Sync

Passo 0: connessione via SSH

Come primo passo bisogna "entrare" sul server via SSH (tramite PuTTY, ad esempio)

Guida: installare Resilio Sync (BitTorrent Sync) server Linux tramite linea comando (CentOS/Ubuntu): accettare connessioni remoto interfaccia web, attivare HTTPS, limitare indirizzi IP - putty ssh key spotlight

Ricordate che tutti i comandi indicati in seguito dovranno essere svolti sul server remoto!

Passo 1: installare Resilio Sync

La procedura di installazione di Resilio Sync avviene ora tramite l'apposito repository, eliminando la complicazione di scaricare manualmente l'eseguibile ad ogni aggiornamento come illustrato nella prima stesura di questo articolo. Per la guida all'installazione tramite repository:

» Leggi: Guida: Resilio Sync (BitTorrent Sync) per Ubuntu/Linux - installazione e configurazione

Arrivate fino all'installazione del pacchetto. Per impostazione predefinita, infatti, Resilio Sync consente di accedere all'interfaccia di configurazione via web solamente dalla macchina sulla quale è in esecuzione (localhost). Per operare dal nostro PC "di lavoro" è dunque necessario sbloccare l'accesso da remoto.

Passo 2: abilitare l'accesso all'interfaccia web da remoto

Per permettere a qualsiasi browser web di accedere all'interfaccia per la configurazione di Resilio Sync bisogna modificare il relativo file di configurazione. Impartite dunque

sudo nano /etc/resilio-sync/config.json

Modificate ora l'opzione "listen". Deve diventare "listen" : "0.0.0.0:8888",. Non dimenticate la virgola alla fine.

Subito sotto, aggiungete le credenziali che desiderate siano richieste prima di consentire l'accesso:

"login": "amministratore",

"password": "mia_password_supersegreta"

Ovviamente inserite quello che più vi aggrada come username e password, ma assicuratevi di scegliere una parola d'ordine robusta, soprattutto se il servizio sarà esposto su Internet

Guida: installare Resilio Sync (BitTorrent Sync) server Linux tramite linea comando (CentOS/Ubuntu): accettare connessioni remoto interfaccia web, attivare HTTPS, limitare indirizzi IP - Schermata del 2016-10-14 10-37-44

[chi non gradisse l'idea di scrivere la password "in chiaro" può usare l'opzione "password_hash" al posto del semplice "password" ed immettere come valore l'output di mkpasswd mia_password_supersegreta]

Completate con Ctrl+O seguito da Invio per salvare, quindi Ctrl+X per uscire da Nano. Per maggiori info:

» Leggi: Guida: modificare i file di configurazione di Linux Ubuntu/CentOS da terminale è facile con "nano" (alternativa a "vi")

Ritornati al terminale, riavviate il servizio per rendere effettive le modifiche:

sudo systemctl restart resilio-sync

Ora è tutto pronto: provate a raggiungere via web il server sul quale gira Resilio Sync (ricordandovi di esplicitare la porta 8888). Vi sarà richiesto di eseguire login, poi sarete "dentro"

Guida: installare Resilio Sync (BitTorrent Sync) server Linux tramite linea comando (CentOS/Ubuntu): accettare connessioni remoto interfaccia web, attivare HTTPS, limitare indirizzi IP

A questo punto potete configurare le cartelle da sincronizzare come descritto nella guida a Resilio Sync per Linux.

Passo 4: Abilitare HTTPS

La nostra configurazione può essere migliorata. Nella situazione attuale, infatti, le credenziali di accesso all'interfaccia web sono trasmesse via HTTP "in chiaro". In caso un utente ostile collegato alla nostra stessa rete LAN catturasse il traffico, potrebbe carpire facilmente username e password, garantendosi pieno controllo del filesystem remoto.

Per scongiurare questo pericolo è necessario passare ad HTTPS. Per prima cosa, dovete ottenere un certificato digitale, magari tramite Let's Encrypt. Per farlo, dovete configurare un server web sulla stessa macchina sulla quale gira Resilio Sync, quindi seguire questa procedura:

» Leggi: Come ottenere un certificato HTTPS (SSL/TLS) gratis: la Grande Guida a Let's Encrypt su Linux CentOS/Ubuntu (rating SSL Labs: "A+")

Lo scopo ultimo è generare due file nella cartella /etc/letsencrypt/live/miodominio.com/ (dove ovviamente, miodominio.com è il dominio per il quale abbiamo ottenuto il certificato):

  • privkey.pem: costituisce la chiave privata del server
  • cert.pem: è il certificato vero e proprio

Entrambi i file sono creati da Let's Encrypt alla fine della procedura

Guida: installare Resilio Sync (BitTorrent Sync) server Linux tramite linea comando (CentOS/Ubuntu): accettare connessioni remoto interfaccia web, attivare HTTPS, limitare indirizzi IP - letsencrypt files

A questo punto, possiamo utilizzare gli stessi file all'interno del file di configurazione di Resilio Sync per attivare l'uso di HTTPS anche per l'accesso all'interfaccia web. Apriamo nuovamente il file:

sudo nano /etc/resilio-sync/config.json

Ora, subito sotto all'opzione password che abbiamo aggiunto ai passi precedenti, accodiamo queste ulteriori voci:

,"force_https" : true

,"ssl_certificate" : "/etc/letsencrypt/live/miodominio.com/cert.pem"

,"ssl_private_key" : "/etc/letsencrypt/live/miodominio.com/privkey.pem"

Naturalmente, sostituire a miodominio.com il nome a dominio per il quale avete ottenuto il certificato con Let's Encrypt

Guida: installare Resilio Sync (BitTorrent Sync) server Linux tramite linea comando (CentOS/Ubuntu): accettare connessioni remoto interfaccia web, attivare HTTPS, limitare indirizzi IP - Schermata del 2016-10-14 14-54-37

Completate con Ctrl+O seguito da Invio per salvare, quindi Ctrl+X per uscire da Nano.

Ritornati al terminale, riavviate il servizio per rendere effettive le modifiche:

sudo systemctl restart resilio-sync

Provate ora ad aprire l'interfaccia web di Resilio Sync: dovrebbe comparire il rassicurante lucchetto verde, segno che stiamo effettivamente impiegando HTTPS.

Passo 5: Accettare connessioni solo da indirizzi IP fidati

Come ulteriore misura di protezione, è certamente saggio configurare il firewall del server di modo che accetti connessioni all'interfaccia di amministrazione solo da espliciti indirizzi IP fidati:

» Leggi: Ubuntu, firewall e ufw: guida rapida per aprire le porte o bloccare le connessioni e gli IP