Il nostro target è una distribuzione Debian 7.0 Wheezy. Sulla nostra distribuzione installeremo:
Per instalarli daremo da root il comando:
apt-get install apache2 mysql-server phpmyadmin
Dato che esiste un paccchetto Debian per la nostra distribuzione, tutti gli altri pacchetti necessari verranno installati in automatico quando selezioneremo il pacchetto di OwnCloud
Per installare la versione stabile possiamo utilizzare le istruzioni ed il pacchetto che troviamo a Installa pacchetto isv:ownCloud:community / owncloud, dove selezioneremo la distrubuszione Debian.
Le istruzioni riportano i seguenti comandi:
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key
apt-key add - < Release.key
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud
Per installare la versione testing possiamo utilizzare le istruzioni ed il pacchetto che troviamo a Installa pacchetto isv:ownCloud:community:testing / owncloud, dove selezioneremo la distrubuszione Debian.
Le istruzioni riportano i seguenti comandi:
wget http://download.opensuse.org/repositories/isv:ownCloud:community:testing/Debian_7.0/Release.key
apt-key add - < Release.key
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community:/testing/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud
Mysql è già istallato nel nostro sistema (l'abbiamo fatto nel primo passo).
Dovremo ora creare un database ed un utente per OwnCloud. Ad esempio creeremo il dabatabase owncloud ed un utente owncloud con tutti i diritti sul database owncloud dall'host localhost
Avendo installato phpmyadmin possiamo creare l'utente ownlcoud collegandoci come root a phpmyadmin, scegliendo la scheda Privilegi e cllocando su Aggiungi un nuovo utente.
Viene aperto il pannello del nuovo utente.
Nel pannello Informazioni di Login compileremo il nome e la password (ripetendola due volte) e selezioneremo Locale nel campo Host:.
Nel pannello Database per l'utente selezioneremo Crea un database con lo stesso nome e concedi tutti i privilegi e cliccheremo su Crea Utente
Il database oncloud è pronto ed è accessibile dall'utente owncloud con la password scelta. Possiamo connetterci al nostro owncloud, che risiederà nella directory owncloud del nostro server. Non avendo ancora configurato il serve https, lo troveremo nella posizione di default, http://<ip_del_mio_server>/ownloud/
Ci viene presentata la schermata di prima configurazione di OwnCloud. L'utente e la password che digiteremo qui (
attenzione che non viene chiesta come al solito due volte, quindi se sbagliate vi tagliate fuori) sono l'utente amminstratore e la relativa password.
Per semplicicà ho scelto
root
, ma voi sceglierete qualcosa di più ragionevole.Prima di confermare, se non vogliamo utilizzare sqlite ma mysql, dovremo cliccare sulla freccetta di Avanzat. Selezioneremo MySQL
Inseriremo ora i dati del databese e dell'utente che abbiamo creato. Dato che il database è sulla stessa macchina di ownCloud, indicheremo localhost per 'host del db. Potremo ora cliccare su Termina la configurazione
In pochi secondi verremo collegati alla pagine iniziale dell'utente amministratore, dal quale potremo creare utenti e gruppi.
Se vogliamo pubblicare ilnostro OwnCloud su Internet, rendendo accessibile il nostro server di casa tramite il router oppure utilizzando un virtual server in rete, è opportuno, per garantire la nostra privacy, utilizzare un server HTTPS.
A meno che non si possieda un certificato firmato da una società di cetrtifcazione conosciuta dai browser, ci dovremo creare il nostro certificato autofirmato.
Con questo certificato potremo collegarci senza problemi sia dal browser Web (sia da PC che da Android) che sincronizzare il nostro calendario e la nostra agenda con IceDove ed IceOwl, ma avremo problemi a sincronizzarci con Android, dovremo importare in Android il certificato [1], che deve essere fatto in maniera corretta.
Il certtificato deve contenere il nome del sito per cui è generato, quindi ci dovremo preoccupare di ottenere un nome DNS per la nostra linea ADSL, utilizzando un servizio di DNS dinamico[2].
Fatte molte prove, i migliori risultati li ho ottenuti producendo l'ìintera catena di certificate, seguendo il tutorial in nota[3], che qui riassumo.
Per prima cosa dovremo scegliere una passphrase. Per comodità la indichero MiaPassPhrase
Creeremo una directory per i nostri certificati e ci entreremo. Una volta entrati in questa directory creeremo le directory necessarie per la nostra CA ed i file di servizio necessari con i seguenti comandi:
mkdir CA; cd CA; chmod 700 .
mkdir certs crl newcerts private; echo "01" > serial; touch index.txt
ln -s ../CA demoCA
Potremo ora lanciare il comando per creare la CA con la relativa chiave, con scadenza tra dieci anni:
openssl req -nodes -new -days 3650 -x509 -keyout private/cakey.pem -out cacert.pem
Vediamo ora il dialogo e le risposte da dare per creare la CA.
I dati che userò sono:
Il dialogo è il seguente, con le ripsote in grassetto
Country Name (2 letter code) [AU]:IT
State or Province Name (full name) [Some-State]:Mantova
Locality Name (eg, city) []:Mantova
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ing. Stefano SALVI
Organizational Unit Name (eg, section) []:SSL Certs
Common Name (e.g. server FQDN or YOUR name) []:salvi.linux.org
Email Address []:stefano@salvi.mn.it
Creeremo ora il certificato della CA necessario per segnare i certificati dei siti e la richiesta del cettoficato:
openssl req -nodes -new -x509 -keyout server.key -out server.ucrt
Dovremo inserire i dati del sito che vogliamo proteggere. Utilizzeremo gli stessi dati della CA:
Country Name (2 letter code) [AU]:IT
State or Province Name (full name) [Some-State]:Mantova
Locality Name (eg, city) []:Mantova
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ing. Stefano SALVI
Organizational Unit Name (eg, section) []:SSL Cert
Common Name (e.g. server FQDN or YOUR name) []:salvi.linux.org
Email Address []:stefano@salvi.mn.it
Ora, con la richiesta, possiamo segnare la richiesta di certificato e con essa creare ll certificato per il nostro server:
openssl x509 -x509toreq -in server.ucrt -signkey server.key -out server.csr
openssl ca -policy policy_anything -days 3650 -out server.crt -infiles server.csr
Otterremo i seguenti file, necessari per il sito:
Per semplificare l'installa zione in Apache, trasformeremo la CA da .pem a .crt[4]
openssl x509 -in cacert.pem -out cacert.crt
Per le prossime operazioni dovremo essere loggati come root. Potemo ad esempoi scrivere nel nostro terminale:
su
ed inserire la password di root.
Creeremo ora nella directory di configurazione di Apache la directory per i nostri certificati, e ce li copieremo dentro:
mkdir -p /etc/apache2/ssl/01; cp cacert.crt server.crt server.key /etc/apache2/ssl/01
Dovremo ora modificare il file di configurazione del sito. Ad esempio la configurazione di default del server https:
vi /etc/apache2/sites-available/default-public-ssl
aggiungendo:
SSLCertificateKeyFile /etc/apache2/ssl/01/server.key SSLCertificateFile /etc/apache2/ssl/01/server.crt
Dovremo essere certi di aver abilitato il modulo ssl ed il sito default-ssl:
a2enmod ssl
a2ensite default-ssl
Ed alla fine riavvieremo il server:
/etc/init.d/apache2 restart
Oppure:
service apache2 restart
Per traspostare su Android il certificato la cosa più semplice è passare dal browser IceWeasel.
Dovremo collegarci al nostro OwnCloud protetto e selezionare Strumenti->Informazioni sulla pagina
Nel pannello delle informazioni selezioneremo la scheda Sicurezza e cliccheremo su Visualizza certificato
Nella finestra del certificato selezioneremo il pannello Dettagli, selezioneremo l'ultimo certificato della catena, quello del sito e cliccheremo su Esporta
Nella finestra di salvataggio selezioneremo Catena di certificati X.509 (PEM) e cliccheremo su Salva. Come cartella ho scelto Certificati sulla Scrivania.
Ora il nostro certificato è stato esportato ma non ha il formato corretto. Dovremo quindi spostarcui nella cartella e convertirlo con i comandi:
cd ~/Scrivania/Certificati
openssl x509 -inform PEM -outform DM -in salvi.linux.org -out salvi.linux.org.crt
Dove salvi.linux.org è il nome con cui ho salvato il certificato.
Potremo ora spostare il nostro certificato sul telefono estraendo la SD e copiandocelo dentro, oppure collegando il telefono tramite il cavo USB, selezionando sul telefono di mostrarsi come unità di memorizzazione e copiandolo nel telefono montato
Per prima cosa dovrete trasferire il certificato (nell'esempio salvi.linux.org.crt) appena convertito sul telefono o tablet, nel modo che preferite. Potete copiarlo sula microsim, dopo averla tolta da ltelefono ed inderita nel PC. Potete connettere il dispositivo con il cavo USB, abilitare il montaggio come pendrive e copiare così il file. Potete utilizzare file manager che scambiano file in rete come Astro File Manager o altri.
A questo punto dovremo entrare nelle impostazioni e selezionare sicurezza
Le schermate che seguono sono stte fatte con l'emulatore Android ed un'immagine 4.0.3 Ice Cream Sandwitch. Potrebbero differere da altre versione del sistema e da altri dispositivi
Ci prteremo verso il fondo della lista di pozioni e fatemo tap su installa certificati da scheda SD
Se non abbiamo un sistema di autentica all'entrata, il sistema ci chiede di installarne uno ora
In genere in questo caso io seleziono sequenza che mi consente di impostare una gesture di sblocco, che è la cosa più veloce
Mi viene psiegato comen impostare una sequenza. Faccio tap su Avanti
Per proseguire devo scegliere una sequenza
Una volta scelta la sequenza posso fare TAP su Continua
Devo ripetere la sequenza, quindi posso fare TAP su Conferma
Ora che ho impostato la sequenza di sblocco, mi viene proposto l'unico certificato che ho copiato nella scheda SD. Lo imporro con Ok
Ora che il certificato è installatpo, posso tranquillamente accedere la sito protetto di OwnCloud. In particolare posso accedervi dall'app di sincronizzazione.
Occorre notare che il certificato installato non è più presente sulla SD.
Per installare f-droid, che è un market alternativo a Google Play, occorre per prima cosa abilitare le sorgenti alternative per il caricamento delle App.
Sempre nel pannello sicurezza delle impostazioni selezioneremo Origini Sconosciute
Dovremo ora trovare f-droid, collegandoci al sito https://f-droid.org/ e cliccando sul link here per scaricare l'app. Altrimenti, se abbiamo installato un'APP per la gestione dei QR-Code, possiamo scattare il QR-Code nell'immagine qui sotto:
Una volta scaricata l'app, potremo aprire il pannello superiore facendo swipe verso il basso sulla barra di notifica e cliccare sulla riga di f-droid scaricato:
Parte l'installazione, quindi ci viene fatta la domanda sui diritti che l'app richiede. Confermieremo facendo TAP su Installa
Parte l'installazione. Attendiamo
Al termine compare il messaggio di successo, con l'opzione di terminare o avviare l'APP installata. Avvieremo f-droid facendo TAP su Apri
F-Dorid si avvia ed, essendo la prima volta, carica la lista delle app disponibli. Attendiamo
Una volta caricata la lista, verifica quali app sono compatibili con il nostro sistema operativo/dispositivo. Attendiamo
A questo punto f-droid è pronto e quindi possiamo passare ad installare DAVdroid.
Dobbiamo ora trovare ed installare DAVdroid. Lo cerchimo facendo TAP sulla lente d'ingrandimento
Scriveremo DAVdroid nella barra di ricerca e faremo TAP su Vai
La ricerca trova soilamente l'app che ci interessa. Faremo TAP su di questa, per poterla installare.
A questo punto ci viene proposto l'elenco delle versioni disponibili. Faremo TAP sulla più recente.
Si avvia lo scaricamento. Attendiamo
Alla fine dello scaricamento, ci verrà richiesto di accettare i permessi che DAVdroid richiede. Faremo TAP su Installa
Parte l'installazione. Attendiamo
Al termine dell'installazioen ci viene chiesto come al solito se terminare o avviare DAVdroid. Faremo TAP su Apri
Prima di configurare al sincronizzazione dovremo procurarci:
Proabilmente avremo creato un utente diverso dall'amministratore, con il quale sincronizzare agenda e calendario. Teniamo a portata di mano nome utente e password di questo utente.
Per quanto riguarda l'URL del calendario, ha la seguente forma:
https://<nome del sito>/owncloud/remote.php/caldav/calendars/<nome_utente>/
Usando l'utente Stefano del sito creato in questo esempio, avremo l'URL:
https://salvi.linux.org/owncloud/remote.php/caldav/calendars/Stefano/
Per verificare l'insirizzo, lo scriveremo nel browser. Ci verranno chiesti nome utente e password. Vedremo l'indice dei calendari:
Passiamo ora all'insirizzo della rubrica. Ha la seguente forma:
https://<nome del sito>/owncloud/remote.php/carddav/addressbooks/<nome_utente>/
Sempre usando i dati del nostro esempio:
https://salvi.linux.org/owncloud/remote.php/carddav/addressbooks/Stefano/
Ancora, per verificare l'insirizzo, lo scriveremo nel browser. Non ci verranno chiesti nome utente e password perché li abbiamo appena inseriti. Vedremo l'indice dei contatti:
Faccio TAP sull'icona di aggiunta account che mi manda ad AGGIUNGI ACCOUNT di Account e sincrinizzazione delle Impostazioni
Ora selezioneremo il tipo di account, facendo TAP su DAVdroid
Compileremo la videata con l'URL del calendario verificato prima, il nome utente e la password, quindi faremo TAP sulla freccia a destra per proseguire
DAVdroid si collega al nostro OwnCloud e controlla che la connessione funzioni. Attendiamo.
Dovremo ora scegliere i calendari da sincronizzare. OwnCloud ne crea due di default. Selezioneremo il primo e scrolleremo la videata
Selezioneremo anche il secondo calendario e faremo TAP sulla freccia a destra per continuare
Ora dovremo dare un nome all'account. Il nome verrà utilizzato per inviare inviti agli eventi, quindi dovrà essere il nostro indirizzo di posta valido. Una volta finito faremo TAP sul segno di spunta per terminare
L'account del calendario è pronto. Siamo tornati all'elenco dgli account che mostra il nostro nuovo account. Facciamo TAP su AGGIUNGI ACCOUNT per aggiungere anche l'account dei contatti
Ci viene presentata la lista dei tipi di account. Faremo TAP su DAVdroid
Compileremo la videata questa volta con l'URL decontatti verificato prima, il nome utente e la password, quindi faremo TAP sulla freccia a destra per proseguire
Ancora viene verificato l'account. Attendiamo
La prossima schermata contiene l'unica lista di contatti disponibile. La selezioniamo e facciamo TAP sulla feccia a destra per proseguire
Per terminare dovremo inserire un nome per l'account, che è meglio non sia la nostra mail, per non confonderlo con quello dl calendario. Facciamo TAP poi sul segno di spunta ed abbiamo terminato.
Abbiamo terminato e di fatti vediamo entrambi gli account nella lista. Se non abbiamo disabilitato la sincronizzazione autmatica, i due account si staranno sincronizzando.
IceDove è la versione installata in Debian di Thunderbird. IceOwl il suo calendario.
Sul nostro sistema, per proseguire, dovremo ovviamente aver installato sia IceDove che IceOwl, che sono pacchetti opzionali in Debian. Vanno bene i pacchetti standard distribuiti con la Debian 7.0 Wheezy
IceOwl è già in grado di sincronizzarsi con una sorgenre CalDAV.
Per prima cosa per configurare la sincronizzazione dobbiamo aprire la finestra del calendario, cliccando sull'icona a destra.
Quindi clicchiamo con il tasto destro sull'elenco dei calendari e scegliamo New Calendar... dal menù contestuale
Selezioniamo On The Network e clicchiamo su Next
Selezioniamo CalDAV, inseriamo il solito URL del calendario, eventualmente selezioniamo Offline Support e clicchiamo su Next
Diamo un nome al calendario e scegliamo un colore per gli eventi
Ora scegliamo la mail associata per l'invito agli eventi e clccihiamo su Next
Ci viene chiesto di inserire il nome utente e la password, dopo di che cliccheremo Ok
Il calendario è associato, ma ha un segno di allarme sulla destra, perché non è ancora aggiornato.
Per aggiornarlo ora, cliccheemo con il tasto destro sul nome del calendario e scieglieremo Synchronize Calendars. Il segno di allarme scomparirà.
La versione di Icedove (la variante Debian di Thunderbird) installata in wheezy è la 24.6.0. La versione da installare del connector è quindi la 24.0.5.
I plugin di SOGo sono disponibili alla pagina Frontends. Il plugin che ci interessa è “SOGo Connector Thunderbird extension”
Se ci limitiamo a cliccare sul link IceWeasel riconoscerà il formato e cercherà di installare il file.
Dato che questa estensione è destinata a Thunderbird, l'installazione fallirà. Dobiamo invece scaricare il
file cliccando con il tasto destro sul link e scegliendo Salva destinazione con nome....
Sceglieremo un posto comodo dove salvare il file, ad esempio
sul desktop. Lo potremo cancellare alla fine del lavoro.
Dobbiamo ora installare in IceDove l'estensione. Apriamo il pannello Componenti Aggiuntivi
Possiamo ora caricare l'estenzione dal file che abbiamo appena salvaro
Apriamo ora il file dell'estensione appena scaricato
Ci viene chiesta conferma dell'installazione di SOGo Connector che, essendo installato dalla macchina e non da un sito conoscuito, non viene considerato sicuro
Ora il componente risulta installato. Per poter creare la nostra nuova rubrica dovremo riavviare IceDove
Possiamo ora aprire la rubrica per aggiungere la nostra rubrica remota
Creiamo ora la rubrica remota, connessa al nostro OwnCloud
A questo punto ci serve l'indirizzo da inserire per la rubrica remota. Apriamo nel browser la rubrica di OwnCloud e clicchiamo sull'icona degli strumenti:
Nel pannello degli strumenti c'è anche l'icona che mostra l'indirizzo della rubrica da utilizzare in IceDove. Lo clicchiamo
Ora possiamo copiare l'indirizzo della rubrica che ci viene proposto da OwnCloud
Ora incolliamo l'indirizzo della rubrica, copiato da OwnCloud. Diamo anche un nome alla rubrica (io ho dato OwnCloud)
Abilitiamo la sincronizzazione periodica della rubrica e confermiamo la creazione:
Manca un ultimo passo: la configurazione delle preferenze globali della rubrica.
IceDove per defaut salva gli indirizzi delle mail che inviamo nella rubrica degli Indirizzi Collezionati.
Lo configuriamo invece per immagazzinarli su OwnCloud
Confermiamo ora la configurazione
Ora che la nostra rubrica su OwnCloud è configurata, possiamo sincronizarla. Non ci verranno richiesti il nome utente e la password in quanto li abbiamo già inseriti in IceOwl quando abbiamo sincronizzato la nostra agenda
Una volta attivata la sincronizzazione, potremo vedere l'avanzamento dello scaricamento dei contatti nella barra in basso della finestra della rubrica
Per prima cosa occorre caricare il file con il calendario (di tipo Calendario ICS/VCS) in Owncloud trascinandolo dalla finestra in cui lo abbiamo caricato alla finestra del browser, nella visualizzazione file
Quindi dovremo cliccare sul file
Si apre una finestrella che ci chiede di selezionare un calendario in cui importare il file. SOLO SE È LA PRIMA VOLTA selezioneremo Rimuovi tutti gli eventi del calendario selezionato, altrimenti cancelleremmo tutti gli eventi già presenti nel calendario. Per finire clicchiamo su Importa.
Appare una finestra con una barra blu che cresce e l'indicazione degli eventi importati, ed alla fine cmpare un bottone Chiudi la finestra di dialogo, che cliccheremo
Se il file contiene eventi già presenti nel calendario, questi non vengono duplicati, ma se mai modificati, quindi possiamo senza problemi importare calendari anche già parzialmente caricati.
Il codice di importazione è abbastanza restrittivo. Se viene incontrato un evento che non corrisponda esattamente al formato atteso la barra rimane vuota e non compare mail il bottone per chiudere. Alcuni eventi potrebbero comunque essere stati importati.
Purtroppo non vine viusalizzato alcun messaggio di errore che ci aiuti in qualche modo.
In questo caso occorre cercare di troncare il file in parti da importare separatamente, fino a che non si riesce ad isolare l'evento o gli eventi che creano problemi.
Per prima cosa ci portiamo nella pagina dei contatti, cliccando sull'apposita icona
Nella finestra dei contatti clcchiamo sull'icona dell'ingranaggio per aprire gli strumenti
Tra gli strumenti c'è l'importazione. Clicchiamo sulla freccia verso l'alto per avviare l'importazione
Ci viene chiesto di selezionare il file da importare tramite una finestra di dialogo. In alternativa possiamo trascinarlo nell'area sotto la scritta importazione>
Nell'area degli strumenti adesso compare la barra dei contatti importati.
Alla fine, nel pannello di destra compare l'elenco dei contatti presenti. Anche in questo caso, se ci sono dei contatti con delle anomalie nel file, l'importazione si blocca senza dare messaggi di errore. Valgono le stesse considerazioni dell'importazione del calendario.