テクノロジーガイド

LighttpdでWebDAVの仮想ホストを設定してクライアントから接続する

2 min read サーバー構築 更新されました 21 Sep 2025
LighttpdでWebDAVを仮想ホストに設定する
LighttpdでWebDAVを仮想ホストに設定する

概要

この手順は次をカバーします:

  • WebDAV用ユーザーを作成するためのhtpasswdの利用
  • 認証ファイルの所有権とパーミッション設定
  • lighttpdの仮想ホスト(vhost)設定で/webdavパスに限ってWebDAVを有効化
  • 動作確認(cadaver)
  • Windows XP と GNOME クライアントの接続ヒント

用語1行定義:

  • WebDAV: HTTP上でファイル操作(アップロード/ダウンロード/ロック)を可能にする拡張プロトコル。

重要: 本番環境では必ずHTTPS(ポート443)での利用を検討してください。認証情報やデータが平文で流れるのを防止します。

4 仮想ホストをWebDAV用に設定する

まず、WebDAV認証用のパスワードファイルを作成します。ここでは /var/www/web1/passwd.dav を使い、ユーザー名は test とします。-c オプションはファイルが存在しない場合に新規作成します。

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

プロンプトに従いパスワードを入力してください。既存ファイルがある場合は -c を使うと上書きされ、既存ユーザーが消えるので注意してください。

次に passwd.dav の所有者とパーミッションを制限します。root と lighttpd グループのメンバーのみが読み取り可能にします。

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

その後、仮想ホスト設定を編集して /webdav へのアクセスでのみ WebDAV を有効にします。設定ファイルを編集します:

vi /etc/lighttpd/lighttpd.conf

次のようなブロックを該当する vhost 部分に追加または編集してください:

[...]
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  alias.url = ( "/webdav" => "/var/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    dir-listing.activate = "enable"
    webdav.activate = "enable"
    webdav.is-readonly = "disable"
    auth.backend = "htpasswd"
    auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav"
    auth.require = ( "" => ( "method" => "basic",
                             "realm" => "webdav",
                             "require" => "valid-user" ) )
  }
}

ポイント: alias.url と URL の正規表現により、/webdav アクセス時のみ WebDAV 機能が有効になります。それ以外のパスは通常のHTTPとして振る舞います。

編集後、lighttpd を再起動します:

/etc/init.d/lighttpd restart

重要な注意

  • 既に passwd.dav が存在する場合は htpasswd の -c を使わないでください。ファイルが消えます。
  • 本番ではベーシック認証は HTTPS と組み合わせて使ってください。

5 WebDAV のテスト

コマンドラインの WebDAV クライアント cadaver を使って動作確認します(例は RHEL/CentOS 系):

yum install cadaver

動作確認コマンド:

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

ユーザー名で test、先ほど設定したパスワードを入力します。成功すれば WebDAV シェルに入れます。終了するには quit と入力します。例:

[root@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.
[root@server1 ~]#

6 Windows XP クライアントを WebDAV に接続する

詳細は外部ドキュメントにありますが、ポイントは次の通りです:

  • URL にポート番号を明示してください。例: http://www.example.com:80/webdav
  • ポートを入れることで Windows XP が通常のユーザー(test)を受け入れることがあります。ポートを入れない場合、XP は NTLM 形式(DOMAIN\user)を期待する挙動を示すことがあります。
  • Windows のエクスプローラから「ネットワーク ドライブの割り当て」や「\<サーバ> への接続」で試せますが、OS のバージョンやアップデート状況で互換性が変わる点に注意してください。

7 Linux(GNOME)クライアントを接続する

GNOME(Nautilus)では「サーバへ接続」から dav プロトコルで接続できます。例:

  • URI: dav://www.example.com/webdav または http://www.example.com/webdav
  • 認証が必要な場合はプロンプトで test とパスワードを入力

または davfs2 を用いてシステムにマウントする方法もあります(fstab に設定して永続マウント可能)。

トラブルシューティング

  • 認証エラー
    • passwd.dav のパーミッションを確認(chmod 640 /chown root:lighttpd)。
    • lighttpd がアクセスするユーザーが lighttpd グループに入っているか確認。
  • 403/404 エラー
    • alias.url と document-root のパスが正しいかを確認。
    • webdav.activate が該当の URL ブロック内で有効か確認。
  • SELinux を利用している場合
    • SELinux が有効だとアクセスがブロックされる可能性があります。audit ログを確認し、必要なら boolean やファイルコンテキストを調整してください。
  • Windows クライアント特有の問題
    • XP の場合はポートを明示してみる。
    • 資格情報がキャッシュされている場合は Windows の資格情報マネージャで確認・削除して再接続。
  • SSL/鍵の問題
    • HTTPS を利用する場合、証明書の信頼チェーンがクライアントで正しく設定されているかを確認。

代替アプローチと運用上の選択肢

  • Apache + mod_dav を使う: より多機能でモジュールやドキュメントが豊富。
  • davfs2 を使ってクライアント側でWebDAVをファイルシステムとしてマウントする(Linux)。
  • ファイル共有用途であれば、SFTPやSMBを検討する。WebDAVはHTTPベースのためファイルロックや大ファイルの扱いに差異あり。

管理者向けチェックリスト

  • /var/www/web1/passwd.dav を作成済み(-c は既存時に使用しない)
  • passwd.dav の所有権とパーミッション設定済み(root:lighttpd, 640)
  • lighttpd の vhost に webdav ブロックを追加
  • lighttpd を再起動しエラーログを確認
  • cadaver 等で接続テストを実施
  • ファイアウォールでポート80/443 が開いているか確認
  • HTTPS を導入する計画を立てる(本番推奨)

受け入れ基準

  • cadaver または GUI クライアントで /webdav に接続できること
  • 作成ユーザー(例:test)でファイルの読み書きができること(読み書き許可を付けた場合)
  • 他の vhost パスは通常のHTTPとして動作すること

追加リンク


まとめ: 上記手順で WebDAV を /webdav に限定して有効にし、認証ファイルの適切なパーミッション管理、動作確認を行えば安全に運用を開始できます。運用ではHTTPS化、SELinux・ファイアウォールの確認、クライアント互換性の検証を必ず行ってください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

共有PCでウェブアクセスを制限する方法とツール
家庭向けセキュリティ

共有PCでウェブアクセスを制限する方法とツール

パソコンにUSBポートを追加する最適な方法
ハードウェア

パソコンにUSBポートを追加する最適な方法

Photoshopのプログラムエラーを迅速に修正する方法
トラブルシューティング

Photoshopのプログラムエラーを迅速に修正する方法

LighttpdでWebDAVを仮想ホストに設定する
サーバー構築

LighttpdでWebDAVを仮想ホストに設定する

YouTubeの検索履歴を表示・削除する完全ガイド
プライバシー

YouTubeの検索履歴を表示・削除する完全ガイド

Snapchatのスナップスレッドを取り戻す方法
ソーシャル

Snapchatのスナップスレッドを取り戻す方法