Webdav avec Lighttpd

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Le webdav c'est génial une fois qu'on y a gouté. On va donc voir comment le mettre en place avec Lighttpd. Moi j'en ai besoin pour uploader des images pour mon album photos.

2 Installation

Pour l'installation c'est bateau :

Command apt-get
apt-get install lighttpd-mod-webdav

3 Configuration

3.1 Lighttpd

Nous allons activer notre module fraichement installé :

Command lighty-enable-mod
lighty-enable-mod auth
lighty-enable-mod webdav

Editer le fichier de conf de lighttpd, puis décommentez ceci :

Configuration File /etc/lighttpd/lighttpd.conf
 server.modules              <nowiki>=</nowiki> (
 ...
             "mod_webdav",
 ...
 )

Nous allons ajouter plus bas le dossier que nous voulons avoir en accès webdav.

  • Si vous voulez faire de la restriction par IP, utilisez cet exemple :
Configuration File /etc/lighttpd/lighttpd.conf
...
$HTTP["host"] =~ "^webdav\.(deimos\.fr)" {
    server.document-root = "/var/www/photos/galleries"
    alias.url = ( "(.*)" => "/var/www/photos/galleries" )
    $HTTP["remoteip"] != "192.168.0.0/24" {
        webdav.activate = "enable"
        webdav.is-readonly = "disable"
        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/var/www/photos/galleries/.htpasswd"
        auth.require = ( "" => ( "method" => "basic",
            "realm" => "webdav",
            "require" => "valid-user" ) ) 
    }   
}
...

  • Si vous préférez quelquechose de plus simple, utilisez cet exemple :
Configuration File /etc/lighttpd/lighttpd.conf
$["remoteip"] == "^webdav\.(deimos\.fr)" {
    alias.url += ( "/webdav" => "/var/www/photos/galleries" )
    $HTTP["url"] =~ "^webdav($|/)" {
        dir-listing.activate = "enable"
        webdav.activate = "enable"
        webdav.is-readonly = "disable"
        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/var/www/photos/galleries/.htpasswd"
        auth.require = ("" => "method" => "basic",
             "realm" => "webdav",
             "require" => "valid-user" ) )
    }
}

Et enfin, redémarrez lighttpd.

Biensûre, si vous voulez pousser un peux plus loin tout ceci vous pouvez également connecter celà à un annuaire LDAP par exemple.

3.2 Webdav

Maintenant configurons le fichier qui va nous intéresser (ici /var/www/photos). Nous allons d'abord créer un fichier htpasswd :

Command htpasswd
htpasswd -c /var/www/photos/galleries/.htpasswd www-data

Je choisi ici volontairement www-data. Mais il est préférable d'utiliser un utilisateur bien contrêt. Nous allons lui mettre également les bons droits :

Command chown
chown www-data. /var/www/photos/galleries/.htpasswd

4 Ressources

How To Set Up WebDAV With Lighttpd