• dLog

  • Configurazione WebDav

25 November 2006

Configurazione WebDav

postato in Tecnologie |

Questa volta vado sul tecnico e mi dedico alla configurazione di un server WebDav per poter accedere in remoto a file ospitati su un server linux.

Per lavorare in remoto su file ospitati su server linux, ci sono differenti modi:

  1. collegarsi in shell e lavorare con Vi
  2. collegarsi in ftp e, in alternativa:
    • scaricare ogni file, modificarlo e ricaricarlo sul server
    • usare un software che permette di lavorare con il server remoto come se fosse un disco locale aggiuntivo (WebDrive o Interarchy, o altri)
  3. esporre la directory di lavoro su un server e collegarsi con un client WebDav
  4. usare un IDE che gestisce il collegamento FTP o WebDAV (Eclipse, Komodo)

Le voci sono ordinate su una scala molto scamuffa: da smanettone a fighetto. Lo smanettone, in genere non va mai oltre il livello 2, mentre il fighetto non scende sotto il 3.

Ci sono poi vantaggi e svantaggi obiettivi che non riguardano il proprio livello di fighettaggine, ossia:

  • rapidità dello startup della sessione di lavoro
  • possibilità di visione e gestione della struttura dei files
  • processo di sviluppo in team o in solitaria

Se in genere lavorare con Vi via shell mi piace quando devo modificare pochi files, ad esempio le configurazioni di apache, quando sto lavorando su un progetto di sviluppo PHP, Perl, Java o Ruby, voglio avere sotto controllo l’intera struttura delle directory di lavoro. Se poi il file su cui lavoro è molto lungo e ha molte classi e metodi, mi piace avere un code navigator, come quelli messi a disposizione dagli ambienti IDE complessi. Anche nel caso in cui sto lavorando con un team di più di due sviluppatori, gradirei un ambiente integrato con SVN o CVS per non fare troppi casini.
Detto questo, e detto che non sono uno che vive esclusivamente della sua attività di sviluppatore, ecco la mia soluzione per accedere ai files dei progetti via WebDav (il punto 4).

Ragioniamo su un server Linux Fedora con Apache 2.0. Le altre configurazioni sono simili e le istruzioni prescindono dalle versioni del software.

Prima di tutto c’è bisogno di aver installato e configurato i moduli WebDav di Apache: si tratta di mod_dav e mod_dav_fs. La configurazione richiede che nel file di configurazione di apache sia presente il codice che specifica la locazione del database di lock di WebDav:

#
# WebDAV module configuration section.
#

# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb

Poi occorre configurare l’accesso. Io ho fatto così:

  • creato un virtualhost dedicato agli accessi dav, con un dominio di terzo livello tipo dav.miodominio.com
  • nel virtual host, specificato un alias a una particolare directory
  • per quella directory, specificati i permessi di accesso di tipo digest, con limitazione solo in scrittura
  • generato username e password con htdigest

<VirtualHost 195.94.177.111>
ServerName dav.democraziaelettronica.it
DocumentRoot “/home/vilas”
DirectoryIndex index.html

<Directory “/home/vilas”>
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>

<Location /openpolis>
DAV On

# Authentication
AuthType Digest
AuthName “DAVAccess”
AuthDigestDomain /openpolis
AuthDigestFile /var/www/.digest-pw

# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

</Location>

CustomLog logs/dav_depp_access_log combined
ErrorLog logs/dav_depp_error_log

</VirtualHost>

A questo punto, avendo dato i permessi in scrittura all’utente di Apache nella directory dove voglio lavorare, posso collegarmi da remoto.

Con OsX basta

  • andare sul Finder (click sul desktop)
  • digitare Mela-k
  • inserire http://dav.miodominio.com/progetto
  • inserire username e password

Il disco remoto “progetto” ora può essere usato per leggere e scrivere come se fosse una cartella qualunque.

Usando TextMate su OsX, un simpatico texteditor, il comando

mate /Volumes/progetto/

dalla linea di comando del terminale Mac, apre il text editor con l’albero delle diretory sulla sinistra. Aprire un file e salvarlo equivale a modificarlo direttamente sul server.

Con un PC o su Linux, lo stesso risultato si ottiene usando il software standard di esplorazione delle risorse (explorer sotto Windows e nautilus, konqueror o altri File manager per Linux).

Ottimo per lavorare da soli, assolutamente sconsigliato per lavorare in team, visto che in questo modo non sono gestiti i conflitti.

– update — Explorer per windows non supporta il protocollo in maniera corretta e combina grandi guai, quindi, dato che l’intera idea era valida per gli utenti poco smanettoni, ho abbandonato tutto.
Io uso vi (o al limite sshfs su mac os x), gli altri winscp e via così.

Questo post è stato inserito il Saturday, November 25, 2006 alle 3:28 pm ed è archiviato in Tecnologie. Puoi seguire le risposte a questo post, seguendo il feed RSS 2.0. Puoi lasciare una risposta o fare trackback dal tuo sito.

Al momento ci sono 5 commenti a “Configurazione WebDav”

Perché non mi dici che ne pensi lasciando un commento? La tua opinione vale come quella di chiunque altro, dai ... dimmi che ne pensi.

  1. 1 Il August 22, 2007, ziotoner ha scritto:

    per il momento questo è l’esempio piu’ chiaro che ho trovato in giro
    grazie
    stefano

  2. 2 Il May 5, 2010, Enrico ha scritto:

    Ciao,
    ma se devo configurare il server webdav su uno spazio disco remoto (ad esempio su aruba?).
    E’ possibile inserire tutti i file in una cartella e semplicemente configurarla?
    Ovviamente non ho l’accesso completo a quel disco…
    grazie

    enrico

  3. 3 Il May 5, 2010, Guglielmo Celata ha scritto:

    Ciao Enrico,
    se non puoi controllare la configurazione del server apache pienamente, la vedo difficile. Puoi vedere cosa ti è permesso configurare in .htaccess.

  4. 4 Il May 26, 2010, emanuele ha scritto:

    ciao … ho letto diverse guide per web dav compresa la tua e devo dire che è molto chiara :) . Io avrei una esigenza particolare. Vorrei creare 5 utenti i quali possono accedere solo ad una specifica cartella dove possono leggere e scrivere. Es: utente1 con sua passw accede alla cartella var/www/sito1 mentre utente 2 passw2 accede a var/www/sito2 ecc. Con web dav è possibile fare questa cosa? se si come? Non voglio mettere un ftp per questioni di sicurezza. Webdav lo preferisco non devi installare nulla sul client e funziona come un HD remoto :)
    Grazie ancora Emanuele :)

  5. 5 Il May 27, 2010, Guglielmo Celata ha scritto:

    Ciao Emanuele,
    dovresti creare 5 virtual host diversi, uno per ciascun utente (con 5 sottodomin differenti).
    Per ciascun utente dovresti creare un file di autenticazione differente .digest-user1-pw, .digest-user2-pw, …
    Forse si può anche fare meglio, non sono proprio padrone di apache, ma così dovrebbe funzionare.

Lascia una risposta