How To Set Up WebDAV With Lighttpd On Debian Etch - Page 2
4 Configure The Virtual Host For WebDAV
Now we create the WebDAV password file /var/www/web1/passwd.dav with the user test (the -c switch creates the file if it does not exist):
htpasswd -c /var/www/web1/passwd.dav test
You will be asked to type in a password for the user test.
(Please don't use the -c switch if /var/www/web1/passwd.dav is already existing because this will recreate the file from scratch, meaning you lose all users in that file!)
Now we change the permissions of the /var/www/web1/passwd.dav file so that only root and the members of the www-data group 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:
apt-get install cadaver
To test if WebDAV works, type:
cadaver http://www.example.com/webdav/
You should be prompted for a user name. Type in test and then the password for the user test. If all goes well, you should be granted access which means WebDAV is working ok. Type quit to leave the WebDAV shell:
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 Configure A Windows XP Client To Connect To The WebDAV Share
This is described on https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2.
Please specify the port in the WebDAV URL, e.g. http://www.example.com:80/webdav. For some strange reason this makes Windows XP accept the normal username (e.g. test) - otherwise Windows XP expects NTLM usernames (that would have the form www.example.com\test).
7 Configure A Linux Client (GNOME) To Connect To The WebDAV Share
This is described on https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3.
8 Links
- WebDAV: http://www.webdav.org
- Lighttpd: http://www.lighttpd.net
- Debian: http://www.debian.org