lighttpd i WebDav
galerie.nablaone.net to nowy blogasek kolegi Adama. Kolega ma się zajmować szeroko pojętą ezoteryczną sztuką seo. Nie wiem czy dobrze na tym wyjdę. Może PR i zysk z Adsense nie spadnie.
Przy stawianiu tego blogaska, pojawił się problem. Rzeczony użytkownik zażyczył sobie dostępu do serwisu po FTP. Odmówiłem. No to chciał po SSH. Cfaniak!. Hmmm. Mój VPS jest bardzo private i kontami się nie dziele :-). Ustaliliśmy, że spróbujemy WebDava. Jest to rozszerzenie HTTP i działa po standardowych portach 80 i 443, przez co są małe szanse, że jakiś administrator zablokuje ruch.
Skonfigurowanie lighttpd okazało sie proste. Trzeba było załadować moduł "mod_webdav". Konfiguracja serwisu jest zrobiona zgodnie z tym przykładem:
$HTTP["host"] == "example.net" {
server.document-root = "/www/example.net/"
accesslog.filename = "/var/log/lighttpd/example.net/access.log"
server.errorlog = "/var/log/lighttpd/example.net/error.log"
}
$HTTP["host"] == "dav.example.net" {
server.document-root = "/www/example.net/"
accesslog.filename = "/var/log/lighttpd/example.net/access.log"
server.errorlog = "/var/log/lighttpd/example.net/error.log"
webdav.activate = "enable"
webdav.is-readonly = "disable"
# wylaczamy wykonywanie skryptow CGI
cgi.assign = ()
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/htdigest.user"
auth.require = ( "/" =>
( "method" => "digest",
"realm" => "example",
"require" => "valid-user"))
}
Niestety lighty nie umożliwia ograniczenia dostępu dla poszczególnych metod (tu PROPFIND) i nie można było zrobić jednej wspólnej domeny dla obu usług (publiczne HTTP i WebDav). Stosowna zmienna $HOST['request-method'] ma się pojawić w wersji 1.5.x.
Z dostępem do WebDava nie ma problemu. W Windowsach XP jest ponoć natywne wsparcie, trzeba tylko je włączyć. W przypadku Ubuntu działa z palca, zarówno bez SSL jak i z nim.