User Tools

Site Tools


cn:ccr:cloud:cloudstorage:owncloud:su_owncloud_v4_--_gennaio_2013

ownCloud v4 ai LNGS, gennaio 2013

Owncloud (www.owncloud.org) è un software per il cloud storage scritto in php e javascript che si appoggia su apache e mysql. Fornisce agli utenti un'area di storage accessibile via web browser attraverso un'interfaccia agile, semplice e molto user-friendly. Si ispira dichiaratamente a dropbox.

Feature principali

operazioni di upload, download, creazione, spostamento (in una app di terze parti) ed eliminazione di file e directory app per la modifica di file di testo, la creazione automatica di gallerie di immagini e di playlist di file audio, media player, visualizzazione di pdf e documenti odf app per calendari, task manager, bookmark manager, address books,…. non ci ho guardato perchè al momento non mi interessano. Per quanto riguarda l'accesso ai file ci sono delle feature più avanzate, spesso molto interessanti:

mantiene un numero definibile di versioni di ogni file se il file non eccede una certa dimensione (configurabile). In ogni momento è possibile ritornare ad una versione passata senza per questo eliminare quelle successive. permette la condivisione di uno o piu' file attraverso delle URL che possono essere protette con una password dedicata. E` possibile definire, per ogni condivisione, una validita` temporale. permette di condividere file o cartelle con altri utenti o gruppi di utenti, E` possibile definire quale tipo di accesso (ro, rw) gli altri utenti/gruppi hanno su file/cartelle condivise. permette di sincronizzare delle cartelle col proprio PC/laptop. L'ultima versione del sync client (http://dragotin.wordpress.com/2013/01/25/owncloud-sync-client-1-2-0-final/), appena rilasciata, sembra finalmente funzionare in maniera soddisfacente. La versione precedente era estremamente lenta ed inaffidabile su client linux e, leggendo in rete, anche su client windows e macosx (ma sul mio portatile ubuntu 10.04 il client fallisce con “segmentation fault”). permette all'utente di visualizzare non solo i contenuti della sua “home” owncloud ma anche di altre aree di storage (ro o rw). Queste aree di storage possono essere viste dal server owncloud (es. afs, nfs, glusterfs,….) e rese disponibili dall'amministratore a singoli utenti o a gruppi di utenti o possono essere aree Amazon S3, Dropbox, FTP, Google Drive, OpenStack Swift, SMB, WebDAV ed essere “montate” anche dall'utente stesso. permette di definire, per ogni utente, la massima quota di spazio disco usufruibile (vedi commento qui sotto) La capacità di presentare all'utente in maniera trasparente dati accessibili attraverso i protocolli più disparati è secondo me una delle caratteristiche più interessanti di owncloud ma è anche la feature che sembra funzionare meno bene. La filosofia degli sviluppatori sembra essere: prima rilasciamo le feature, poi vediamo se funzionano. La speranza è che la nuova major release (la versione 5), attesa a giorni (in teoria…) risolva questo e molti altri problemi. Nella versione 4.5.5, quella che ho visto meglio e che sto usando, abilitare l'“external storage support” causa l'impazzimento totale del meccanismo di quota utente, che ho dovuto disabilitare mio malgrado.

Backend di autenticazione

Owncloud permette l'autenticazione ad utenti locali (su mysql), attraverso ldap, attraverso pam, con openid, …

Non mi ricordo bene il problema e forse non l'ho capito fino in fondo, sta di fatto che non sono riuscito a fare in modo che ldap delegasse l'autenticazione a kerberos come faccio con molte altre applicazioni web per integrarle nel sistema LNGS. Conto di lavorare su questo nei prossimi giorni e dare un update della situazione.

Dopo lungo combattere sono riuscito ad ottenere che l'autenticazione/autorizzazione sia fatta su ldaps e che il server ldap deleghi l'autenticazione a kerberos. 29 gennaio 2013 La autenticazione attraverso pam permette in qualche modo di appoggiarsi ad un backend ldap + kerberos ma anche li il codice è una mezza schifezza. Usando questo backend di autenticazione le funzioni di autocompletamento delle username dell'interfaccia utente (es. quando si vuole condividere un file) diventavano lente in maniera impossibile e bloccavano la sessione client. Ho dovuto riscriverle, mettendo schifezze sopra schifezze. Inoltre il modulo di autenticazione con pam non gestisce i gruppi che devono così essere gestiti nella modalità nativa, su mysql. Anche questo è un limite da superare.

Customizzazione LNGS

Per le esigenze dei LNGS, e per ovviare ad alcuni bug macroscopici, ho apportato alcune modifiche al codice:

Ho disabilitato il versioning dei file presenti su storage esterno (“external storage”). Ovviamente il versioning non ha senso se i file possono esseremodificati da altre applicazioni. Sarebbe interessante poter decidere di abilitarlo o meno per ogni area di storage. Questa feature sembra gia` essere nella roadmap di Owncloud. Se si spostava una directory (la funzione di move di file e directory è data da una app di terze parti) contenente dei file con più versioni, lo spostamento faceva “perdere traccia” delle versioni vecchie dei file (bug riconosciuto dagli sviluppatori). Ho risolto questo bug. Ho disabilitato l'opzione di cancellare tutte le versioni vecchie di tutti i file da parte di un utente perchè non funzionante (bug riconosciuto dagli sviluppatori). Ho inibito agli utenti la possibilità di cambiare la password perchè non avrebbe funzionato con le password kerberos dei LNGS, a meno di non riscrivere completamente la funzione. Ho nascosto alla navigazione i file nascosti (quelli che cominciano per .). Non si troveranno solitamente nella “home” owncloud di una persona ma potrebbero trovarsi all'interno di mount point esterni.

Stato attuale ai LNGS

Ai LNGS owncloud è in fase di pre-produzione e probabilmente andrà in produzione, inizialmente per un numero limitato di utenti, a breve. Gli utenti che lo stanno testando sono soddisfatti e contano di continuare ad usarlo.

Conclusioni

Owncloud è un software molto interessante, ricco di possibilità, con un interfaccia utente molto accattivante e che probabilmente risponde alle esigenze di una fetta importante di utenti.

E` possibile apportarvi modifiche abbastanza facilmente e sembra andare incontro ad uno sviluppo molto rapido.

Il vantaggio rispetto a dropbox/garrbox è che i dati rimangono all'interno dell'ente proprietario e che è possibile estenderne l'uso anche a dati di esperimento e ad altri tipi di documenti legati più al progetto che alla persona per i quali il web storage rappresenta solo una delle interfacce di accesso.

Allo stato attuale, vista l'immaturità di una parte consistente del codice, la sua adozione all'interno di un ambiente di produzione rischia di essere impegnativa e difficilmente sostenibile, a meno di non avere un forte interesse nel seguire e nel contribuire alla maturazione di owncloud segnalando bug e proponendo patch e feature.

Se vi fosse un interesse generalizzato da parte dell'ente e non vi fossero altri prodotti, più maturi, con caratteristiche simili, potrebbe essere sensato trovare il modo di dare un contributo al suo sviluppo.

cn/ccr/cloud/cloudstorage/owncloud/su_owncloud_v4_--_gennaio_2013.txt · Last modified: 2013/06/07 10:00 by stalio@infn.it

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki