Tato příručka vysvětluje, jak nastavit WebDAV s Lighttpd na serveru Debian 8 (Jessie). WebDAV je zkratka pro Web-based Distributed Authoring and Versioning a je sada rozšíření protokolu HTTP, která uživatelům umožňuje přímo upravovat soubory na serveru Lighttpdd, takže je není nutné stahovat/nahrávat přes FTP. WebDAV lze samozřejmě použít také k nahrávání a stahování souborů.
1 předběžná poznámka
Zde používám server Debian 8 s IP adresou 192.168.1.100. Moje nastavení je založeno na výukovém programu pro minimální server Debian, ale jakýkoli systém Debianu, na kterém ještě není spuštěn webový server, by měl být v pořádku.
2 Instalace WebDAV
Lighttpd (pokud již není nainstalován), modul lighttpd WebDAV a balíček apache2-utils (který obsahuje nástroj htpasswd, který budeme později potřebovat k vygenerování souboru s hesly pro sdílení WebDAV) můžete nainstalovat následovně:
apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils
Poté se musíme ujistit, že adresář /var/run/lighttpd vlastní uživatel a skupina www-data. Tento adresář bude obsahovat databázi SQLite potřebnou pro WebDAV:
chown www-data:www-data /var/run/lighttpd/
Dále povolíme moduly mod_auth a mod_webdav:
lighty-enable-mod auth
lighty-enable-mod webdav
Poté znovu načtěte Lighttpd:
servis lighttpd force-reload
3 Vytvoření virtuálního hostitele
Nyní vytvořím Lighttpd vhost (www.example.com) v adresáři /var/www/web1/web. Pokud již máte vhost, pro který byste chtěli povolit WebDAV, musíte tento výukový program přizpůsobit své situaci.
Nejprve vytvoříme adresář /var/www/web1/web a uděláme z uživatele lighttpd (www-data) vlastníka tohoto adresáře:
mkdir -p /var/www/web1/web
chown www-data:www-data /var/www/web1/web
Poté otevřeme /etc/lighttpd/lighttpd.conf a na konec souboru přidáme následující vhost:
nano /etc/lighttpd/lighttpd.conf
[...]$HTTP["host"] =="www.example.com" { server.document-root ="/var/www/web1/web"}
Poté restartujeme lighttpd:
restart služby lighttpd
4 Konfigurace virtuálního hostitele pro WebDAV
Nyní vytvoříme soubor s hesly WebDAV /var/www/web1/passwd.dav pomocí uživatelského testu (přepínač -c vytvoří soubor, pokud neexistuje):
test htpasswd -c /var/www/web1/passwd.dav
Budete požádáni o zadání hesla pro uživatelský test.
(Prosím, nepoužívejte přepínač -c, pokud /var/www/web1/passwd.dav již existuje, protože tím se soubor znovu vytvoří od začátku, což znamená, že ztratíte všechny uživatele v tomto souboru!)
Nyní změníme oprávnění souboru /var/www/web1/passwd.dav tak, aby k němu měl přístup pouze root a členové skupiny www-data:
kořen chown:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav
Nyní upravíme našeho vhost v /etc/lighttpd/lighttpd.conf tak, aby vypadal následovně:
nano /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"
dir- listing.activate ="enable" 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 =( "" => ( "metoda" => "základní", "realm" => "webdav", "require" => "valid-user" ) ) }}Direktiva alias.url umožňuje (spolu s $HTTP["url"] =~ "^/webdav($|/)"), že když zavoláte /webdav, vyvolá se WebDAV, ale stále máte přístup k celému kořenovému adresáři dokumentu vhost. Všechny ostatní adresy URL tohoto vhost jsou stále "normální" HTTP.
Poté znovu spusťte Lighttpd:
restart služby lighttpd
5 Testování WebDAV
Nyní nainstalujeme cadaver, klienta WebDAV příkazového řádku:
apt-get -y install cadaverChcete-li otestovat, zda WebDAV funguje, zadejte:
cadaver http://www.example.com/webdav/Měli byste být vyzváni k zadání uživatelského jména. Zadejte test a poté heslo pro uživatelský test. Pokud vše půjde dobře, měl by vám být udělen přístup, což znamená, že WebDAV funguje v pořádku. Chcete-li opustit prostředí WebDAV, zadejte příkaz quit:
[e-mail chráněný]:/home/administrator# cadaver http://www.example.com/webdav/
Vyžaduje se ověření pro webdav na serveru `www.example.com':
Uživatelské jméno:test
Heslo:
dav:/webdav/> quit
Připojení k `www.example.com' uzavřeno.
[email protected]:/home/administrator#
6 odkazů
- WebDAV:http://www.webdav.org/
- Lighttpd:http://www.lighttpd.net/
- Debian:http://www.debian.org/