
WebDAVクライアント/サーバ環境の構築
− 次世代プロトコルWebDAVの可能性[中編] −
宮本 久仁男<kmiya@coe.nttdata.co.jp>
NTTデータ COEシステム本部
システム技術開発部第三技術開発担当
2001/10/10
WebDAVサーバ環境の構築
WebDAVの機能を実装しているプロダクトはいろいろあるが、今回はオープンソースのWebサーバであるApacheで、WebDAV機能を提供するためのモジュールであるmod_davを使えるようにしてみよう。
mod_davは、純粋にRFC 2518に記述された範囲の実装である。ファイルの読み書き/作成/削除およびフォルダ(コレクション)の作成/削除を行うことはできても、それ自身がセキュリティ関連の機能を持っているわけではない。そこで必要となるのが別の規約の利用である。例えば、Apacheに実装されているBASIC認証などのセキュリティ機能を用いることが挙げられる。それだけでは不安という人は、SSLやssh、Zebedeeなど、すでに確立された暗号化通信の手段を利用することが可能である。
以下ではRed Hat Linux 6.2を念頭に置いて解説するが、あえてRPMは使わず、tarアーカイブからのインストール方法で説明する。最近のLinux系OSであれば同様の手順で問題はないだろう。
| コラム Windows 2000をサーバにする場合 |
| MicrosoftのWindows 2000上で動作するIIS 5.0でもWebDAV機能は利用可能である。機能の利用方法は、Microsoftのサイト(http://www.microsoft.com/JAPAN/developer/library/jpiis/core/wcwbdav.htm)に必要十分な記述があるので参考にしてほしい。 |
■mod_davのインストール
mod_davのインストール手順を大ざっぱに述べると、以下のようになる。
1.Apacheの構成をチェックする
DSO(Dynamic Shared Object)が利用可能であればmod_davのコンパイル→インストールのみでOKだが、そうでない場合はApacheをDSO利用可能にする必要がある。また、スタティックにmod_davを組み込むことも可能だが、以後の構成変更などを考えると特段の理由がない限りはDSOを使った方がよいだろう。
筆者の試験環境では以下のようにしてApacheをconfigureしたが、適宜必要なパラメータを追加/変更するなどして試してほしい。
$ ./configure --enable-module=most
--enable-shared=max |
configureがうまくいけば、
$ make |
でApacheのインストールは終了する。
2.mod_davのアーカイブを入手する
mod_dav-1.0.2-1.3.6.tar.gzはhttp://www.webdav.org/mod_dav/より入手できる。2001年9月現在のバージョンは1.0.2だ。
なお、Apacheのバージョンは1.3.6以降が対象である。Apache 1.2.xでも動かせるが、バグフィックスなどの関係もあるので、最新のバージョンにしておいた方が望ましい。
3.コンパイルとインストール
mod_davのアーカイブを入手したら、適当なディレクトリで展開してコンパイルおよびインストールを行う。
$ ./configure --with-apxs=apxsコマンドをフルパスで指定 |
ここまでうまくいったら、次は設定である。configureで失敗する場合は、後述の「インストールのトラブルシューティング」を参照してほしい。
■WebDAVを有効化するための設定
mod_davのインストールが終了した時点で、以下の行がhttpd.confファイルに追加されていることを確認する。
LoadModule dav_module libexec/libdav.so |
これが確認できたら、いよいよWebDAVを使うための設定を行う。例では、Webサーバ上の/pagesでDAV機能を有効にする。この場合、httpd.confに以下のような記述を追加すればよい。
<Location /pages> |
このほか、ロックデータベースを格納する場所をDAVLockDBディレクティブで指定する。例えば、
DAVLockDB /usr/local/apache/var/DAVLock
|
とhttpd.confに記述することで、/usr/local/apache/var/というディレクトリにロックデータベースファイルを作成する。このディレクトリは、Userディレクティブで指定するユーザー(編注)でApacheが書き込める設定になっている必要があるので注意してほしい。
| 編注:httpd.confのUserディレクティブ参照。デフォルトはnobodyになっている。 |
ここまでの設定でDAVによるアクセスが可能になるわけだが、これだけだと利用上の不具合がある。このままでは、だれでもDAVアクセスOK(ファイル作成OK)状態なので、/pagesに対応するディレクトリ配下に対して.htaccessなどを使ってアクセス制限をかけておく必要がある。例えば、筆者が自宅で利用しているWebDAVサーバでは、.htaccessの中に
AuthUserFile /home2/wakatono/htpwd/user.pwd |
などとしておいて、GETとOPTIONS以外のメソッドについては認証を行うようにしてある。
また、http://www.webdav.org/mod_dav/install.htmlに設定の例がいくつか掲載されているので参考にしてほしい。その中の1つを参考に解説すると、httpd.conf中での以下のような設定が挙げられる。
<Location /pages> |
このように設定すると、GET、HEAD、OPTIONS以外のメソッドはユーザーwakatonoとして認証が必要となる。
■インストールのトラブルシューティング
mod_davの./configure実行時に、環境によっては以下のようなエラーを出力してconfigureが停止してしまうことがある。
checking for dynamic Apache module
support (via APXS)... found at /usr/local/apache/bin/apxs |
このようなときのトラブルシューティングについて、エラーメッセージ中のURLを参照すると、PHPのFAQを見るようにという旨の指示がある。PHPをビルドするときにもmod_davと同様の現象が発生する可能性があり、PHPのFAQにはその対処方法が掲載されているのだ。
PHPのFAQ(http://www.php.net/manual/en/faq.build.php#AEN63052)には、以下のように記述されている(原文は英語なので、簡単に邦訳してある)。
apxs(編注)中の、
my $CFG_CFLAGS_SHLIB = '
'; |
となっている行(式の右辺は違うことがある。筆者の場合は q()となっていた)を探し、この部分を
my $CFG_CFLAGS_SHLIB = '-fpic
-DSHARED_MODULE'; |
と変更することで対処可能になることがある。
そのほか、Red Hat Linux 6.1/6.2などではapxsの内容が不正な状態になてっていることがあるので、
my $CFG_LIBEXECDIR =
'modules'; # substituted
via APACI install |
という行を探し、
my $CFG_LIBEXECDIR =
'/usr/lib/apache'; # substituted
via APACI install |
に変更すればOKになることがある。
これでもダメならば、Apacheの再構成/再インストールをした方がよいだろう。
| 編注:apxsは、例えば/usr/sbin/apxsや/usr/local/apache/bin/apxsなどにある。Apacheのインストール方法などによって場所が異なるため、localeなどで検索した方が早いだろう。 |
| 前編へ |
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」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |






