4. WebDAV サービスの設定と起動

ここは易しいところです。このセクションで、我々は Apache のルート配下 にあるディレクトリで WebDAV を有効にします。

4.1. /usr/local/apache/conf/httpd.conf の修正

/usr/local/apache/conf/httpd.conf に、以下の Apache ディレクティブがあることを確かめてください。


  Addmodule mod_dav.c

もしなければ追加してください。このディレクティブは、Apache に DAV の機能を知らせるものです。このディレクティブは、あらゆるコンテナ の外側に置かれなくてはなりません。

次に、Apache が DAVLockDB ファイルを格納するよう指定しなくてはなりません。 DAVLockDB は、WebDAV のロック・データベースです。このディレクトリは、 httpd プロセスにより書きこみ可能であるべきです。

私は DAVLock ファイルを /usr/local/apache/var の下に格納しています。このディレクトリは他の用途にも利用しています。 あなたの /usr/local/apache/conf/httpd.conf に以下の一行を追加し、DAVLockDB ファイルが /usr/local/apache/var の下にあることを指定してください。


  DAVLockDB      /usr/local/apache/var/DAVLock 

このディレクティブは、あらゆるコンテナの外側に置かれなくてはなりません。

4.2. DAVLockDB 用のディレクトリの作成

上記の通り、ウェブサーバのプロセスにより書きこみ可能なディレクトリを、 DAVLockDB 用に作成しなくてはなりません。通常ウェブサーバのプロセスは、 'nobody'ユーザ権限で動作します。 以下のコマンドを使い、このことを確かめてください。
ps -ef | grep httpd
/usr/local/apache 配下にディレクトリを作成し、 以下のコマンドによりパーミッションを設定してください。


  # cd /usr/local/apache
  # mkdir var
  # chmod -R 755 var/
  # chown -R nobody var/
  # chgrp -R nobody var/

4.3. DAV を有効にする

DAV を有効にするのは、ちょっとした操作で済みます。Apache ルート配下の ディレクトリで DAV を有効にするには、その特定ディレクトリの設定 を行うコンテナに、以下のディレクティブを追加してください。


  DAV On

このディレクティブは、指定したディレクトリとそのサブディレクトリに対して DAV を有効にします。

以下に /usr/local/apache/htdocs/DAVtest 上で WebDAV と LDAP 認証を有効にするサンプル設定を示します。これを /usr/local/apache/conf/httpd.conf ファイルの中に入れてください。


 DavLockDB /tmp/DavLock
<Directory "/usr/local/apache2/htdocs/DAVtest">
Options Indexes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
AuthName "SMA Development server"
AuthType Basic
LDAP_Debug On
#LDAP_Protocol_Version 3
#LDAP_Deref NEVER
#LDAP_StartTLS On
LDAP_Server you.ldap.server.com 
#LDAP_Port 389
# If SSL is on, must specify the LDAP SSL port, usually 636
LDAP_Port 636
LDAP_CertDbDir /usr/local/apache2/sslcert
Base_DN "o=SDS"
UID_Attr uid
DAV On
#require valid-user
require valid-user 
#require roomnumber "123 Center Building"
#require filter "(&(telephonenumber=1234)(roomnumber=123))"
#require group cn=rcs,ou=Groups
</Directory>

4.4. DAVtest ディレクトリの作成

前のセクションで述べたように、全 DAV ディレクトリが、ウェブサーバの プロセスにより書きこみ可能でなくてはなりません。この例では、 ウェブサーバが'nobody'というユーザ名で 動作していると仮定します。 普通はこうなっています。httpd がどのユーザ権限で動作しているか調べるには、 以下のコマンドを使ってください。

# ps -ef | grep httpd

/usr/local/apache/htdocs 配下に 'DAVetst' という名前のテスト用ディレクトリを作成してください。

# mkdir /usr/local/apache/htdocs/DAVtest

ディレクトリ上で httpd プロセスによる書きこみが可能になるように、 パーミッションを変更してください。httpd が 'nobody' ユーザ権限で動作しているなら、以下のコマンドを使用してください。


  # cd /usr/local/apache/htdocs
  # chmod -R 755 DAVtest/
  # chown -R nobody DAVtest/
  # chgrp -R nobody DAVtest/

4.5. Apache の再起動

最後に、Apache に同梱されている設定試験ルーチンを走らせて、 httpd.conf の構文を検査しなければなりません。

# /usr/local/apache/bin/apachectl configtest

エラーメッセージが出たら、上記手順をすべて正しく行ったか確認 してください。もしエラーメッセージを理解できなければ、 気軽に私にエラーメッセージを電子メール (saqib@seagate.com) で送ってください。

設定試験が成功するなら、Apache ウェブサーバを起動してください。

# /usr/local/apache/bin/apachectl restart

これであなたは、LDAP 認証と SSL 暗号化を備え、 WebDAV が有効となった Apache サーバを手にしたことになります。

4.6. WebDAV サーバがプロトコルに準拠しているか試験する

我々がインストールした WebDAV 機能が、WebDAV バージョン 2 プロトコル を完全に準拠しているかどうかは非常に重要です。もし完全に互換でないと、 クライアント側の WebDAV アプリケーションが適切に機能しません。

プロトコルに準拠しているか試験するには、Litmus というツールを使います。 Litmus は WebDAV サーバプロトコル準拠を試験するテストスイートで、 サーバが RFC2518 に規定される WebDAV プロトコルに準拠しているか どうかを試験することを目的としています。

http://www.webdav.org/neon/litmus/ から Litmus のソースコードを ダウンロードし、それを /tmp/downloads ディレクトリに置いてください。

それから gzip と tar を使い、ファイルを展開します。


# cd /tmp/downloads
# gzip -d litmus-0.6.x.tar.gz
# tar -xvf litmus-0.6.x.tar
# cd litmus-0.6.x

Litmus のコンパイルとインストールは簡単です。


# ./configure
# make
# make install

make install で Litmus のバイナリファイルを /usr/local/bin の下に、またそのヘルプファイルを /usr/local/man の下にインストールします。

インストールしてある WebDAV サーバがプロトコルに準拠していることを 試験するには、以下のコマンドを用いてください。


# /usr/local/bin/litmus http://you.dav.server/DAVtest userid passwd