ApacheとWebDAVを用いたコラボレーション型オーサリングプラットフォームの構築Leverage OSS(1/2 ページ)

Webサーバに格納しているファイル群を、直接編集できたら便利だと思ったことはないだろうか? それを可能にしてくれるのがWebDAVである。

» 2007年08月24日 11時59分 公開
[Murthy-Raju,Open Tech Press]
SourceForge.JP Magazine

 Webサーバに格納しているファイル群を、ダウンロード/編集/再アップロードという手間をかけることなく、直接編集できたら便利だと思ったことはないだろうか? それを可能にしてくれるのがWeb-based Distributed Authoring and Versioning(WebDAV)である。

 WebDAVサーバそのものは、HTTPを基本プロトコルとしたファイルサーバ的な機能をするが、ここで注目すべきはコラボレーティブな編集およびバージョン管理に対応している点だ。例えばWebサーバやエンタープライズドキュメント管理システムを運用する場合は、複数の人間による個別的なファイル編集に対処する必要があるが、WebDAVを使えばそうした環境下での書き込み権限管理を行えるのである。こうしたWebDAVを運用する場合、その基本機能だけであれば Apacheモジュールのmod_davおよびmod_dav_fsだけで賄えないこともないが、バージョニング機能もサポートさせるにはApache用のSubversionモジュールであるmod_dav_svnが必要となる。

 WebDAVの実態は、コラボレーティブなWebオーサリングをするためのHTTP拡張セットであると考えればいいだろう。本来のHTTPでは行えない、ファイルのロック/アンロック、プロパティ設定、プロパティベースの検索、削除といった操作を行えるように拡張するのである。ここで言うプロパティとは、リソースの内容を説明するためのメタデータで、任意のキー値を組み合わせたものを設定しておく。例えば“TargetAudience”というプロパティを持つリソースに対して“Accounts Department Staff”という値をつけておくといった使い方である。こうしたWebDAV用の機能拡張の1つとして用意されているのが、サーバ上に置かれた同一リソースの複数バージョンを管理するバージョニングサポートである。特にWebDAV用のバージョニングサポートは、Delta-Vとして広く知られている。

 WebDAVの主要な機能は、後記のように整理できる。

オーサリング関係

  • ファイルのダウンロードおよびアップロード
  • ロック機構を介した上書きの禁止
  • プロパティ機能を介したサーバに格納されたリソースの内容説明(メタデータ)
  • サーバ上でのリソースの複製や移動
  • アクセスの制御
  • 検索用の機能

バージョニング関係

  • チェックイン、チェックアウト、チェックアウトのキャンセル、アップデート
  • バージョン管理
  • バージョンリポート
  • マージ

 WebDAVの基本機能に関する限り、Apacheサーバ側の設定はきわめて簡単である。mod_davおよびmod_dav_fsは Apacheにバンドルされており、デフォルトでインストールされるからだ。WebDAVの基本機能は、後記の3ステップで起動可能となる。

1. Apacheの設定ファイルhttpd.confに後記の行が記述されていることを確認して、これらがコメントアウトされている場合は解除しておく。

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so


2. 設定ファイルhttpd.confに後記の行が記述されていることを確認する。

DAVLockDB /var/lib/dav/lockdb

Alias /dav /var/www/html/davRepository

<location /dav>

Dav On

</location>


3. WebDAVで使用するディレクトリおよびそこに格納するファイルに対して、Apacheからのアクセスに必要なパーミッションが与えられているかを確認する。

 変更した設定を有効化させるため、root権限を取得して「/etc/init.d/httpd reload」を実行して、Apacheの設定をリロードさせておく。次に試験用の幾つかのファイルを/var/www/html/davRepositoryディレクトリに追加して、WebDAVクライアントが正常に機能するかを確認する。

 WebDAVベースでファイル共有環境を構築する場合は、セキュリティに注意する必要がある。この場合のアクセス制限は、Apacheのアクセス制御ディレクティブを用いて施すことができる。そのほか、ApacheでサポートされているBasicやDigestなどの認証機能を使用することで、パスワード認証によるリソース保護を行うことも可能である。いずれにせよ、Apache上でWebDAVを有効化する場合は、事前にアクセス制御機能を実装しておかなければならない。

WebDAVクライアント

 制限付きではあるが、FirefoxからでもWebDAVの機能は使用できる。この場合、WebDAVフォルダに格納されたフォルダおよびファイルの一覧を表示させることはできるが、これらのファイルはすべて読み込み専用となり、ブラウザ側から変更を施すことはできない。ディレクトリリスティングを表示させるには、URLに「http://hostname/dav/」と指定すればいい。このディレクトリリスティングは、通常のApache処理によって生成されるディレクトリリスティングとよく似た形式になる。

 WebDAVフォルダに新規ファイルをアップロードしたり既存フォルダに変更を加えるには、NautilusやKonquerorなどのWebDAVに対応したファイルブラウザを使用する必要がある。Nautilusから操作する場合はURLを「dav://hostname/dav」と指定する。これによりフォルダの内容がNautilusウインドウ上に表示されるはずで、その後はローカルフォルダとの間でドラッグアンドドロップによるファイルの移動が行える。

 スタンドアローン形式のDAVクライアントとしては、Javaで記述されたDavExplorerが存在する。同種のツールは各種存在しているが、このツールの場合はバージョニングやメタデータの編集といったWebDAV機能をサポートしている。

 コマンドライン形式のWebDAVクライアントとしては、多くのLinuxディストリビューションにcadaverというツールが同梱されている。その操作コマンドは、コマンドライン形式のFTPクライアントのものとよく似ている。cadaverの起動コマンドは「cadaver hostname/WebDAV share location」であり、この場合はhttp://www.myhost.com/dav/などを指定すればいい。これによりFTPシェルとよく似たcadaverシェルが起動され、get、put、mget、mputなどのコマンドを入力できるようになる。cadaverの特徴は、NautilusなどのファイルブラウザよりもWebDAV機能への対応度が高い点で、例えば、propset、propget、propdelといったリソース関連のメタデータ管理を実行できる。

       1|2 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ