このガイドでは、Debian 8(Jessie)サーバーでLighttpdを使用してWebDAVを設定する方法について説明します。 WebDAVは、Webベースの分散オーサリングとバージョニングの略です。 また、HTTPプロトコルの拡張機能のセットであり、ユーザーがLighttpddサーバー上のファイルを直接編集できるため、FTP経由でファイルをダウンロード/アップロードする必要がありません。もちろん、WebDAVを使用してファイルをアップロードおよびダウンロードすることもできます。
1予備メモ
ここでは、IPアドレスが192.168.1.100のDebian8サーバーを使用しています。私のセットアップはDebianの最小限のサーバーのチュートリアルに基づいていますが、Webサーバーをまだ実行していないDebianシステムは問題ないはずです。
2WebDAVのインストール
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仮想ホスト(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を開き、ファイルの最後に次の仮想ホストを追加します。
nano /etc/lighttpd/lighttpd.conf
[...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" }
その後、lighttpdを再起動します:
service lighttpd restart
4WebDAV用の仮想ホストを構成します
次に、ユーザーテストを使用してWebDAVパスワードファイル/var/www/web1/passwd.davを作成します(ファイルが存在しない場合は、-cスイッチでファイルを作成します):
htpasswd -c /var/www/web1/passwd.dav 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。その仮想ホストの他のすべてのURLは、引き続き「通常の」HTTPです。
その後、Lighttpdを再起動します:
service lighttpd restart
5WebDAVのテスト
次に、コマンドラインWebDAVクライアントであるcadaverをインストールします。
apt-get -y install cadaver
WebDAVが機能するかどうかをテストするには、次のように入力します。
cadaver http://www.example.com/webdav/
ユーザー名の入力を求められます。テストを入力してから、ユーザーテストのパスワードを入力します。すべてがうまくいけば、アクセスが許可されるはずです。これは、WebDAVが正常に機能していることを意味します。 quitと入力して、WebDAVシェルを終了します。
[email protected]:/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.
[email protected]:/home/administrator#
6つのリンク
- WebDAV:http://www.webdav.org/
- lighttpd:http://www.lighttpd.net/
- Debian:http://www.debian.org/