venerdì 3 aprile 2015

Lubit & Cloud

Salve, 
iniziamo con una domanda:

Chi di voi usa, o ha usato almeno una volta, il famoso Dropbox, oppure Box.net, Google drive, skyDrive, solo per citare alcuni tra i più famosi?


Sicuramente molti! 


I servizi di archiviazione cloud disponibili in rete sono ormai davvero tanti e molto utili, alcuni sono anche gratuiti sebbene con dei limiti.
Questi servizi ci permettono, come è noto, di conservare i nostri files in servers remoti, sicuri e veloci ma non di nostra proprietà e con dei limiti di capacità e personalizzazione, almeno nelle versioni gratuite.
A volte, come nel mio caso, capita di utilizzare più servizi avendo così i files sparsi nei vari cloud.
Come fare quindi per avere una soluzione analoga a quelle commerciali, che sia di nostra proprietà dove possiamo implementare tutte le funzionalità che ci servono e magari che faccia anche da aggregatore dei files che abbiamo sparsi in giro nei vari cloud?
Beh, una valida risposta per creare un nostro cloud privato è il software open source OwnCloud.
In questo articolo vedremo come installarlo e configurarlo partendo da zero con solo un sistema linux, naturalmente Lubit :).
La scelta di Lubit linux si addice molto bene al lavoro che andiamo a realizzare perché è un sistema operativo molto leggero , veloce e che necessita di poche risorse di sistema. 

Pronti? Iniziamo! 

Prepariamo l'ambiente server

Owncloud è un applicativo web, funziona quindi come un sito web.
Per quanto riguarda la gestione degli archivi si può scegliere, in fase di installazione, di utilizzare Sqlite, strumento più leggero ma poco adatto a un uso intensivo, oppure si può usare mysql o postgresql.
Per realizzare il nostro cloud personale utilizzeremo il più robusto e affidabile mysql che ci consente di avere una soluzione più adatta anche all' uso da parte molti utenti.
Come primo passo andiamo ad installare il server web apache2, il supporto per php e mysql, per fare ciò con lubit procediamo da riga di comando digitando nel terminale:
 
aggiorniamo il sistema



sudo apt-get update 
sudo apt-get upgrade

installiamo  l’ambiente LAMP


sudo tasksel install lamp-server


ci viene chiesta la password per l’utente root di mysql , la digitiamo , e l’installazione viene completata. (consiglio di annotare la password, servirà più avanti)
A questo punto abbiamo tutto quello che ci serve per poter proseguire con l’installazione di OwnCloud.

Installiamo OwnCloud

 Da terminale digitiamo:

per scaricare  le chiavi: 
 


wget http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.10/Release.key


sudo apt-key add - < Release.key

fatto questo aggiungiuamo il repo ufficiale al source.list e aggiorniamo:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.10/ /' >> /etc/apt/sources.list.d/owncloud.list"


sudo apt-key add - < Release.key


sudo apt-get update
a questo punto procediamo con l’installazione digitando

sudo apt-get install owncloud

Creiamo il database

Come dicevo all’ inizio abbiamo scelto di usare mysql, quindi dobbiamo creare un database riservato a owncloud.

Da terminale digitiamo:

mysql -u root -p


digitiamo la password di root che abbiamo inserito al momento dell’ installazione.

A questo punto ci troviamo nel prompt di mysql, digitiamo:

create database daticloud;


Creiamo l’utente per il database e diamogli i  privilegi:

grant all privileges on daticloud.* to 'utente'@'localhost' identified by 'password' with grant option;


dove al posto di utente scriviamo il nome utente e in password la password per l’utente creato.

digitiamo quit per uscire da mysql.
Ok adesso siamo pronti ad usare il nostro cloud personale? beh si, ma c’è da tener presente che tutti i dati gestiti dal nostro sistema , fino ad ora, vengono trasmessi “in chiaro” e quindi potrebbero essere intercettati.

Per ovviare al problema procediamo  ad installare il supporto alla cifratura ssl.

Un pò di sicurezza! 

Sempre da terminale digitiamo:

sudo apt-get install openssl
sudo a2enmod ssl
sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/owncloud.key -out /etc/apache2/ssl/owncloud.crt

a questo punto il sistema genera il certificato e le chiavi ssl , per fare questo ci richede delle informazioni.

Riassumendo i campi richiesti (e le risposte suggerite) sono:

Country Name ( IT);
State (Italia);
Locality Name (possiamo lasciare vuoto);
Organization Name (un nome qualsiasi);
Organization Unit Name (lasciamo vuoto);
Common Name (IP pubblico, il nostro dominio dinamico o l’indirizzo web del server);
email (possiamo lasciare vuoto).

ora abilitiamo i certificati appena creati digitando:

sudo leafpad /etc/apache2/sites-available/default-ssl.conf


 modifichiamo le voci come segue:

ServerName (IP-pubblico digitato in Common Name)
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/owncloud.crt
SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key

Se alcune di queste voci non vengono trovate si può tranquillamente digitarle in uno spazio vuoto .

Salviamo il file di configurazione e da terminale digitiamo:


sudo a2ensite default-ssl
sudo service apache2 restart

Finalmente ci siamo.
Adesso siamo pronti per il  primo accesso al nostro cloud e al wizard di configurazione.

Da web browser andiamo all’ indirizzo:

https://localhost/owncloud

Il browser ci avvertirà che il stiamo facendo accesso ad un sito cifrato, clicchiamo su “sono consapevole dei rischi”, poi “aggiungi eccezione”
 



 

seguito da “acquisisci certificati” e “conferma eccezione di sicurezza” . 



Ecco che ci appare la schermata di configurazione di OwnCloud !!!
 


compiliamo il form con i dati richiesti:

nome utente  e  password

clicchiamo su Storage & database quindi scegliamo mysql e nei campi a seguire digitiamo l’utente creato per il database e la sua password,
il nome del database “daticloud” e lasciamo inalterato localhost.



Confermiamo e, se tutto è andato per il verso giusto, in pochi secondi ci troveremo il nostro server cloud perfettamente funzionante.

Per ultimo attiviamo la forzatura del protocollo https  andando nel menu in alto a destra (sul nostro nome utente) e scegliendo “Admin”  spuntiamo la voce “Forza HTTPS”.

Finito! 

Resterebbe da configurare le porte del nostro router per poter accedere al sistema da remoto ma questa è un'altra storia ;)
 
Saluti.

3 commenti:

  1. Si e' vero, per quanto riguarda la sicurezza si puo' fare anche di meglio, ma per lo scopo dell'articolo tutto sommato credo possa andar bene;) cmq grazie per il suggerimento e per l'apprezzamento.

    RispondiElimina
  2. Funziona anche con il raspberrry b+? Ne avevo configurato uno ma adesso non si apre da remoto e lo volevo reinstallare, posso seguire questa guida?
    Grazie

    RispondiElimina
    Risposte
    1. Carissimo Giovanni, giro la domanda a Giuseppe, autore dell'articolo :)

      Elimina