無料で3GBのストレージが使えるサービスです。LinuxからならFuseを使っても良いかもしれませんね。
client側の設定 davfs
公開されているwebdav環境にdavfsでアクセスする。
必要なもの
- fuse-2.8.0-pre3
- fuse-davfs2
- kernel-devel
- gcc
とか
kernel-develのインストール
まずはkernel-develを入れる。
> yum install kernel-devel gcc
fuse をインストール
fuse-2.8.0-pre3を取ってくる
wget http://sourceforge.net/projects/fuse/files/fuse-prerelease/2.8.0-pre3/fuse-2.8.0-pre3.tar.gz/download
tar zxf fuse-2.8.0-pre3.tar.gz
cd fuse-2.8.0-pre3
> ./configure
> make
> make nstall以下のコマンドを実行
> ldconfig
> modprobe fusefuse-davfs2を入れる
> yum install fuse-davfs2
設定ファイルの修正
> vi /etc/davfs2/davfs2.conf
dav_user davfs2 # system wide config file only
dav_group davfs2 # system wide config file only
# ignore_home # system wide config file only
kernel_fs fuse# ask_auth 1
ask_auth 0 # 認証不要の場合は0この3箇所をコメント外す。
mountする
mount -t davfs master.dav.kapi.jp/uploads /opt/uploads
これで晴れてwebdavサーバのディレクトリをmount出来る!linuxの場合ならnfsより良い感じ。
手元のCentOS5.4 x86_64の場合には、
yum install fuse-davfs2 —enablerepo=atrpms,dag
とするだけで以下のfuseとfuse-davfs2がセットでインストールされました。
なのでyum installの他は上記手順のmountしか行わずにさくっと出来ました。
fuse.x86_64 2.7.4-8_12.el5 atrpms
fuse-davfs2.x86_64 1.2.2-2.el5.rf dag
WebDAVを使ってファイル送受信を行うツールを作成してみようと思ったのが少し前。しかし、調べてみると面倒そう。もっと手軽にできる方法はないもの かと探していたら、CadaverというWebDAVクライアントがあることを知った。
このCadaver、FTPクライアントのように、処理コマンドをシェルで渡してあげるだけで、一連の処理ができるという優れものらしい。
そうと聞いたら(見たら)使ってみるしかない。さっそくダウンロードしてインストールしてみた。
まずはcadaverのダウンロード。
http://www.webdav.org/cadaver/か ら最新版をダウンロードします。
FTPでもsambaでも何でもいいので、インストールするマシンに転送し、解凍。
$ tar zxvf cadaver-0.22.5.tar.gz
コンパイル。
$ ./Configure
$ make
そして実行ファイルだけを /usr/local/cadaver にコピー。
# mkdir /usr/local/cadaver
# cp -a cadaver /usr/local/cadaver/cadaver
cadaverの実行ファイルを置いたディレクトリにパスを通して、とりあえずは疎通テスト。192.168.0.120にあるWebDAVサーバに接続 してlsコマンドを実行してみました。
$ cadaver http://192.168.0.120/webdav/
Authentication required for Tomcat Supported Realm on server `192.168.0.120’:
Username: username
Password:
dav:/webdav/> ls
Listing collection `/webdav/’: succeeded.
Coll: index.html 2401 5月 26 2004
tomcat-power.gif 2324 5月 26 2004
tomcat.gif 1934 5月 26 2004
dav:/webdav/> quit
Connection to `192.168.0.120’ closed.
どうやらちゃんと使えるようです。
続いて、自動ログインに対応させるための設定を行います。
ユーザーのホームディレクトリに .netrc というファイルを作成し、マシン情報を登録しておくだけでOKらしい。早速作成。
$ vi ~/.netrc
machine 192.168.0.120 login username password password
machine 192.168.0.121 login webdav password webdav
machine WebDAV-server login wd000100 password abcdefg
よーするに、machine [マシン名orIP] login [ユーザー名] password [ユーザーパスワード] を書いておけばいいようだ。ちなみに、「machine [マシン名orIP]」の部分を default にすると、その行に書いた情報がデフォルトで使われるようになる。ただし、defaultは一番最後の行に書かないと、default行以降は読み飛ばさ れてしまうので注意。
もう一度 Cadaver で接続してみると、今度はユーザー名とパスワードを聞かれることなくログインできた。
$ cadaver http://192.168.0.120/webdav/
dav:/webdav/>
これでインストールと設定が完了。さて、ではファイル送受信するツールのようなものをシェルで作成・・・するのは、次回 Part.2 にて。
[Tomcat] Cadaverを使ってみる: 適当に書き連ねる日記のようなもの
WebDAVサーバにファイルを一気に送りたいとき、fuse+webdavfsを使う方法もありますが、とても不安定です。
他にないか調べている間に見つけたアプリの紹介です。ただ、動作テストはまだ行っていません。
WebDAV クライアント「CarotDAV」 (via ha1t)
Windows用の簡易WebDAVクライアントです。
http://www.rei.to/carotdav.html


