WebDav è un estensione del protocollo http che permette l'esposizione di un filesystem tramite i normali servizi web ... ma anche qualcosa di più . Permette infatti di avere notifiche riguardo alla modifica di un documento o la sua cancellazione e, opportunamente configurato, può fare versioning e salvare i documenti su un database piuttosto che sul filesystem del server.
Per ulteriori informazioni, vi rimando all' http://www.ietf.org/rfc/rfc2518.txt" target="_blank">RFC che spiega tutto quello che ci si può fare .
Qualcuno noterà che le funzionalità sono molto simili a un famoso prodotto a pagamento di una grossa società di Redmond : il fatto è che questa società ha implementato il protocollo descritto nell'rfc e ha aggiunto alcune finzionalità proprie per rendere più semplice la gestione di alcuni suoi software ( come la suite PIM o alcune funzionalità del suo pacchetto di ufficio ) .
Questo non ci fà che piacere perchè potrete gestire, anche se in maniera limitata, anche macchine che utilizzano queste suites senza dover installare software aggiuntivo
Lo scopo di questa guida è aiutarvi a installare e configurare il modulo di apache2, a restringerne l'accesso , e a esporre questi servizi tramite ssl .
Innanzitutto vi serve apache :
Fin quì niente di doloroso; ora installate openssl e sslcert
Il modulo mod_dav non esiste come pacchetto separato ed è installato in automatico quando installate apache .
Adesso, per questo esempio, creeremo un server virtuale in cui abiliteremo il modulo dav, ssl e abiliteremo l'autenticazione utente.
Creazione del certificato
Su etch quello script non esiste . Se questo è il vostro caso ( come il mio ) seguite questi passi :
#openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
#chmod 600 /etc/apache2/ssl/apache.pem
Attivazione del modulo
Adesso dovete dire ad apache di ascoltare anche sulla porta ssl :
Configurazione dell'host per ssl
In generale, dovrete aggiungere al file di configurazione dell'host , due righe :
SSLCertificateFile /etc/apache2/ssl/apache.pem
Vedremo, in seguito, un esempio concreto .
Abilitazione WebDav
A questo punto bisogna attivare il servizio sull'host .
in generale, si deve aggiungere la seguente riga :
Restrizione dell'accesso
In questa guida si prende in considerazione solo l'autenticazione Basic; apache ne mette a disposizione moltre alte. Vi invito caldamente a leggervi le guide dell'apache foundation per scoprire quali altri tipi di autenticazione avete a disposizione .
Innanzitutto bidogna creare il file degli utenti/passwords :
poi, per ogni utente a cui vogliamo dare l'accesso :
Bisogna poi dire all'host di controllare l'identità di chi richiede l'accesso usando il nostro file. Nel file di configurazione dell'host inserite
AuthName "webdav-example"
AuthUserFile >
Require valid-user
Alla pagina successiva trovate un esempio reale con le operazioni passo passo per creare un virtual host che espone il servizio WebDav su ssl sul vostro server .
[pagebreak]
Installazione
# export RANDFILE=/dev/random
# openssl req $@ -new -x509 -days 365 -nodes -out / etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
# chmod 600 /etc/apache2/ssl/apache.pem
# a2enmod ssl dav_fs dav
# cat "Listen 443" >> /etc/apache2/ports.conf
# mkdir -p /var/export/documents.mysite.com
# chmod www-data /var/export/documents.mysite.com
# htpasswd -bc /var/export/davpasswd test test
# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/documents.mysite.com
Configurazione
Modificate /etc/hosts in modo che contenga la riga :
Sostituite il contenuto di /etc/apache2/sites-available/documents.mysite.com con :
NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin webmaster@mysite.com ServerName documents.mysite.com ServerAlias documents.mysite.com DocumentRoot /var/export/documents.mysite.com <Directory /var/export/documents.mysite.com> Options Indexes MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /webdav /var/export/documents.mysite.com <Location /webdav> DAV On AuthType Basic AuthName "webdav-example" AuthUserFile /var/export/davpasswd <LimitExcept OPTIONS> Require valid-user </LimitExcept> </Location> ## ssl SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem </VirtualHost>
Adesso controllate la configurazione, abilitate l'host e ricaricate apache :
# apache2ctl configtest
# /etc/init.d/apache2 reload
All'indirizzo http://documents.mysite.com/webdav avrete il vostro server WebDav . Potrete accedervi in lettura da un browser e in scrittura usando daf2fs, cadaver o un qualsiasi client dav .
Da MacOs il supporto per le directory dav c'è di default, così come su windows xp .... anche se per collegarsi a una directory dav su ssl windows ha bisogno di MSOffice .
Ciao
Marco


