Cookie

Abilitare WebDAV su Linux

Pubblicato da TheJoe il

Tempo di lettura stimato: 3 minuti

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.

Guarda qui:  TeamViewer come VNC, anzi meglio

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.


TheJoe

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

0 commenti

Lascia un commento

Segnaposto per l'avatar

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.