WebDAVクライアント/サーバ環境の構築
次世代プロトコルWebDAVの可能性[中編]

宮本 久仁男<kmiya@coe.nttdata.co.jp>
NTTデータ COEシステム本部
システム技術開発部第三技術開発担当
2001/10/10

クライアント環境の整備

 WebDAVを利用するためには、クライアントもそれに対応したものが必要になる。クライアントとして最も利用されるであろうWindows、そしてUNIX(Linux)それぞれについて、順番に見ていこう。

Windowsは標準機能のWebフォルダで

 ここでは、一番お手軽と思われるWindows 9xやWindows 2000のWebフォルダ機能を用いることにしよう。cadaverなど、UNIX環境で利用できるクライアントについては後述する。

 ここで取り上げる設定は、Windows 2000 Professionalのものだが、Windows 98などでも似たような手順で設定できる。

画面1 マイネットワークで[ネットワークプレースの追加]をクリック

 [ネットワークプレースの追加]をクリックして、[ネットワークプレースの追加ウィザード]を起動(画面1)。

画面2 WebDAVの設定を行ったURLを入力

 「ネットワークプレースの場所を入力してください」にURLを入力する(画面2)。

画面3 デフォルト名でも構わないが、分かりやすい名前にしておくと使いやすい

 WebDAVでの接続が可能であればこの画面になる。必要であればネットワークプレース名を変更し、[完了]ボタンを押せば設定は終了(画面3)。

画面4 Webフォルダにファイルをコピーしたところ。ローカルドライブと同じ感覚で操作できる

 作成したWebフォルダに対して、ファイルをコピーしてみよう(画面4)。

 なお、古いバージョンのWebフォルダを利用しているときに、大きなファイルをWebフォルダ内に作成すると途中でエラーが発生してしまうことがあった。しかし、Internet Explorer(以下IE)のバージョンを新しいものに置き換える(筆者はIE 5.5 SP2)ことによって、事象の再発はなくなった。

UNIX用クライアント、cadaver

 Windowsでは、Webフォルダを利用することでWebDAVリソースを取り扱うことが可能であるが、UNIX系のOSではどのようにするのか? という問題が出てくる。UNIX用クライアントの実装はいくつかあるが、ここではCによる実装を主に取り上げたい。

 cadaverは、コマンドラインによる利用を想定したWebDAVクライアントである。2001年9月14日時点の最新版は0.17.0で、http://www.webdav.org/cadaver/でソースコードのアーカイブ類が入手可能である。

 cadaver 0.17.0のアーカイブはhttp://www.webdav.org/cadaver/cadaver-0.17.0.tar.gzになる。上記のアーカイブを入手して展開し、作成されたディレクトリ(cadaver-0.17.0)配下に移動して、

$ ./configure
$ make
$ su root
# make install

とすれば問題なくインストールされる()。

:とはいっても、環境によってはconfigureで失敗することがある。筆者の環境では、libexpatはあるがxml関係のヘッダがないというエラーが出たことがある。このような場合は、cadaverのexpatライブラリを利用するようにconfigureパラメータで与えるなり、一時的にexpatライブラリを見えなくするなりして対処してほしい。そのほか、Apache 2.0のCVS snapshotを使っているとコンパイルできなくなることもある。

 cadaverの起動も簡単で、

$ cadaver http://www.foo.bar/DAV/

とすれば、URLで示した(この場合はhttp://www.foo.bar/DAV)WebDAVサーバに接続される。cadaverで利用可能なコマンド一覧を表4に示す。

コマンド名
説明
ls [path] 現在のコレクションにある内容を表示する
cd path 指定したコレクションに移動する
pwd 現在どこのコレクションにいるかを表示する
put local [remote] 指定したローカルファイルをアップロードする
get remote [local] 指定したリソースをダウンロードする
mget remote... 複数のリソースをダウンロードする
mput local... 複数のファイルをアップロードする
edit resource 指定したリソースを編集する(環境変数EDITORで設定したエディタが起動される)
less remote... 指定したリソースをページャで表示する(環境変数PAGERで設定したページャが起動される)
mkcol remote... サーバ上にコレクションを作成する
cat remote... 指定したリソースを表示する
delete remote... コレクションでないリソースを削除する
rmcol remote... コレクションおよびその中に含まれるリソースを削除する
copy source... dest sourceで指定したリソースをdestにコピーする
move source... dest sourceで指定したリソースをdestに移動する
lock resource 指定したリソースをロックする
unlock resource 指定したリソースのロックを解除する
discover resource リソースのロック情報を表示する
steal resource リソースのロックトークンを奪い取る
showlocks 自分がかけたロック一覧を見る
chexec [+|-] remote リソースに対する実行権を変更する
propget resource [propname] 指定したリソースのプロパティを取得する。propnameが指定された場合は、propnameに設定された値を取得する
propset resource propname 指定したリソースのプロパティ名propnameに値valueを設定する(only dead property)
set [option] [value] オプションを指定する、もしくはオプション設定を見る
open URL 指定したURLに対して接続する
close 現在のコネクションを切断する
quit プログラム終了する
unset [option] [value] オプション設定を解除する
lcd [directory] ローカルのワーキングディレクトリを移動する
lls [options] ローカルのディレクトリリストを表示する
lpwd ローカルのワーキングディレクトリを表示する
help [command] ヘルプを表示する
表4 cadaverコマンド一覧。なお、rmはdelete、mkdirはmkcol、mvはmove、cpはcopy、moreはless、bytとexitはquitの別名定義である

そのほかのWebDAVクライアント

 以下に、そのほかどんなWebDAVクライアントがあるかを示す。もちろん、これだけということはないので、自分の用途に合ったものを探し出すなり、なければ作るなりすればよいだろう。

10月16日 WebDAV徹底活用編公開予定
WebDAV上のディレクトリ(フォルダ)/ファイル名に日本語を使う方法や実装が始まったバージョニング機能の追加など、WebDAVをさらに便利にする方法を紹介します。

2/2

Index
WebDAVクライアント/サーバ環境の構築
− 次世代プロトコルWebDAVの可能性[中編] −
  Page 1
WebDAVサーバ環境の構築
 mod_davのインストール
 WebDAVを有効化するための設定
 インストールのトラブルシューティング
  Page 2
クライアント環境の整備
 Windowsは標準機能のWebフォルダで
 UNIX用クライアント、cadaver
 そのほかのWebDAVクライアント

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フォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH