Guida alle tecnologie

Configurare WebDAV su Lighttpd: host virtuale, test e client

4 min read Server Aggiornato 21 Sep 2025
WebDAV su Lighttpd: configurazione e test
WebDAV su Lighttpd: configurazione e test

4 Configurare l’host virtuale per WebDAV

Per prima cosa creiamo il file delle password WebDAV /var/www/web1/passwd.dav e aggiungiamo l’utente test. Il parametro -c crea il file se non esiste:

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

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

Importante: non usare l’opzione -c se /var/www/web1/passwd.dav esiste già, perché il comando ricreerebbe il file da zero e perderesti tutti gli utenti presenti.

Poi modifichiamo i permessi in modo che solo root e i membri del gruppo lighttpd possano leggere il file delle password:

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

Ora modifichiamo il virtual host in /etc/lighttpd/lighttpd.conf per abilitare WebDAV su un percorso specifico. Apri il file con il tuo editor preferito:

vi /etc/lighttpd/lighttpd.conf

E inserisci (o modifica) il blocco del vhost in questo modo:

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

Spiegazione rapida: alias.url insieme all’espressione $HTTP[“url”] =~ “^/webdav($|/)” attiva WebDAV solo quando richiami /webdav. Gli altri URL del sito rimangono normali richieste HTTP.

Dopo le modifiche, riavvia lighttpd:

/etc/init.d/lighttpd restart

5 Testare WebDAV

Installa il client da riga di comando cadaver (esempio con yum):

yum install cadaver

Per verificare che WebDAV risponda, connettiti al percorso WebDAV:

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

Ti verrà chiesto username e password. Inserisci test e la password impostata in precedenza. Se la connessione ha successo, vedrai il prompt del client WebDAV. Digita quit per uscire.

Esempio di sessione:

[root@server1 ~]# cadaver http://www.example.com/webdav/
Authentication required for webdav on server `www.example.com':
Username: test
Password:
dav:/webdav/> quit
Connection to `www.example.com' closed.
[root@server1 ~]#

6 Configurare un client Windows XP per connettersi alla condivisione WebDAV

I dettagli sono disponibili qui: https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2.

Suggerimento pratico: specifica la porta nell’URL WebDAV, ad esempio http://www.example.com:80/webdav. In alcuni casi Windows XP accetta l’username normale (ad es. test) solo se la porta è esplicitata; altrimenti XP potrebbe richiedere credenziali NTLM nel formato dominio\utente (es. www.example.com\test).

Nota di compatibilità: Windows XP è obsoleto. Se possibile usa una versione di Windows più recente o un client WebDAV dedicato più moderno.

7 Configurare un client Linux (GNOME) per connettersi alla condivisione WebDAV

La procedura è descritta qui: https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3.

In GNOME puoi usare “Connetti al server” (URI tipo dav:// o http://) oppure montare la risorsa via GVfs/nautilus con l’opzione “Connetti al server” e specificare l’URL completo.

8 Link e risorse


Appendice: checklist rapida per l’amministratore

  • Creare il file passwd.dav (senza usare -c se esiste già).
  • Controllare owner e permessi: root:lighttpd e 640.
  • Aggiungere il blocco WebDAV nel vhost e verificare alias.url e $HTTP[“url”].
  • Riavviare lighttpd e monitorare i log (/var/log/lighttpd/error.log).
  • Testare con cadaver e con client GUI.

Casi in cui può fallire e come diagnosticarli

  • Errore 401 (Unauthorized): verifica che auth.backend.htpasswd.userfile punti al file corretto e che il file abbia permessi leggibili dal processo lighttpd.
  • 403 (Forbidden): controlla server.document-root e permessi filesystem per l’utente che esegue lighttpd.
  • Comportamento anomalo su client Windows: prova a includere la porta nell’URL o usa un client WebDAV differente.

Suggerimenti di sicurezza

  • Evita WebDAV su HTTP non cifrato in produzione. Usa HTTPS (TLS) per proteggere credenziali e traffico.
  • Limita il percorso WebDAV tramite alias o regole di accesso. Non esporre l’intera document-root se non necessario.
  • Mantieni aggiornato lighttpd e i pacchetti di sistema.

Test di accettazione (criteri di verifica)

  • Il comando cadaver su http://www.example.com/webdav/ chiede credenziali.
  • L’utente valido (test) può elencare, caricare e cancellare file se webdav.is-readonly = “disable”.
  • Altri URL del vhost rispondono come normali richieste HTTP.

Playbook di rollback rapido

  1. Ripristina /etc/lighttpd/lighttpd.conf dalla copia di backup.
  2. Riavvia il servizio: /etc/init.d/lighttpd restart.
  3. Se il problema è l’autenticazione, sostituisci passwd.dav con una copia di backup.
  4. Controlla i log e riprova i test con cadaver.

Mini-metodologia di decisione: WebDAV vs alternative

  • Se serve accesso remoto a file via HTTP con editing diretto, WebDAV è semplice e compatibile.
  • Se serve sincronizzazione bidirezionale avanzata o controllo versione, valuta Nextcloud/ownCloud o soluzioni basate su WebDAV+FS.
  • Se la necessità è condividere file in rete aziendale con SSO, considera SMB/Active Directory o soluzioni cloud con integrazione SSO.

Importante: tieni sempre backup dei file di configurazione prima di apportare modifiche.

Riepilogo finale:

  • Crea e proteggi il file delle password; aggiorna il vhost; riavvia lighttpd; testa con cadaver. Usa TLS e limita l’esposizione del percorso WebDAV in produzione.
Autore
Redazione

Materiali simili

Come aggiungere porte USB al computer
Hardware

Come aggiungere porte USB al computer

Errore di programma in Photoshop: risoluzione rapida
Troubleshooting

Errore di programma in Photoshop: risoluzione rapida

WebDAV su Lighttpd: configurazione e test
Server

WebDAV su Lighttpd: configurazione e test

Cancellare la cronologia ricerche YouTube — Guida pratica
Privacy

Cancellare la cronologia ricerche YouTube — Guida pratica

Recuperare una Snapchat Streak persa
Social Media

Recuperare una Snapchat Streak persa

Clonezilla: immagine disco CentOS 7 cifrata
Backup

Clonezilla: immagine disco CentOS 7 cifrata