2.0の正式リリースにより、WebDAVも新たな段階に入った。拡張性が加わり可能性が広がった一方で、1.3時代のmod_encodingがうまく機能しないといった問題も浮上した。2.0が「2.0.35」として正式リリースされました。2002年6月現在は、「2.0.39」が最新となっています。1.3では別リリースだったWebDAVサポートが含まれるようになりました。2.0の新機能とその実力によくまとまっています。正式リリースまでに機能追加が行われた部分や不安定になってしまった部分がいくつか見受けられます(注)。注:それらの中には、安定すればWebDAVを利用するに当たって非常に有用なものも見られます。2.0でWebDAVを利用するには?日本語リソース名の問題とその解決といった点について紹介しますが、「安定すれば有用なものは何か?」についても解説します。バージョニングの実装であるSubversionについても、回を改めて紹介する予定です。1.3での日本語リソース名の利用については、手前味噌ではありますが次世代プロトコルWebDAVの可能性で詳細に解説していますので、そちらの記事を参照してください。2.0になってWebDAVプロトコルをサポートするためのモジュールであるmod_davが同梱されるようになりました。2.0からは「mod_dav」と「mod_dav_fs」という2つのモジュールに分割されました。mod_davWebDAV機能のフロントエンドモジュール。WebDAVプロトコルを解釈し、バックエンドのモジュールに引き渡す。mod_dav_fsWebDAV機能のバックエンドモジュール。mod_davから指示を受け、実際の動作を行う。mod_dav_fsはその名が示すとおり、mod_davの命令をファイルシステム上のファイル操作に置き換えて実行します。モジュールが2分割されたことにより、プロトコル処理部分とそれ以外のバックエンドの部分が明確に分離されました。これにより、例えばDBMSのアクセスを行うバックエンドのモジュールを作り、mod_davと組み合わせるといったことも可能になりました。フロントエンドモジュールとバックエンドモジュールの関係を簡単にまとめた例を図1に示します。フロントエンドモジュールとバックエンドモジュール図中の「mod_dav_db」というバックエンドモジュールは、「DBをアクセスするためのバックエンドモジュールの例」として出したものであり、そのようなモジュールが存在するわけではありません。したら、どこかで開発されているかもしれませんが......。2.0へのWebDAV機能の組み込み同じソースツリーにmod_dav(とmod_dav_fs)が組み込まれているため、コンパイル自体は非常に簡単になりました。2.0.39をベースに、実際のインストールについて解説します。ソースコードの展開とconfigureソースコードをhttp://www.apache.org/dist/httpd/などから入手し、適当なディレクトリに保存・展開して生成されたディレクトリに移動します。httpd-2.0.39次に、configureとmakeを行います。Object)対応になっていないといささか面倒なので、今回はあえてこの指定をします。mod_davとmod_dav_fsは、--enable-dav=yesと指定することで、両方とも組み込まれます。インストールとモジュールの確認makeが終わったら、rootになってインストールします。2.0がインストールできます。configureでインストール先のディレクトリを指定しない場合は、/usr/local/apache2配下に実行ファイル、設定ファイル、開発ツール、ドキュメント類などの一式がインストールされます。インストールされた実行ファイル(httpd)を-lオプション付きで実行すると、組み込まれているモジュールが分かります。今回の場合、mod_so.c、mod_dav.c、mod_dav_fs.cの3つが組み込まれていれば問題ありません。2.0での実行結果です。installした場合は、/usr/local/apache2/confにhttpd.confがあると思います。1.3+mod_davと変わっていません。/usr/local/apache2/var/DAVLockと書けば、/davtestに対するDAVアクセスが可能になります。この例において、DAVアクセスされるディレクトリである/home3/davおよびロックファイルが作成される/usr/local/apache2/varについては、httpdが走行するユーザー権限(注)で書き込み可能にしておく必要があります。注:httpd.confファイル内で、UserディレクティブとGroupディレクティブを用いて指定します。アクセスコントロールの必要性については、WebDAV時代のセキュリティ対策でその危険性と対処方法について解説していますので、ここでは割愛させていただきます。WebDAV機能を使うだけであれば、ここまでの設定でほとんど問題ありません。ServerNameディレクティブの設定を行っていないと、IPアドレスを使ったWebフォルダの指定で不具合が出ることがあります。ServerName:192.168.1.2:80のような形で「自身のIPアドレス:ポート番号」を記述することで回避できました。ServerNameの詳細については、サンプルのhttpd.confなどに詳細な記述があるので参考にしてください。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。