連載
» 2001年10月10日 00時00分 公開

次世代プロトコルWebDAVの可能性(2):WebDAVクライアント/サーバ環境の構築 (2/2)

[宮本久仁男,株式会社NTTデータ]
前のページへ 1|2       

クライアント環境の整備

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

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

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

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

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

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

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

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

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

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

画面4 Webフォルダにファイルをコピーしたところ。ローカルドライブと同じ感覚で操作できる 画面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クライアントがあるかを示す。もちろん、これだけということはないので、自分の用途に合ったものを探し出すなり、なければ作るなりすればよいだろう。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。