
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ルータの作成・2 (2010/3/11)
IPパケットのディスティネーションアドレスを書き換える「DNAT」を使って、透過型プロキシを構築します - 一歩進んだ監視のカスタマイズ (2010/3/3)
スクリプトの実行結果などを取得できるユーザーパラメータを用いて、自分のニーズにぴったり合った監視を実現 - OSSライセンス順守の第一歩 (2010/2/18)
企業として、OSSライセンス違反を犯さないためには、どのような手順が必要か、いくつかアドバイスします - 無視できないフラグメンテーション問題への解答は? (2010/2/10)
今回は、メモリコンパクション、そしてメモリバリアを発行するシステムコールという2つのパッチについて深く紹介します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |






