Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Come impostare WebDAV con Lighttpd su Debian Lenny

Questa guida spiega come impostare WebDAV con lighttpd su un server Debian Lenny. WebDAV è sinonimo di Web-based Distributed Authoring and Versioning ed è un insieme di estensioni del protocollo HTTP che consentono agli utenti di modificare direttamente i file sul server lighttpd affinché non devono essere scaricati/caricati tramite FTP. Naturalmente, WebDAV può essere utilizzato anche per caricare e scaricare file.

Io non rilasciano alcuna garanzia che questo funziona per voi!

 

1 Nota preliminare

Sto usando un server Debian Lenny con l’IP indirizzo 192.168.0.100 qui.

 

2 installazione di WebDAV

È possibile installare lighttpd (se non già installato), il modulo di WebDAV lighttpd e il pacchetto apache2-utils (che contiene il tool htpasswd che avremo bisogno più tardi per generare un file di password per la condivisione WebDAV) come segue:

aptitude install lighttpd lighttpd-mod-webdav apache2-utils

In seguito, dobbiamo assicurarci che la directory /var/run/lighttpd è posseduto dal gruppo e utente www-data . Questa directory conterrà un database SQLite necessarie di 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

Ricaricare in seguito lighttpd:

/etc/init.d/lighttpd force-reload

 

3 creazione di un Host virtuale

Ora creo un vhost di lighttpd (www.example.com) nella directory /var/www/web1/webSe hai già un vhost per il quale si desidera abilitare WebDAV, è necessario regolare questo tutorial alla vostra situazione.

In primo luogo, creiamo la directory /var/www/web1/web e rendere l’utente di lighttpd (www-data) il proprietario della directory:

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

Quindi apriamo /etc/lighttpd/lighttpd.conf e aggiungere il vhost seguente alla fine del file:

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

In seguito si riparte lighttpd:

/etc/init.d/lighttpd restart

 

4 configurare l’Host virtuale per WebDAV

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

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

Verrà chiesto di digitare una password per l’utente di prova.

(Non utilizzare l’opzione -c se la /var/www/web1/passwd.dav è già esistenti perché questo verrà ricreato il file da zero, significato che si perdono tutti gli utenti in quel file!)

Now we change the permissions of the /var/www/web1/passwd.dav file so that only root and the members of the www-datagroup can access it:

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

Now we modify our vhost in /etc/lighttpd/lighttpd.conf so that it looks as follows:

vi /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"
    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" ) )
  }
}

The alias.url directive makes (together with $HTTP[“url”] =~ “^/webdav($|/)”) that when you call /webdav, WebDAV is invoked, but you can still access the whole document root of the vhost. All other URLs of that vhost are still “normal” HTTP.

Restart lighttpd afterwards:

/etc/init.d/lighttpd restart

 

5 Testing WebDAV

We will now install cadaver, a command-line WebDAV client:

aptitude install cadaver

To test if WebDAV works, type:

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

Verrà richiesto un nome utente. Tipo in prova e poi la password per l’utente di provaSe tutto va bene, si dovrebbe essere concesso l’accesso che significa che WebDAV sta funzionando bene. Digitare quit per lasciare la shell di WebDAV:

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.
server1:~#

 

6 configurare un Client di Windows XP per connettersi alla condivisione WebDAV

 

Si prega di specificare la porta nell’URL di WebDAV, ad esempio http://www.example.com: 80/webdavPer qualche strana ragione che questo rende Windows XP accetta il nome utente normale (ad esempio test) – altrimenti Windows XP prevede nomi utente NTLM (che avrebbero la forma \test www.example.com).

 

7 configurare un Client di Linux (GNOME) per connettersi alla condivisione WebDAV

  • WebDAV: http://www.webdav.org
  • Lighttpd: http://www.lighttpd.net
  • Debian: http://www.debian.org

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp