Abilitare WebDAV su Linux
Attenzione
Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.
WebDAV (acronimo di Web Distributed Authoring and Versioning) è una estensione del protocollo HTTP che abilita i client a effettuare operazioni sul server remoto.
WebDAV non è niente di nuovo, venne introdotto per la prima volta nel 1996 e da allora è lo standard de facto di molte applicazioni web.
WebDAV è direttamente dipendente e collegato ad Apache2. Installando il webserver però non abiliteremo automaticamente anche WebDAV. Alla fine della lettura di questo articolo saprai come si attiva WebDAV su un computer Linux. Partiamo dal presupposto che sul PC in oggetto ci sia già una installazione LAMP attiva e funzionante. Utilizzerò per l’occasione Ubuntu 20.04 LTS.
Abilitare i moduli
Per prima cosa abilitiamo i moduli necessari al funzionamento di WebDAV. Apriamo un terminale e digitiamo:
~$ sudo a2enmod dav
~$ sudo a2enmod dav_fs
Riavviamo il server web con il comando:
~$ sudo /etc/init.d/apache2 restart
Configurazione dell’host virtuale
Nel prossimo passo creerai l’ambiente necessario all’host per operare: directory specifiche, relativi permessi, modifiche al file .conf
di Apache.
Ora creeremo la directory principale. Per semplicità la chiameremo webdav
.
~$ sudo mkdir -p /var/www/webdav
È importante che il proprietario della directory e di tutto il contenuto sia Apache:
~$ sudo chown www-data.www-data /var/www/webdav
Nel prossimo passaggio creeremo un file .conf
che conterrà le istruzioni per Apache perché possa “accorgersi” dell’host virtuale:
~$ sudo nano /etc/apache2/sites-available/webdav.conf
Il contenuto del file:
NameVirtualHost *
<VirtualHost *:80>
ServerAdmin webmaster@domain
DocumentRoot /var/www/webdav/
<Directory /var/www/webdav/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Alias /webdav /var/www/webdav
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/webdav/passwd.dav
Require valid-user
</Location>
Notare l’indirizzo locale “webmaster@domain
“. Dovrai inserire l’indirizzo reale dell’amministratore del sito. Ora salviamo e chiudiamo il file con ctrl + o
e ctrl + c
.
Copiamo il file webdav.conf dai “siti disponibili” ai “siti abilitati” con questo comando:
~$ sudo a2ensite webdav.conf
Prima di riavviare Apache dobbiamo creare una password di accesso alle condivisioni WebDAV (USER
dev’essere un utente del sistema):
~$ sudo htpasswd -c /var/www/webdav/passwd.dav USER
Ora che è stato creato il file passwd.dav
contenente la password dobbiamo renderla accessibile e visibile solo all’amministratore del sistema root
e ai membri del gruppo www-data
:
~$ sudo chown root:www-data /var/www/webdav/passwd.dav
~$ sudo chmod 640 /var/www/webdav/passwd.dav
Riavviamo Apache con il comando precedente:
~$ sudo /etc/init.d/apache2 restart
Se tutto è andato come previsto il sistema dovrebbe essere attivo.
Test
Testare una installazione di WebDAV è molto semplice. C’è uno strumento semplice da installare e da utilizzare per questo scopo: Cadaver.
~$ sudo apt install cadaver
Una volta installato lanciarlo è anche più semplice:
~$ cadaver http://IP_DEL_SERVER/webdav
Il sistema dovrebbe ora chiedere user e password. Inseriamo il nome utente configurato e la relativa password. Se tutto è andato per il meglio verrà mostrato un prompt come questo:
dav:/webdav/>
Ora che l’installazione è andata a buon file possiamo collegare WebDAV a qualsiasi strumento che lo supporti desiderato. Come già detto WebDAV è un progetto non nuovo che è diventato uno standard negli anni ed è supportato nativamente da tutti i sistemi operativi (senza installare driver o software di terze parti). Basterà scrivere l’indirizzo del server WebDAV nella barra degli indirizzi di un qualsiasi file manager che il sistema operativo sia Windows, Mac, Linux, o dispositivi mobili. Dopo la richiesta delle credenziali, in tutti i casi verrà montata una posizione sulla quale potremo operare come se fosse una risorsa locale (tipo una chiavetta USB).
Conclusioni
WebDAV può essere utilizzato come suite collaborativa (lo scopo del progetto era proprio questo in origine), ma la maggior parte della sua applicazione oggi è come storage remoto. WebDAV è un servizio attivabile sulla maggior parte dei NAS e anche alcuni host hanno attivo un servizio basato su di esso (ad esempio cPanel ha un modulo chiamato Web Disk… indovinate di cosa si tratta). È un software molto testato, open source e affidabile e se dovessi iniziare un progetto che preveda il collegamento di più collaboratori in un unico progetto sarebbe la mia prima preferenza.
0 commenti