
Apache 2.0でWebDAV
− 変更点と日本語リソース問題の解決 −
Apache 2.0の正式リリースにより、WebDAVも新たな段階に入った。拡張性が加わり可能性が広がった一方で、1.3時代のmod_encodingがうまく機能しないといった問題も浮上した。
宮本 久仁男<miyamotokn@nttdata.co.jp>
NTTデータ システム開発事業本部
基盤システム事業部 第一ソリューション技術担当
2002/6/25
待望のApache 2.0正式リリース
いささか旧聞に属しますが、2002年4月にApache 2.0が「2.0.35」として正式リリースされました。2002年6月現在は、「2.0.39」が最新となっています。Apache 2.0になって、Apache 1.3では別リリースだったWebDAVサポートが含まれるようになりました。
WebDAVサポートを含むApache 2.0の新機能は、大ざっぱにはApache 2.0の新機能とその実力によくまとまっています。ただし、正式リリースまでに機能追加が行われた部分や不安定になってしまった部分がいくつか見受けられます(注)。
| 注:それらの中には、安定すればWebDAVを利用するに当たって非常に有用なものも見られます。 |
本稿では、
- Apache 2.0でWebDAVを利用するには?
- 日本語リソース名の問題とその解決
といった点について紹介しますが、「安定すれば有用なものは何か?」についても解説します。また、バージョニングの実装であるSubversionについても、回を改めて紹介する予定です。
なお、WebDAVプロトコルそのものおよびApache 1.3での日本語リソース名の利用については、手前味噌ではありますが次世代プロトコルWebDAVの可能性で詳細に解説していますので、そちらの記事を参照してください。
mod_dav on Apache 2.0概要
冒頭で述べたように、Apache 2.0になってWebDAVプロトコルをサポートするためのモジュールであるmod_davが同梱されるようになりました。Apache 1.3までは1モジュールでWebDAV機能を提供していたmod_davですが、Apache 2.0からは「mod_dav」と「mod_dav_fs」という2つのモジュールに分割されました。
- mod_dav
WebDAV機能のフロントエンドモジュール。WebDAVプロトコルを解釈し、バックエンドのモジュールに引き渡す。
- mod_dav_fs
WebDAV機能のバックエンドモジュール。mod_davから指示を受け、実際の動作を行う。
mod_dav_fsはその名が示すとおり、mod_davの命令をファイルシステム上のファイル操作に置き換えて実行します。
モジュールが2分割されたことにより、プロトコル処理部分とそれ以外のバックエンドの部分が明確に分離されました。これにより、例えばDBMSのアクセスを行うバックエンドのモジュールを作り、mod_davと組み合わせるといったことも可能になりました。
フロントエンドモジュールとバックエンドモジュールの関係を簡単にまとめた例を図1に示します。
![]() |
| 図1 フロントエンドモジュールとバックエンドモジュール |
図中の「mod_dav_db」というバックエンドモジュールは、「DBをアクセスするためのバックエンドモジュールの例」として出したものであり、そのようなモジュールが存在するわけではありません。もしかしたら、どこかで開発されているかもしれませんが……。
Apache 2.0へのWebDAV機能の組み込み
同じソースツリーにmod_dav(とmod_dav_fs)が組み込まれているため、コンパイル自体は非常に簡単になりました。ここでは、Apache 2.0.39をベースに、実際のインストールについて解説します。
■ソースコードの展開とconfigure
ソースコードをhttp://www.apache.org/dist/httpd/などから入手し、適当なディレクトリに保存・展開して生成されたディレクトリに移動します。
$ gzip -dc httpd-2.0.39.tar.gz | tar xvf - |
次に、configureとmakeを行います。
$ ./configure --enable-shared=yes --enable-dav=yes |
単にWebDAV機能を有効にするだけでしたら、--enable-shared=yesというオプションは必要ないのですが、この後でmod_encodingやバージョニング拡張の機能を組み込むときに、DSO(Dynamic Shared Object)対応になっていないといささか面倒なので、今回はあえてこの指定をします。また、mod_davとmod_dav_fsは、--enable-dav=yesと指定することで、両方とも組み込まれます。
■インストールとモジュールの確認
makeが終わったら、rootになってインストールします。
$ su root |
ここまでで、WebDAVとDSOに対応したApache 2.0がインストールできます。configureでインストール先のディレクトリを指定しない場合は、/usr/local/apache2配下に実行ファイル、設定ファイル、開発ツール、ドキュメント類などの一式がインストールされます。
インストールされた実行ファイル(httpd)を-lオプション付きで実行すると、組み込まれているモジュールが分かります。今回の場合、mod_so.c、mod_dav.c、mod_dav_fs.cの3つが組み込まれていれば問題ありません。以下は、筆者がコンパイルしたApache 2.0での実行結果です。
# /usr/local/apache2/bin/httpd -l |
Apacheの設定と注意
上記の例のとおりにconfigure && make && make installした場合は、/usr/local/apache2/confにhttpd.confがあると思います。
WebDAVの使用設定については、Apache 1.3+mod_davと変わっていません。通常のHTTPサーバとしての設定に加えて、例えば、
Alias /davtest "/home3/dav" |
と書けば、/davtestに対するDAVアクセスが可能になります。
この例において、DAVアクセスされるディレクトリである/home3/davおよびロックファイルが作成される/usr/local/apache2/varについては、httpdが走行するユーザー権限(注)で書き込み可能にしておく必要があります。
| 注:httpd.confファイル内で、UserディレクティブとGroupディレクティブを用いて指定します。 |
なお、アクセスコントロールの必要性については、WebDAV時代のセキュリティ対策でその危険性と対処方法について解説していますので、ここでは割愛させていただきます。
単にWebDAV機能を使うだけであれば、ここまでの設定でほとんど問題ありません。ただし、ServerNameディレクティブの設定を行っていないと、IPアドレスを使ったWebフォルダの指定で不具合が出ることがあります。このような場合は、ServerNameディレクティブに、
ServerName:192.168.1.2:80 |
のような形で「自身のIPアドレス:ポート番号」を記述することで回避できました。ServerNameの詳細については、サンプルのhttpd.confなどに詳細な記述があるので参考にしてください。
|
1/2
|
|
||||
|
||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム WebDAV関連記事 |
| 特集:次世代プロトコルWebDAVの可能性[前編] 技術仕様徹底解説 将来、SambaやCVSを不要にする可能性を秘めた「WebDAV」。このプロトコルの仕様から実用化までを徹底解説。今回は、技術仕様を明らかにする |
|
| 特集:次世代プロトコルWebDAVの可能性[中編] WebDAVクライアント/サーバ環境の構築 WebDAVの実装はすでに存在する。LinuxによるWebDAVサーバの構築とクライアントの整備を行い、実際に使ってみよう |
|
| 特集:次世代プロトコルWebDAVの可能性[後編] 日本語ファイル名の利用とバージョン管理 日本語ファイル名を扱えるようにするほか、WebDAVの「V」を司るバージョン管理機能を実現。WebDAV解説完結編! |
|
| 特集:WebDAV時代のセキュリティ対策[前編] WebDAVのメソッドは便利な反面、セキュリティホールとなり得る。しかし、適切な対策を講じることでメソッドの危険性は取り除くことができる |
|
| 特集:WebDAV時代のセキュリティ対策[後編] WebDAVの使用に際し、包括的な対策を行っておくのも重要である。何をどのように設定すればよいのかをここで明らかにする |
|
| 特集:Apache
2.0でWebDAV Apache 2.0の正式リリースでWebDAVも新たな段階に入った。一方で、1.3時代のmod_encodingがうまく機能しないという問題も浮上した |
|
| 特集:Subversionによるバージョン管理 DeltaVがRFCとしてリリースされ、WebDAVのバージョン管理機能も足元か固まった。DeltaVの実装である「Subversion」を導入しよう |
|
| Linux Squareフォーラム全記事インデックス |
|
ホワイトペーパー(TechTargetジャパン)
- natテーブルを利用したLinuxルータの作成 (2010/2/9)
natテーブルを用い、市販のブロードバンドルータと同等かそれ以上の機能を備える「Linuxルータ」を作成してみましょう - Web監視機能を賢く利用する (2010/2/2)
プロセスの稼働確認だけでは、サービスが正常に提供できているか分からないことも。そこで使いたいのがWeb監視です - ものいわぬOpenLDAPサーバのログ管理 (2010/1/20)
不満をいわないコンピュータが相手だからこそ、常にログが確認できる状態を整備することが重要になります - ネットワークアクセス権も放棄せよ (2010/1/12)
新しいセキュリティ機構「disablenetwork」を提案する1通のメールから始まった議論が、LSMも巻き込む話へと拡大しました
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |







