
WebDAV è un server open source progettato per rendere accessibili file e directory attraverso il protocollo WebDAV, un’estensione di HTTP che consente di gestire risorse remote direttamente dai client compatibili. Il progetto sviluppato da hacdias punta sulla semplicità, sull’autonomia del servizio e sulla facilità di installazione, offrendo una soluzione interessante per chi desidera realizzare un sistema di condivisione file senza dover ricorrere necessariamente a piattaforme cloud complesse.
Scritto in Go, il software può essere eseguito su diversi sistemi operativi e si presta sia all’utilizzo su un normale computer Linux sia all’integrazione in un server domestico, in un ambiente aziendale o in un homelab. La disponibilità di binari precompilati, la possibilità di compilare il codice sorgente e il supporto per Docker rendono l’installazione flessibile anche per chi preferisce amministrare i propri servizi attraverso container.
Un server WebDAV flessibile per Linux e altri sistemi operativi
Uno dei punti di forza di hacdias/webdav è la possibilità di scegliere come installare ed eseguire il servizio. Chi utilizza Linux può scaricare il binario appropriato per la propria architettura, compilare il progetto tramite la toolchain di Go oppure installarlo direttamente con il comando go install. È disponibile anche un pacchetto Homebrew, utile per chi utilizza questo gestore di pacchetti su sistemi compatibili.
Per chi preferisce isolare i servizi, Docker rappresenta un’alternativa particolarmente pratica. Le immagini sono pubblicate sia su GitHub Container Registry sia su Docker Hub, consentendo di avviare il server senza installare manualmente tutte le dipendenze sull’host. Il container può esporre la porta 6065, utilizzare un file di configurazione esterno e mantenere i dati in una directory persistente.
Il server permette di definire una directory principale accessibile agli utenti oppure di pubblicare più directory attraverso punti di montaggio virtuali. Questa caratteristica consente di organizzare i contenuti in modo ordinato, separando per esempio documenti condivisi, archivi personali e backup.
La configurazione può essere scritta in YAML, JSON o TOML e comprende parametri per l’indirizzo di ascolto, la porta, il prefisso degli URL, i log e la gestione delle connessioni HTTPS. È possibile abilitare anche una semplice visualizzazione HTML delle directory, utile quando si desidera consultare i file attraverso un browser senza utilizzare necessariamente un client WebDAV dedicato.
Autenticazione, permessi e funzionalità avanzate per la gestione dei file
WebDAV mette a disposizione strumenti per controllare gli accessi e limitare le operazioni consentite a ciascun utente. Quando vengono definiti utenti nella configurazione, il server abilita automaticamente l’autenticazione HTTP Basic, permettendo di proteggere le risorse con credenziali individuali. Le password possono essere specificate direttamente oppure gestite tramite variabili d’ambiente; è inoltre possibile utilizzare password cifrate con bcrypt.
La gestione dei permessi distingue quattro operazioni principali: lettura, creazione, aggiornamento ed eliminazione. Combinando queste autorizzazioni, l’amministratore può creare account destinati esclusivamente alla consultazione dei file oppure concedere accessi completi a directory specifiche. Le regole possono basarsi su percorsi o espressioni regolari, consentendo restrizioni più dettagliate per singoli file, cartelle o tipologie di contenuto.
Tra le funzionalità disponibili figura anche il supporto agli aggiornamenti parziali dei file. Il server implementa l’estensione PATCH per aggiornamenti compatibili con SabreDAV e supporta inoltre alcune richieste PUT parziali attraverso l’header Content-Range. Queste possibilità possono risultare utili con client che trasferiscono i dati in segmenti anziché riscrivere ogni volta un intero file.
Il progetto può essere collocato dietro un reverse proxy come Nginx o Caddy, una configurazione utile per gestire HTTPS e pubblicare il servizio attraverso un dominio. In questi scenari è importante inoltrare correttamente gli header HTTP, in particolare quelli relativi all’indirizzo del client e alla destinazione delle operazioni COPY e MOVE. Per aumentare la protezione contro i tentativi ripetuti di accesso non autorizzato è inoltre possibile integrare Fail2Ban e applicare regole di blocco agli indirizzi IP sospetti.
Per un’installazione esposta a Internet è fondamentale utilizzare HTTPS, scegliere credenziali robuste, assegnare soltanto i permessi necessari e limitare l’accesso alle directory strettamente indispensabili. Con queste precauzioni, hacdias/webdav offre una soluzione leggera e personalizzabile per realizzare un servizio di condivisione file controllato direttamente dall’amministratore. Abbiamo testato il server WebDAV su Ubuntu 26.04 LTS.