WebDAV 設定 · 1 min read · Dec 17, 2025

Debian 8 (Jessie) に Lighttpd で WebDAV をインストールする方法

このガイドでは、Debian 8 (Jessie) サーバーで Lighttpd を使用して WebDAV を設定する方法を説明します。WebDAV は Web-based Distributed Authoring and Versioning の略で、ユーザーが FTP を介してファイルをダウンロード/アップロードする必要なく、Lighttpd サーバー上のファイルを直接編集できるようにする HTTP プロトコルの拡張セットです。もちろん、WebDAV はファイルのアップロードとダウンロードにも使用できます。

1 前提条件

ここでは、IP アドレス 192.168.1.100 の Debian 8 サーバーを使用しています。私のセットアップは Debian ミニマルサーバーのチュートリアルに基づいていますが、まだ Web サーバーが実行されていない任意の Debian システムでも問題ありません。

2 WebDAV のインストール

lighttpd(まだインストールされていない場合)、lighttpd WebDAV モジュール、および apache2-utils パッケージ(後で WebDAV シェア用のパスワードファイルを生成するために必要な htpasswd ツールを含む)を次のようにインストールできます。

apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils

その後、/var/run/lighttpd ディレクトリが www-data ユーザーとグループに所有されていることを確認する必要があります。このディレクトリには WebDAV に必要な SQLite データベースが含まれます。

chown www-data:www-data /var/run/lighttpd/

次に、mod_auth と mod_webdav モジュールを有効にします。

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

その後、Lighttpd を再読み込みします。

service lighttpd force-reload

3 仮想ホストの作成

これから、/var/www/web1/web ディレクトリに Lighttpd vhost ( www.example.com) を作成します。WebDAV を有効にしたい vhost がすでにある場合は、このチュートリアルをあなたの状況に合わせて調整する必要があります。

まず、/var/www/web1/web ディレクトリを作成し、lighttpd ユーザー( www-data)をそのディレクトリの所有者にします。

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

次に、/etc/lighttpd/lighttpd.conf を開き、ファイルの最後に次の vhost を追加します。

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

その後、lighttpd を再起動します。

service lighttpd restart

4 WebDAV 用に仮想ホストを構成する

次に、ユーザー test で WebDAV パスワードファイル /var/www/web1/passwd.dav を作成します(-c スイッチはファイルが存在しない場合にファイルを作成します)。

htpasswd -c /var/www/web1/passwd.dav test

ユーザー test のパスワードを入力するように求められます。

(/var/www/web1/passwd.dav がすでに存在する場合は -c スイッチを使用しないでください。これはファイルを最初から再作成することになり、そのファイル内のすべてのユーザーが失われます!)

次に、/var/www/web1/passwd.dav ファイルの権限を変更して、root と www-data グループのメンバーのみがアクセスできるようにします。

chown root:www-data /var/www/web1/passwd.dav  
chmod 640 /var/www/web1/passwd.dav

次に、/etc/lighttpd/lighttpd.conf の vhost を次のように修正します。

nano /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"  
    dir-listing.activate = "enable"  
    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" ) )  
  }  
}

alias.url ディレクティブは、$HTTP[“url”] =~ “^/webdav($|/)” と組み合わせて、/webdav を呼び出すと WebDAV が起動し、vhost のドキュメントルート全体にアクセスできるようにします。その vhost の他のすべての URL は依然として「通常の」HTTPです。

その後、Lighttpd を再起動します。

service lighttpd restart

5 WebDAV のテスト

次に、コマンドライン WebDAV クライアントである cadaver をインストールします。

apt-get -y install cadaver

WebDAV が機能するかどうかをテストするには、次のように入力します。

cadaver http://www.example.com/webdav/

ユーザー名を入力するように求められます。test と入力し、次にユーザー test のパスワードを入力します。すべてがうまくいけば、アクセスが許可され、WebDAV が正常に動作していることを意味します。WebDAV シェルを終了するには quit と入力します。

root@server1:/home/administrator# 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.  
root@server1:/home/administrator#

6 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。