How To Set Up WebDAV With Lighttpd On Fedora 9

Version 1.0
Author: Falko Timme

This guide explains how to set up WebDAV with lighttpd on a Fedora 9 server. WebDAV stands for Web-based Distributed Authoring and Versioning and is a set of extensions to the HTTP protocol that allow users to directly edit files on the lighttpd server so that they do not need to be downloaded/uploaded via FTP. Of course, WebDAV can also be used to upload and download files.

I do not issue any guarantee that this will work for you!

 

1 Preliminary Note

I'm using a Fedora 9 server with the IP address 192.168.0.100 here.

 

2 Installing WebDAV

You can install lighttpd (if it's not already installed) (including the lighttpd WebDAV module) and the httpd-tools package (which contains the tool htpasswd which we will need later on to generate a password file for the WebDAV share) as follows:

yum install lighttpd httpd-tools

Then we create the system startup links for lighttpd (so that lighttpd starts automatically whenever the system boots) and start it:

chkconfig --levels 235 lighttpd on
/etc/init.d/lighttpd start

Next, we open /etc/lighttpd/lighttpd.conf and enable/add the modules mod_alias, mod_webdav, and mod_auth in the server.modules stanza (it is important that mod_webdav is listed before mod_auth!):

vi /etc/lighttpd/lighttpd.conf

[...]
server.modules              = (
#                               "mod_rewrite",
#                               "mod_redirect",
                                "mod_alias",
                                "mod_access",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
                                "mod_webdav",
                                "mod_auth",
#                               "mod_status",
#                               "mod_setenv",
#                               "mod_fastcgi",
#                               "mod_proxy",
#                               "mod_simple_vhost",
#                               "mod_evhost",
#                               "mod_userdir",
#                               "mod_cgi",
#                               "mod_compress",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool",
                                "mod_accesslog" )
[...]

Restart lighttpd afterwards:

/etc/init.d/lighttpd restart

 

3 Creating A Virtual Host

I will now create a lighttpd vhost (www.example.com) in the directory /var/www/web1/web. If you already have a vhost for which you'd like to enable WebDAV, you must adjust this tutorial to your situation.

First, we create the directory /var/www/web1/web and make the lighttpd user and group (lighttpd) the owner of that directory:

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

Then we open /etc/lighttpd/lighttpd.conf and add the following vhost to the end of the file:

vi /etc/lighttpd/lighttpd.conf

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

Afterwards we restart lighttpd:

/etc/init.d/lighttpd restart

Falko Timme

About Falko Timme

Falko Timme is an experienced Linux administrator and founder of Timme Hosting, a leading nginx business hosting company in Germany. He is one of the most active authors on HowtoForge since 2005 and one of the core developers of ISPConfig since 2000. He has also contributed to the O'Reilly book "Linux System Administration".

Share this page:

Suggested articles

0 Comment(s)

Add comment