SyncThing sincronizzazione OpenSource

SyncThings

SyncThings

Sincronizzare cartelle tra vari sistemi operativi e dispositivi…

Se si utilizzano più computer, probabilmente vorrebbe utilizzare, oppure, si sta già utilizzando un servizio di sincronizzazione per gestire i file su macchine diverse. Una delle opzioni di sincronizzazione più popolari è quello di fare uso di servizi di “storage online”, i famosi servizi Cloud di cui abbiamo parlato in precedenti articoli, come Dropbox, Google Drive e OneDrive, con i quali è possibile trasferire i file da un PC ad un altro. Uno svantaggio di questi servizi è che una copia dei file risiederà per forza di cose sul server del fornitore del servizio.
Un altro metodo per fare tale operazione è quello di utilizzare la tecnologia P2P, come BitTorrent Sync e sincronizzare i file direttamente tra computer.

Il problema da affrontare quando si lavora con i dispositivi digitali, che siano PC o Smartphones, sono le copie di sicurezza! Si cerca di trovare la soluzione ottimale a tale problema e oggi scopriremo insieme un nuovo software multi piattaforma che si chiama SyncThing. Il programma si basa su una interfaccia di gestione web-based e il trasferimento files tipico del Peer-to-Peer.

Syncthing è un ibrido tra Dropbox e BitTorrent Sync; esso permette di sincronizzare i file direttamente tra computer senza che ci sia di mezzo alcun server esterno; inoltre è open-source, e chiunque può controllare il codice per qualsiasi problema di sicurezza o addirittura per creare la propria app.

Syncthing supporta Windows, Mac, Linux, BSD e Solaris. Anche se si stanno utilizzando differenti sistemi operativi sui vari computer, sarà possibile sincronizzare i file da un computer a un altro.

Per iniziare
Vediamo come fare ad implementare in modo veloce e semplice questa soluzione all’interno della nostra attività lavorativa e/o casalinga.

Prima di tutto dobbiamo provvedere a scaricare la versione del software adatta per il nostro computer. Il sito di riferimento per scaricare il software è www.syncthing.net. Scorrendo verso il basso troviamo il link per procedere al download del software. Come è possibile vedere dalla pagina github troviamo le versioni per MacOSx, FreeBSD, Linux 32 e 64 bit, Linux Arm, Solaris e Windows 32 e 64bit.

Scarichiamo quella che corrisponde alla nostra architettura. Una volta ottenuto il file compresso .tar.gz andremo ad operare da terminale, per scompattare, daremo il comando:

tar zxvf nomedelfile.tar.gz -C /opt/

A questo punto ci ritroveremo una cartella contenente tutto il software necessario, pochi mega (meno di 10) per un software molto interessante. Entriamo nella cartella di Syncthing ed eseguiamolo:

cd /opt/syncthing-linux-<nostra-versione>
./syncthing

Si aprirà in automatico il browser predefinito sulla pagina di gestione 127.0.0.1:8080. Da qui potremmo vedere sulla barra in alto, oltre al nome del software, il menu Edit per l’aggiunta di nodi (le altre macchine in rete) e di repositories (le cartelle da sincronizzare), la configurazione del nodo, l’id del nodo e due comandi semplicissimi per riavviare il software di sincronizzazione o fermarlo totalmente. Nel resto della pagina sulla sinistra si vedranno le condivisioni da sincronizzare e sulla destra l’elenco dei nodi e dello status (in attesa, in sincronizzazione, ecc. ecc.).

Un piccolo consiglio e’ quello di entrare nel menu EDIT / Settings per configurare alcuni aspetti del programma; prima di tutto impostate  il GUI LISTEN ADDRESSES su 0.0.0.0:8080 per potervi accedere da qualunque postazione della rete, dopo di che’ per aumentarne la sicurezza è possibile inserire anche un nome utente ed una password.

Sempre nel menu EDIT troviamo la voce Show ID che altro non è che una stringa lunghissima  di caratteri alfanumerici che identificano la nostra installazione in rete. Facciamo un bel copia incolla di questo codice che ci servirà per configurare le altre macchine in rete.

Se la soluzione vi e’ piaciuto potremo provvedere a rendere avviabile il servizio automaticamente all’accensione del PC. In Windows basterà creare un collegamento in Esecuzione Automatica del menu di avvio, mentre in Linux basterà aggiungere una riga di comando nel file /etc/rc.local (sono necessari i permessi di root. Quindi usare il comando sudo gedit /etc/rc.local per editare il file). La riga da aggiungere è:

su -l nome-utente -c “/percorso-di-syncthing/syncthing &”

Se presente la riga con scritto exit 0, eliminarla o commentarla anteponendoci un

Vantaggi di Syncthing

Privacy: Tutti i vostri file risiedono sul vostro computer. Non c’è alcun server intermedio su cui i tuoi dati vengono copiati.
Crittografia: Tutta la comunicazione è assicurata tramite TLS.
Autenticazione: Ogni nodo è identificato da un valido certificato di crittografia. Solo i nodi che si sono esplicitamente autorizzati possono connettersi al cluster.
Open-source: Chiunque può esaminare il codice e risolvere qualsiasi problema di bug o di sicurezza.

L’altra cosa buona di Syncthing è che non devi preoccuparti dello spazio di archiviazione. La maggior parte dei fornitori di “storage online” si limitano a una quantità fissa di spazio di archiviazione. Per Syncthing, sei limitato solo dallo spazio di archiviazione del tuo PC !

Personal Cloud Storage

cloud_syncHosting Personale

Oggi giorno tutti ci vogliamo affidare ai Mega Brand dell’informatica per gestire i nostri dati importanti. Spesso pero’ non ci rendiamo conto che questo significa che diamo in gestione importanti pezzi della nostra vita ad aziende che se ne prenderanno cura fino al giorno in cui questo dara’ loro un profitto. E’ il caso, ad esempio, di Ubuntu One che ha annunciato a tutti i suoi utenti che il 31 Luglio 2014 il servizio sarebbe stato chiuso e che da quel giorno nessuno sarebbe piu’ potuto entrare nella propria area per recuperare i propri dati. Quindi il consiglio e’ quello di usare ovviamente i servizi Web esterni ma di avere pur sempre un proprio backup casalingo, magari sincronizzandoli.

Proveremo ad analizzare i seguenti servizi : OwnCloud , SeaFile , BitTorrentSync

Tutti questi servizi non funzionano come le tradizionali applicazioni desktop.


* OwnCloud
La procedura d’installazione e’ minimale e possiede un file manager davvero ottimale, in grado di gestire i documenti nei formati piu’ diffusi. Offre anche un comodo set di applicazioni che rende OwnCloud davvero completo ed in termini di sicurezza si rimane soddisfatti dalla crittografia di base e dal controllo della versione dei file. L’applicazione per la gestione del versioning ci mette al riparo dal saturare lo spazio a disposizione, eliminando automaticamente le vecchie versioni dei files.
OwnCloud permette anche di utilizzare servizi Cloud esterni , come Google Drive, Amazon S3, Dropbox, e OpenStack Swift ed e’ capace di gestire i dati senza soluzione di continuita’ con il vostro Cloud privato. Supporta i protocolli CalDAV e CardDAV per la sincronizzazione dei calendari e delle rubriche.

Seguendo però le istruzioni date sul sito potremmo non riuscire a configurare il programma a causa di problemi con alcuni pacchetti.

Installiamo quindi le dipendenze mancanti di cui necessitiamo con i seguenti comandi:

sudo apt-get install apache2 php5 php5-json php5-gd php5-sqlite
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
sudo apt-get install php5-common php-xml-parser
sudo apt-get install sqlite

A questo punto andiamo sul sito ufficiale di ownCLOUD e scarichiamo l’ultima release disponibile (attualmente la 7.0.0) e scompattiamola:

wget https://download.owncloud.org/community/owncloud-7.0.0.tar.bz2
tar -xjf owncloud-7.0.0.tar.bz2

Creiamo una cartella sul nostro server web dedicata a ownCLOUD con il comando mkdir e copiamoci il contenuto di owncloud:

sudo mkdir /var/www/owncloud
sudo cp -r owncloud/* /var/www/owncloud
sudo chown -R www-data:www-data /var/www/owncloud

In questo modo abbiamo anche provveduto a dare i permessi di scrittura alla cartella del programma. Spesso non serve ma un bel riavvio del server apache fa sempre bene:

sudo service apache2 restart

A questo punto, con un browser, puntiamo su http://localhost/owncloud (sostituire localhost con l’indirizzo IP del server se si accede da un altro PC in rete). Se l’installazione è andata a buon fine troveremo la finestra di configurazione dell’account di amministratore: date un nome utente e una password all’amministratore di sistema di owncloud e cliccare su termina configurazione.

A questo punto possiamo iniziare ad operare via web oppure, in alternativa, con gli strumenti client che vengono messi a disposizione per tutte le piattaforme (android compreso).

Buon lavoro tra le nuvole…


* SeaFile
Questo servizio di Storage ha un processo d’installazione lineare e chiaro basato su script, che utilizza vari componenti operanti su diverse porte. Quando si verifica un problema, tuttavia, diventa complesso identificarlo. L’interfaccia Web, inoltre, e’ un tantino dispersiva ma SeaFile e’ un Cloud server dalle grandi possibilità.

## Installiamolo sul nostro computer!

Prima di tutto prepariamo il nostro Ubuntu installando le dipendenze di terze parti necessarie al perfetto funzionamento:

sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3

A questo punto scarichiamo dal sito del produttore la componente server di Seafile a 32bit o 64bit a seconda delle nostre esigenze. Salviamola nella nostra home directory.

Ora da una finestra del terminale digitiamo i seguenti comandi partendo dalla nostra home directory:

mkdir seafile
mv seafile-server-* seafile
cd seafile
tar zxvf seafile-server-*
mkdir installato
mv seafile-server-* installato

Ora eseguiamo la configurazione del programma digitando i seguenti comandi sempre nella solita finestra terminale:

cd seafile-server-*
./setup-seafile.sh

 

Rispondiamo alle domande che ci verranno poste a seconda della nostra configurazione: diamo un nome a piacere (senza spazi), l’indirizzo IP (privato della rete interna, pubblico se si vuole raggiungere il server dall’esterno o il nome host se tale indirizzo ip è associato ad un dominio) e per il resto diamo invio confermando i dati che vengono proposti in modo predefinito.

Al termine delle operazioni verrà chiesto anche un indirizzo e-mail ed una password per l’amministratore di seafile. Confermati tutti i dati inseriti possiamo provare ad attivare il server con i comandi:

./seafile.sh  start
./seahub.sh start

Se non vengono riscontrati errori sarà possibile raggiungere il proprio server seafile da http://indirizzo:8000 e loggarci con il proprio indirizzo e-mail e relativa password scelta al momento dell’installazione.

L’utente admin potrà aggiungere altri utenti, creare gruppi e fare tutta una serie di operazioni tramite la comoda interfaccia web.

Al server ci possiamo collegare anche da terminali mobili (esistono clients per Android e iOS) dando come indirizzo il proprio ip o il nome a dominio seguiti da “:8000″;

Nome utente e password sono sempre l’indirizzo e-mail e la relativa password scelta.

A questo punto non resta che automatizzare il caricamento all’avvio di ubuntu della parte server inserendo nel file /etc/rc.local le seguenti righe:

/bin/su -c “/home/nomeutente/seafile/seafile-server-versione/seafile.sh start &” nomeutente
/bin/su -c “/home/nomeutente/seafile/seafile-server-versione/seahub.sh start ” nomeutente

Naturalmente sostituendo i valori in neretto con quelli che sono appropriati per la propria installazione.

Divertitevi con Seafile!!


* BitTorrentSync
BitTorrent Inc., il nome dietro allo standard torrent che tanti usano per scaricare contenuti più o meno lecitamente, ha creato un’alternativa particolare agli altri sistemi di storage, proprio perché BitTorrent Sync non ha davvero nulla in comune con i servizi Cloud, anzi, si basa sul P2P per tenere i nostri file al sicuro senza mandarli a server sconosciuti.

Come funziona
Sync consente di conservare il controllo dei propri file; gli utenti sincronizzano i file tra i propri vari PC, e non si usa nessun server remoto per farlo. Non essendoci intermediari, non ci sono neppure limiti di alcun genere, neppure nella banda usata. BitTorrent Sync è molto più veloce della concorrenza.

Se vi serve condividere dei file, anche giganteschi, tra i vostri PC o con quelli di amici e parenti, è sufficiente scaricare l’app su ogni terminale. Sync è disponibile su Windows, OS X, Linux ed è persino accessibile ai NAS tramite un’interfaccia web. Sync usa lo standard di trasferimento BitTorrent, ma al contrario del solito, solo quelli che hanno la nostra chiave di accesso possono raggiungere le cartelle condivise.

Una volta installati i pacchetti sui vari PC non vi rimara’ altro che :

INIZIARE AD USARE BITTORRENT SYNC

  • Scegliere una cartella per la sincronizzazione e generate un secret, generando due chiavi, una di sola lettura e l\altra per l’accesso completo. Il secret è casuale ed unico, e funziona come una chiave che connette terminali multipli in un solo network
  • Sugli altri terminali deve essere scelta una cartella. Invece di generare un secret, inserite quello che avete creato nella prima
  • Mantenete acceso BitTorrent Sync fino al termine della sincronizzazione

Funzioni e feature

Le cartelle scelte per il sync possono essere gestite in qualsiasi momento dall’app oppure dall’interfaccia web.

  • Sync consente di scegliere quali file e cartelle desideriamo condividere, escludendo qualsiasi loro contenuto non vogliamo passare. Non conta il numero di cartelle, né la loro dimensione o quella dei file.
  • Sync consente la sincronizzazione a senso unico, ovvero possiamo selezionare un nostro file o cartella per l’invio, ma non permettere di sincronizzare nessuna modifica proveniente dal terminale a cui inviamo
  • Sync consente di creare un secret valido per una sola sincronizzazione, quindi non dovete lasciare le vostre “chiavi di casa” a nessuno

Il miglior servizio di condivisione di file con amici, parenti e colleghi.!