Sep 192010
 

WebDAV è sempre stato uno dei miei protocolli preferiti, perché consente ad un sistema di condividere file facilmente e dare all’utente il permesso di caricare file, al di là di che usarlo da Linux è sempre stata una spina nel fianco mentre su Windows funziona completamente integrato con il sistema operativo .

Cos’e’ WebDAV ?

Web-based Distributed Authoring and Versioning, normalmente abbreviato in WebDAV, si riferisce a un set di istruzioni del protocollo HTTP, che permettono all’utente di gestire in modo collaborativo dei file in un server remoto.


Questo protocollo ha lo scopo di rendere il World Wide Web un mezzo di lettura e scrittura, seguendo le linee guida dell’idea originale di Tim Berners-Lee. Offre delle funzionalità che permettono la creazione, la modifica lo spostamento di documenti situati in un server remoto (tipicamente un web server o, detto propriamente, web share). Qualità importanti che sono presenti nel protocollo WebDAV includono un sistema di blocco (ovvero protezione dalla sovrascrittura dei file), di proprietà (creazione, rimozione e richieste di informazioni riguardo l’autore, la data di modifica, etc.), gestione del dominio (possibilità di copiare e muovere pagine Web all’interno del dominio) e di collezioni (creazione, rimozione ed elencazione di risorse simili a delle directory). Molti sistemi operativi moderni hanno un supporto integrato per il protocollo WebDAV. Con il giusto client ed una rete veloce, la gestione dei file su server WebDAV è facile quasi quanto una gestione dei file in locale. Questo è pratico per la creazione di file che servono per il web server o più semplicemente per la creazione di un web-based file storage che può essere raggiungibile da qualsiasi punto.

WebDAV su Apache

La componente server di WebDAV è usualmente utilizzata assieme ad Apache, è infatti uno dei moduli standard di Apache e quindi basta semplicemente abilitarlo per una Directory o una Location con delle direttive del tipo:

[…]
Alias /webdav /var/www/web1/web
DAV On
AuthType Basic
AuthName “webdav”
AuthUserFile /var/www/web1/passwd.dav
Require valid-user

[…]

Per una guida completa guardare http://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch

Adesso vi mostrerò una serie di client che potete utilizzare per lavorare con i server WebDAV, l’uso più comune è quello di fare un mount della risorsa remota e poi lavorare in una directory come fosse una risorsa locale

GnomeNautilus2Connettersi ad un server WebDAV utilizzando Gnome e Nautilius

Per connettersi al server WebDAV utilizzando Nautilus, nel menu File scegliere Connect to Server. Nel campo Tipo di servizio selezionare WebDAV (HTTP) o Secure WebDAV (HTTPS) ed infine compilare il campo Server, eventualmente mettendo username e poi la password.

Avremo adesso una nuova directory con le risorse remote.

KDEKonquerorConnettersi ad un server WebDAV utilizzando Konqueror

Per connettersi al server WebDAV utilizzando Konqueror, digitare l’URL nel campo indirizzo di partenza con webdav:// per HTTP o che iniziano per webdavs:// per HTTP/SSL.

È inoltre possibile utilizzare Konqueror Location-> Aprire il menu Posizione.

Linea di comando

Cadaver
cadavere è un client WebDAV a riga di comando per Unix. Permette il caricamento di file, download, visualizzazione sullo schermo, le operazioni sui nomi (spostare/copiare), la creazione ed eliminazione di raccolte e le operazioni di locking.

Esempi:

cadaver http://dav.example.com/

Si collega al server myserver.example.com, aprendo la directory /

cadaver http://zope.example.com:8022/Users/fred/

Si collega al server zope.example.com usando la porta 8022, aprendo la directory “/Users/fred/”.

cadaver https://secure.example.com/

Si collega al server secure.example.com usando il protocollo SSL.

Per un esempio completo di automazione con Expect di Cadaver vi consiglio questo articolo: Using Expect and Cadaver to automate WebDAV uploads

davfs2

Monta una risorsa WebDAV come un file system regolare.
davfs2 fornisce la possibilità di accedere a risorse remote come un file system locale, consentendone l’uso da parte delle applicazioni standard, che non hanno supporto integrato per WebDAV.

davfs2 è progettato per integrarsi pienamente nella semantica dei filesystem di sistemi Unix-like (mount, umount, ecc.) davfs2 rende possibile il montaggio da parte degli utenti non privilegiati.

davfs2 utilizza meccanismi di caching per rendere il file system più responsivo, per evitare il traffico di rete non necessario e per prevenire la perdita dei dati, e per far fronte, a connessioni lente o non affidabili.

davfs2 funziona con la maggior parte dei server WebDAV , necessitando di poca o nessuna configurazione.

davfs2 è sviluppato e testato su GNU / Linux.

Esempio di configurazione per mount da utente:

Installa: con sudo aptitude install davfs2.
Riconfigurate il pacchetto visto che ha bisogno di essere utilizzato con il suid se vogliamo che i normali utenti lo possano utilizzare: sudo dpkg-reconfigure davfs2
davfs2
Dopo aver confermato il SUID, selezionare un gruppo a cui gli utenti dovranno essere iscritti per utilizzare davfs2. Esempio: “davfs2″:
davfs2-group
davfs2-infoscreen
create un mount point, cioè una directory dove il file system è “agganciato”(directory webdav in una sottodirectory della vostra home): mkdir ~/mnt/webdav

per fare una prova di mount coem root utilizzate un comando del tipo sudo mount.davfs 'http://domain.tld/davpath' /path/to/webdav

Per consentire agli utenti normali il mount si ha la necessità di modificare /etc/fstab ed aggiungere una linea come questa

http://domain.tld/davpath /path/to/webdav   davfs   user,rw,noauto   0   0

Adesso qualsiasi utente (davfs2 group) può utilizzare  mount /path/to/webdavumount /path/to/webdav

Dalla man page di davfs2:

If a proxy must be used this should be configured in /home/filomena/.davfs2/davfs2.conf
proxy proxy.mycompany.com:8080

Credentials are stored in /home/filomena/.davfs2/secrets
proxy.mycompany.com filomena “my secret”
http://webdav.org/dav webdav-username password

Riferimenti: http://sysblogd.wordpress.com/2007/09/09/ubuntu-mounting-remote-filesystem-using-davfs2-fuse/

Popular Posts:

Flattr this!

  One Response to “WebDAV su Linux”

  1. Hello, this is exactly what i need! I am using Gnome Nautilus. U type there to put username and password if needed.
    There is no field with password. SO i got the message access was denied.
    To understand, the webDav is provided by an exernal, so i only have servername, port, username and password.

Leave a Reply to Tom Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*