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-reload3 仮想ホストの作成
これから、/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 restart4 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 restart5 WebDAV のテスト
次に、コマンドライン WebDAV クライアントである cadaver をインストールします。
apt-get -y install cadaverWebDAV が機能するかどうかをテストするには、次のように入力します。
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 リンク
- WebDAV: http://www.webdav.org/
- Lighttpd: http://www.lighttpd.net/
- Debian: http://www.debian.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。