Webdav beállítása
Leírás WebDav környezet felállításáról. A segítségével a szerverünkön található könyvtárat felcsatolhatjuk gépünkre, gépeinkre, így több helyről, több ember számára is elérhetővé tehetjük.
1. Szerver
A leírás feltételezi, hogy a szerverünkön Apache már telepítve van, virtuális hosztokkal. Az Apache telepítés alapból felteszi a dav modult, de nézzük meg engedélyezve van-e. (a2enmod dav)
Hozzunk létre egy könyvtárat a webdav-os tárhelyeknek, mondjuk /data/webdav néven. Ebben lesznek az egyes felhasználók alkönyvtárai, mondjuk foo.
Hozzunk létre egy felhasználó (bar) számára elérést egy htpasswd fájlban:
htpasswd2 -s /data/webdav/foo/.htpasswd bar
A felhasználó virtuális hosztjának konfigurációs fájljába írjuk be a következőt:
<VirtualHost *>
ServerName www.foo.hu
...
Alias /webdav /data/webdav/foo
<Directory "/data/webdav/foo">
Dav On
Options +Indexes
AuthName "WebDAV Login"
AuthType Basic
AuthUserFile /data/webdav/foo/.htpasswd
Require valid-user
Order allow,deny
Allow from all
</Directory>
...
Az elérést adott műveletekre is korlátozhatjuk:
<LimitExcept GET HEAD OPTIONS>
Require valid-user
</LimitExcept>
A szerver újraindítása után a webdav elérhető a www.foo.hu/webdav címen elérhető a szolgáltatás. További apache konfigurálás segítségével számos egyéb dolgot beállíthatunk, pl. csoportos alapú jogosultságkezelés, HTTPS akár kliens tanúsítvánnyal, jogosultságok finomhangolása a <Limit> elemmel.
2. Kliens
Ha nincs kedvünk parancssori (Cadaver) vagy fájl böngészőbeli webdav klienst használni, a legegyszerűbb, ha felcsatoljuk a fájlrendszerre a távoli webdav helyet, és úgy kezeljük, mintha lokális könyvtár lenne.
Telepítsük a következő csomagot:
- davfs2
Hozzunk létre egy könyvtárat, mondjuk /mnt/webdav. Alkalmilag is felcsatolhatjuk, de a legkényelmesebb, ha felvesszük a /etc/fstab-ba, hogy bootoláskor azonnal elérhető legyen:
https://www.foo.hu/webdav/ /home/szabolcs/dav davfs auto,rw,uid=szabolcs,gid=szabolcs 0 0
Tételezzük fel, hogy nem csak HTTPS protokollal, hanem kliens tanusítvánnyal is védjük a szolgáltatást. Ez esetben némi további konfigurálásra is szükség lesz.
Két tanúsítványra lesz szükségünk. Egyrészt a saját kliens tanúsítványunkra, másrészt arra a saját legfelsőbb szintű (root) CA tanúsítványra, amivel szerver HTTPS tanúsítványát aláírtuk (ha saját CA által aláírtat használunk). Ez mondjuk a Firefox tanúsítványkezelőből kényelmesen exportálható.
A /etc/davfs2/davfs2.conf adjuk meg ezek nevét:
servercert nir.crt clientcert szabolcs.p12
(Egyes felcsatolási helyek szerint más-más beállításokat adhatunk meg, a részletekhez lás man davfs2.conf.)
A /etc/davfs2/certs másoljuk be a CA tanúsítványát, a /etc/davfs2/certs/private/ könyvtárba pedig a saját kliens tanúsítványt, és utóbbinak a jogosultságát ne felejtsük 600-ra állítani.
Most már csak a jelszavakat kell megadnunk, ha nem akarjuk minden egyes mount esetén beírni. A /etc/davfs2/secrets fájlban adjuk meg a következőket:
# Credential Line # --------------- https://www.foo.hu/webdav/ szabolcs https_jelszo # Password for Client Certificate # ------------------------------- /etc/davfs2/certs/private/szabolcs.p12 cert_jelszo
(Utóbbi helyen a teljes fájl elérési utat meg kell adni, egyelőre még nem jöttem rá miért.)
Nem marad hátra, mint kipróbálni:
sudo mount /mnt/webdav
Ha minden rendben volt, akkor a legközelebbi alkalommal már gépindításnál elérhető lesz a webdav könyvtár.
Elképzelhető, hogy mégsem ez lesz nekünk a legjobb, hanem kézzel szeretnénk mindig felcsatolni. Ez esetben a /etc/fstab bejegyzésben írjuk át az auto bejegyzést így:
https://www.foo.hu/webdav/ /home/szabolcs/dav davfs noauto,user,rw 0 0
Ezzel a sima lokális felhasználók számára is engedélyeztük a felcsatolást, így root jogok sem kellenek a művelethez.
Jó kis leírás, sokkal több részlettel itt:




