24 febbraio 2017

tutorial: come avere un cloud privato a casa con il raspberry pi 3


Benvenuti!
Questo tutorial vi aiuterà a portare a termine una configurazione iniziale per un cloud privato "casalingo" sul raspberry pi 3 (qui trovate tutti i miei focus su questo dispositivo).

Nota: il presente articolo contiene una infarinatura generale per farvi capire quelli che sono i concetti base, e non vuole assolutamente essere una guida definitiva. Dietro tutti gli argomenti toccati, infatti, c'è un mondo immenso di dettagli e criticità, cosa che va ben oltre gli scopi di questo tutorial. Se siete interessati ad approfondirli, però, non esitate a lasciare un commento o a contattarmi sui canali social.

Prima di addentrarci, vi riporto il video di supporto a questa guida che ho pubblicato sul mio canale YouTube:


Inoltre vi segnalo che nella pagina dedicata troverete tutti i tutorial da me pubblicati.


1. l'attrezzatura minima per iniziare


Per realizzare un cloud privato "casalingo" occorrono:
  1. un raspberry pi 3 + una microSD (almeno di classe 10) + un alimentatore (da almeno 2.4A) + un hard disk USB con alimentazione autonoma (se avete necessità di spazio di archiviazione maggiore a quello fornito dalla microSD)
  2. un PC o smartphone o tablet
  3. un sistema operativo adatto all'uso server per il raspberry pi
  4. una connessione ad internet + un router + un cavo di rete

Per quanto riguarda il primo punto non occorre altro: non collegherete il raspberry pi ad un monitor esterno e non avrete, quindi, neppure la necessità di periferiche aggiuntive (come mouse o tastiera) per controllarlo. Sarà invece indispensabile avere un alimentatore che eroga in uscita almeno 2.4A e, se per voi necessario, un hard disk per aumentare lo spazio di archiviazione.
Il secondo punto è direttamente collegato con il primo: si raccomanda l'uso di un PC al fine di accedere al sistema da remoto, ma per l'utilizzo finale può bastare anche solo uno smartphone o un tablet.
Configurare un cloud privato significa avere la possibilità di installare determinati software (li vedremo fra poco), il che implica la necessità di disporre di un sistema operativo capace di eseguirli. Praticamente qualsiasi distribuzione Linux va bene, ma tra le tantissime a disposizione ce ne sono alcune che sono pensate già in partenza per essere utilizzate a mo' di server. Conviene perciò puntare su una di esse, ed io -se siete alle prime armi- vi consiglio Ubuntu Server (che in versione 16.04 è perfettamente compatibile con il raspberry pi 3). In più, come vedremo tra poco, tale OS ci permetterà di facilitare di molto il processo di installazione e configurazione iniziale.
Serve commentare il quarto punto? =D


2. la configurazione iniziale del raspberry pi e del nostro cloud privato


Per configurare il raspberry pi 3 installando Ubuntu Server 16.04 (e per tutte le altre procedure iniziali) rimando alla mia guida su come creare un server web in casa con il raspberry pi 3. Questo articolo, infatti, si basa su parte delle operazioni che avrete già compiuto per completare quel tutorial.

Questa volta, però, invece di andare ad installare manualmente tutte le componenti necessarie per tirar su il nostro cloud privato, ci affideremo ai pacchetti snap. Senza entrare troppo nel dettaglio (ma se volete approfondire fatemi sapere nei commenti) sappiate che all'interno di uno snap package sono presenti tutte le librerie e quanto necessario per far funzionare una determinata applicazione che vogliamo installare. Inoltre essi sono isolati gli uni dagli altri e possono dialogare tra loro interfacciandosi l'un l'altro (ed anche ai servizi forniti dall'OS stesso, su cui tornerò tra poco).

Per questo motivo, una volta collegati in SSH al nostro raspberry pi 3 tramite il comando ssh ubuntu@<indirizzoip> (es: ssh ubuntu@192.168.1.5), l'unico ulteriore comando che dovrete digitare per installare il sistema di cloud computing privato sarà: sudo snap install nextcloud.

Nel video abbinato a questo tutorial ho spiegato che cosa si intende per private cloud e quali sono le sue applicazioni più comuni. Quella generalmente più nota è la possibilità di archiviazione di dati personali ed altri tipi di contenuti in remoto così da potervici accedere in qualunque momento. E nextcloud è una suite di applicazioni completamente open-source e gratuita pensata proprio per creare sistemi di file hosting ed utilizzarli accedendovi da PC, smartphone/tablet grazie a tante applicazioni compatibili. Inoltre, nextcloud offre una marea di estensioni che permettono di ampliare le sue possibilità.

Nextcloud 11 (l'ultima versione del sistema) necessita dei seguenti software per poter funzionare: Apache, PHP, MySQL, Redis e mDNS. Essi saranno tutti integrati e preconfigurati nello snap, senza perciò che voi dobbiate far nulla di più. Davvero comodo!

Una volta che l'installazione dello snap di nextcloud sarà completata, riavviate il raspberry pi 3 con il comando sudo reboot e, completato il riavvio, collegatevi con il browser del vostro PC/smartphone/tablet all'indirizzo IP assegnato al pi (es: 192.168.1.5): nextcloud verrà avviato e vi sarà richiesto di creare un nuovo utente amministratore.
La prima installazione può impiegare diverso tempo, per questo motivo è consigliato l'utilizzo di una microSD veloce (almeno classe 10). Terminata l'installazione iniziale sarete pronti a plasmare nextcloud in base alle vostre esigenze! Rimando comunque al video per una panoramica generale sul sistema.


3. collegare l'hard disk e usare nextcloud da smartphone/tablet


Vi potrà essere comodo collegare un hard disk via USB al pi 3 al fine di ampliare lo spazio di memoria disponibile su cui poter archiviare tutti i vostri file. Come dicevo poc'anzi, i pacchetti snap si interfacciano tra di essi e con il sistema operativo (e quindi anche alle eventuali periferiche collegate via USB) tramite interfacce. Per questo motivo, per far accedere lo snap di nextcloud allo storage, dovrete consentigli l'accesso ai media removibili. Il comando per far ciò è: sudo snap connect nextcloud:removable-media core:removable-media ma verificate che i nomi nextcloud e core siano effettivamente quelli presenti sulla vostra istanza (al posto di core potreste avere ubuntu-core, etc...).
Per verificare il nome delle interfacce presenti potete utilizzare il comando sudo snap interfaces che ve le elencherà tutte.

A questo punto la configurazione base del vostro cloud privato è completa e potrete modificarla direttamente da interfaccia di amministrazione di nextcloud aggiungendo/rimuovendo le app che ne estendono le funzionalità, oppure limitandovi a quelle fornite di base (upload e condivisione di file e galleria di immagini).

Il bello di nextcloud è che esistono diversi client per smartphone/tablet e mondo desktop che vi consentiranno di caricare e gestire i vostri file anche in mobilità. Per Android, iOS e Windows Mobile ci sono le applicazioni ufficiali realizzate proprio da nextcloud e scaricabili dai rispettivi store (su iOS è a pagamento, e c'è anche su f-droid per Android). Per altre piattaforme esistono client di terze parti che riescono a dialogare con il sistema, che tra l'altro supporta anche il protocollo WebDAV.


4. conclusioni e ultime note


Ci sono delle utilità a riga di comando (quindi da eseguire via SSH sul raspberry pi 3) che permettono di:
  • sudo nextcloud.occ
    accedere all'occ configuration tool
  • sudo nextcloud.mysql-client
    accedere al client mySQL, magari per migrazioni tra le varie installazioni di nextcloud
  • sudo nextcloud.mysqldump
    ottenere un dump del database di nextcloud verso lo stdout (o verso un file)
  • sudo nextcloud.enable-https
    abilitare la connessione https (per maggiori dettagli sui certificati e quant'altro vedete sudo nextcloud.enable-https -h)
  • sudo nextcloud.disable-https:
    disattivare la connessione https (non eliminando i certificati creati)

Con la configurazione fin qui completata riuscirete ad accedere a nextcloud all'interno della vostra rete domestica, il che significa che PC/smartphone/tablet e raspberry pi devono essere collegati alla stessa rete per poter comunicare.
Per dettagli e considerazioni relative all'esporre su internet il vostro raspberry pi e, in questo caso, il vostro cloud privato appena costruito, rimando nuovamente alla guida su come creare un server web in casa con il raspberry pi 3.



Bene: come indicato ad inizio guida, alcuni aspetti sono stati appositamente lasciati in secondo piano, ma se siete interessati ad approfondirli non esitate a contattarmi nei commenti di questo tutorial o del video ad esso correlato, oppure sui canali social!

Spero che la guida vi sia stata utile. Al prossimo tutorial!

Nessun commento:

Posta un commento