LighttpdでFedora 9にWebDAVを設定する方法
概要
このガイドは、Fedora 9サーバー上でlighttpdにWebDAVを設定する手順を説明します。WebDAVは「Web-based Distributed Authoring and Versioning」の略で、HTTPの拡張によりユーザーがサーバー上のファイルを直接編集したり、アップロード/ダウンロードできるようにします。本手順は一般的な構成例であり、環境に合わせた調整が必要です。
重要: 本手順が全ての環境で動作することを保証しません。運用前にテスト環境で検証してください。
前提条件
- この例ではサーバーのIPを192.168.0.100とします。環境に応じて変更してください。
- root権限で作業します。
- Fedora 9が稼働していること。
1 インストール
lighttpd(およびWebDAVモジュール)と、htpasswdコマンドを含むhttpd-toolsをインストールします:
yum install lighttpd httpd-toolslighttpdを自動起動に登録して起動します:
chkconfig --levels 235 lighttpd on
/etc/init.d/lighttpd start2 モジュールの有効化
/etc/lighttpd/lighttpd.confを編集し、server.modulesセクションにmod_alias、mod_webdav、mod_authを追加します。mod_webdavはmod_authの前に来るようにしてください。
vi /etc/lighttpd/lighttpd.conf下記のようなserver.modulesスタンザをファイル内で探して編集します(抜粋):
[...]
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" )
[...]編集後にlighttpdを再起動します:
/etc/init.d/lighttpd restart3 仮想ホストの作成
ここでは例として www.example.com のvhostを /var/www/web1/web に作成します。既存のvhostを使う場合は適宜読み替えてください。
ディレクトリを作成し、lighttpdユーザーを所有者にします:
mkdir -p /var/www/web1/web
chown lighttpd:lighttpd /var/www/web1/weblighttpdの設定にvhostを追加します:
vi /etc/lighttpd/lighttpd.confファイル末尾に次を追加します:
[...]
$HTTP["host"] == "www.example.com" {
server.document-root = "/var/www/web1/web"
}追加後、lighttpdを再起動します:
/etc/init.d/lighttpd restart4 基本認証とパスワードファイル(推奨)
WebDAVはファイル操作を許可するため、少なくとも基本認証で保護することを推奨します。htpasswdでユーザーを作成します:
htpasswd -c /etc/lighttpd/webdav.passwd user1このファイルをlighttpdプロセスが読み取れるように適切にパーミッションを設定してください(例: root:root で600)。mod_authの設定方法はlighttpdのドキュメントを参照し、上で作成したパスワードファイルを使うように設定します。
重要: 認証設定は必須ではありませんが、未認証で書き込みが可能な公開WebDAVはセキュリティリスクが高いです。
5 セキュリティと実運用の注意点
- HTTPSを必ず使用してください。認証情報は平文で送られるため、HTTPだと盗聴されます。
- ファイアウォールでポート80/443を開放する際は最小限の許可にしてください。
- SELinuxが有効な環境では、書き込みやアクセスがブロックされることがあります。/var/log/audit/audit.logを確認し、必要に応じてファイルコンテキストを調整するか、一時的にポリシーを確認してください。
- 書き込み権限は最小限に。ドキュメントルート配下で書き込みを必要とするディレクトリのみ所有権やパーミッションを調整してください。
6 トラブルシューティングのヒント
- サービスが起動しない: /var/log/lighttpd/error.log を確認。設定ミスや構文エラーが多いです。
- WebDAVのPUT/DELETEが失敗する: パーミッション、所有者、SELinux、またはmod_webdavの有効化漏れを確認。
- 認証が効かない: auth設定のスコープ(URLパスの指定)やパスワードファイルのパーミッションを確認。
7 ロール別チェックリスト
- 管理者: lighttpdの起動設定、モジュール有効化、ログ監視を行う。
- 開発者: WebDAVクライアントでアップロード・編集をテスト。
- セキュリティ担当: HTTPS導入、認証方式、SELinuxポリシー、ファイアウォールルールを確認。
8 用語(1行定義)
- WebDAV: HTTPの拡張で、リモートファイルの編集やバージョン管理を可能にする仕組み。
- htpasswd: Apache互換のパスワードファイルを作るコマンドラインツール(httpd-toolsに含まれる)。
サンプル運用チェック(短いSOP)
- 設定変更後は設定合成チェック(config lint)ができるなら実行。
- lighttpdを再起動。
- クライアントでPUT/GET/DELETEを確認(HTTPSかつ認証ありで確認)。
- エラーログを確認し、必要なら権限・SELinuxを調整。
まとめ
このガイドでは、Fedora 9上でlighttpdにWebDAVを導入する基本的な手順を示しました。インストール、モジュール有効化、仮想ホスト作成、認証の準備、運用上の注意点とトラブルシュートのヒントを含みます。実運用ではHTTPSやアクセス制御、SELinuxとファイアウォールの確認を必ず行ってください。
重要: 本手順は環境により調整が必要です。まずはテスト環境で検証してください。