WebDAV Lighttpd · 3 min read · Dec 17, 2025

Come installare WebDAV con Lighttpd su Debian 8 (Jessie)

Questa guida spiega come configurare WebDAV con Lighttpd su un server Debian 8 (Jessie). WebDAV sta per Web-based Distributed Authoring and Versioning ed è un insieme di estensioni al protocollo HTTP che consente agli utenti di modificare direttamente i file sul server Lighttpd in modo che non debbano essere scaricati/caricati tramite FTP. Naturalmente, WebDAV può anche essere utilizzato per caricare e scaricare file.

1 Nota Preliminare

Sto usando un server Debian 8 con l’indirizzo IP 192.168.1.100 qui. La mia configurazione si basa sul tutorial del server minimale Debian, ma qualsiasi sistema Debian che non esegue ancora un server web dovrebbe andare bene.

2 Installazione di WebDAV

Puoi installare lighttpd (se non è già installato), il modulo WebDAV di lighttpd e il pacchetto apache2-utils (che contiene lo strumento htpasswd di cui avremo bisogno più avanti per generare un file di password per la condivisione WebDAV) come segue:

apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils

Dopo, dobbiamo assicurarci che la directory /var/run/lighttpd sia di proprietà dell’utente e del gruppo www-data. Questa directory conterrà un database SQLite necessario per WebDAV:

chown www-data:www-data /var/run/lighttpd/

Successivamente, abilitiamo i moduli mod_auth e mod_webdav:

lighty-enable-mod auth  
lighty-enable-mod webdav

Ricarica Lighttpd successivamente:

service lighttpd force-reload

3 Creazione di un Host Virtuale

Ora creerò un vhost Lighttpd ( www.example.com) nella directory /var/www/web1/web. Se hai già un vhost per il quale desideri abilitare WebDAV, devi adattare questo tutorial alla tua situazione.

Per prima cosa, creiamo la directory /var/www/web1/web e rendiamo l’utente lighttpd ( www-data) il proprietario di quella directory:

mkdir -p /var/www/web1/web  
chown www-data:www-data /var/www/web1/web

Poi apriamo /etc/lighttpd/lighttpd.conf e aggiungiamo il seguente vhost alla fine del file:

nano /etc/lighttpd/lighttpd.conf
[...]  
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
}

Successivamente riavviamo lighttpd:

service lighttpd restart

4 Configurare l’Host Virtuale per WebDAV

Ora creiamo il file di password WebDAV /var/www/web1/passwd.dav con l’utente test (l’opzione -c crea il file se non esiste):

htpasswd -c /var/www/web1/passwd.dav test

Ti verrà chiesto di digitare una password per l’utente test.

(Per favore non usare l’opzione -c se /var/www/web1/passwd.dav esiste già perché questo ricreerà il file da zero, il che significa che perderai tutti gli utenti in quel file!)

Ora cambiamo i permessi del file /var/www/web1/passwd.dav in modo che solo root e i membri del gruppo www-data possano accedervi:

chown root:www-data /var/www/web1/passwd.dav  
chmod 640 /var/www/web1/passwd.dav

Ora modifichiamo il nostro vhost in /etc/lighttpd/lighttpd.conf in modo che appaia come segue:

nano /etc/lighttpd/lighttpd.conf
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  alias.url = ( "/webdav" => "/var/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    webdav.activate = "enable"
    webdav.is-readonly = "disable"  
    dir-listing.activate = "enable"
    webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db"
    auth.backend = "htpasswd"
    auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav"
    auth.require = ( "" => ( "method" => "basic",
                             "realm" => "webdav",
                             "require" => "valid-user" ) )
  }
}

La direttiva alias.url fa sì che (insieme a $HTTP[“url”] =~ “^/webdav($|/)”) quando chiami /webdav, WebDAV venga invocato, ma puoi comunque accedere all’intera radice del documento del vhost. Tutti gli altri URL di quel vhost sono ancora “normali” HTTP.

Riavvia Lighttpd successivamente:

service lighttpd restart

5 Testare WebDAV

Ora installeremo cadaver, un client WebDAV da riga di comando:

apt-get -y install cadaver

Per testare se WebDAV funziona, digita:

cadaver http://www.example.com/webdav/

Dovresti essere invitato a inserire il nome utente. Digita test e poi la password per l’utente test. Se tutto va bene, dovresti ottenere accesso, il che significa che WebDAV funziona correttamente. Digita quit per uscire dalla shell WebDAV:

root@server1:/home/administrator# cadaver http://www.example.com/webdav/  
Autenticazione richiesta per webdav sul server `www.example.com':  
Nome utente: test  
Password:  
dav:/webdav/> quit  
Connessione a `www.example.com' chiusa.  
root@server1:/home/administrator#

6 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.