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

次世代プロトコルWebDAVの可能性(3):日本語ファイル名の利用とバージョン管理 (2/3)

[宮本久仁男,株式会社NTTデータ]

WebDAV運用の実際

 ここまできたら、設定してきたものを具体的にどう使うかというところになる。まずは筆者の例を基に、具体的にどう使えそうかというのを模索してみよう。

 WebDAVはプロトコルにHTTPを使っているが、WebDAVで利用するメソッドを取り扱えるクライアントが必要である(単なるWebブラウザではWebDAVによる拡張機能は利用不可)。Windows系クライアントについてはWebフォルダが、UNIX系クライアントについてはcadaverをはじめとしていろいろある(中編参照)ので、自分の用途に合ったものを選択してほしい。また、WebDAV Resources(http://www.webdav.org/)からたどれるところにも、サーバ/クライアントが紹介されているので、そちらも併せて参考にされることをお勧めする。

Webフォルダの利用と問題点

 筆者の場合、WebDAVは主にWindowsのWebフォルダ経由で利用している。問題点としては、サーバ上のファイル権限がすべてHTTPサーバが動作しているプロセスのオーナー(筆者の場合はHTTPというユーザー)になってしまうところであるが、読者の運用の参考になれば幸いである。

davfsの利用によるマウント

 davfsは、http://dav.sourceforge.net/にて開発が進んでいるLinux用(カーネル2.4.3以上がターゲット)のファイルシステムドライバである。このドライバを使うことで、WebDAVサーバが提供する領域をdavfsとしてファイルシステムにマウントできる。詳細な使い方は、davfsのアーカイブ中のドキュメントを参照してほしい。

 以下に、実際にDAV領域をマウントした様子を示す。

$ mount
/dev/hde2 on / type ext2 (rw)
proc on /proc type proc (rw)
/dev/hde7 on /home type ext2 (rw)
/dev/hde6 on /var type ext2 (rw)
/dev/hde8 on /home2 type reiserfs (rw)
none on /dev/pts type devpts (rw,mode=0622)
http://tripmachine/pages/ on /sample type davfs (r) 
$ ls -l /sample
total 1558
-rwxr--r--   1 root     root          184 Mar 23 16:27 1.html*
drwxr-xr-x   1 root     root          512 Sep 13 15:01 DAV@it/
... 

Sambaと組み合わせた利用と注意点

 日本Sambaユーザ会(http://www.samba.gr.jp/)がリリースしているSamba

2.0.7日本語版リリース2.1以降では、ファイルシステム上に格納するファイル名のコーディングシステムにUTF8を指定できるようになっている(ja-2.0でもOKだがバグありとのこと)。これに着目すると、smb.confで

coding system=UTF8

と設定すればUTF-8な日本語ファイル名が利用できるようになる。詳しい設定については、Samba日本語版のドキュメントを参照するなりしてほしい。

 このフォルダをローカルネットワークではSamba経由で、リモートではWebDAV経由で共有することで、日本語ファイル名も同じように取り扱えるようになる。画面7で参照したフォルダの内容をSamba経由で見た様子を画面8に示す。

画面8 Sambaでアクセスしてもファイル/フォルダ名が正しく表示されている 画面8 Sambaでアクセスしてもファイル/フォルダ名が正しく表示されている

 ただし、現状では作成されるファイル名やファイルのオーナー/パーミッション、同時アクセスなどについて注意する必要がある。

 例えばファイル名については、現状のiconv()の仕様から「−」「〜」「\」「\」「¬」などの文字を含むファイル名は、mod_encodingを利用した際にシフトJISからUTF-8変換の時点で不具合を発生させる可能性が高い。画面9に、実際に不具合が起きた例を示す。一見うまく動作しているように見えても、表示を更新したり実際にアクセスしたりすると動作がおかしくなる。

画面9 一部の文字では、このように問題が発生する 画面9 一部の文字では、このように問題が発生する

 なお、上記のSamba日本語版では、画面10のようにこの部分を独自に実装し、不具合が発生しないようになっている()。

画面10 Samba経由なら「−」「〜」「\」「\」「¬」といった文字も正しく処理されている 画面10 Samba経由なら「−」「〜」「\」「\」「¬」といった文字も正しく処理されている

:Sambaでこのようにうまく見えているフォルダをWebフォルダ経由で操作しようとしても動作がおかしくなる。また、画面9のような形でファイル名の表示がおかしくなったフォルダは、Samba経由でも操作できない。


 なお、Webフォルダ経由で作成したファイル/フォルダ名が化ける問題はTaisuke Yamada氏も認識している。

 筆者も、この問題に対処すべく実装を進めてきた。そして、かなり強引な方法ではあるものの、対策用の実装はできている。また、この副産物としてiconv()がなくても使えるものになった。ある程度形になった段階で、この実装は何らかの形で公開させていただくので楽しみにしていてほしい。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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