ここまできたら、設定してきたものを具体的にどう使うかというところになる。まずは筆者の例を基に、具体的にどう使えそうかというのを模索してみよう。
WebDAVはプロトコルにHTTPを使っているが、WebDAVで利用するメソッドを取り扱えるクライアントが必要である(単なるWebブラウザではWebDAVによる拡張機能は利用不可)。Windows系クライアントについてはWebフォルダが、UNIX系クライアントについてはcadaverをはじめとしていろいろある(中編参照)ので、自分の用途に合ったものを選択してほしい。また、WebDAV Resources(http://www.webdav.org/)からたどれるところにも、サーバ/クライアントが紹介されているので、そちらも併せて参考にされることをお勧めする。
筆者の場合、WebDAVは主にWindowsのWebフォルダ経由で利用している。問題点としては、サーバ上のファイル権限がすべてHTTPサーバが動作しているプロセスのオーナー(筆者の場合はHTTPというユーザー)になってしまうところであるが、読者の運用の参考になれば幸いである。
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ユーザ会(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に示す。
ただし、現状では作成されるファイル名やファイルのオーナー/パーミッション、同時アクセスなどについて注意する必要がある。
例えばファイル名については、現状のiconv()の仕様から「−」「〜」「\」「\」「¬」などの文字を含むファイル名は、mod_encodingを利用した際にシフトJISからUTF-8変換の時点で不具合を発生させる可能性が高い。画面9に、実際に不具合が起きた例を示す。一見うまく動作しているように見えても、表示を更新したり実際にアクセスしたりすると動作がおかしくなる。
なお、上記のSamba日本語版では、画面10のようにこの部分を独自に実装し、不具合が発生しないようになっている(注)。
注:Sambaでこのようにうまく見えているフォルダをWebフォルダ経由で操作しようとしても動作がおかしくなる。また、画面9のような形でファイル名の表示がおかしくなったフォルダは、Samba経由でも操作できない。
なお、Webフォルダ経由で作成したファイル/フォルダ名が化ける問題はTaisuke Yamada氏も認識している。
筆者も、この問題に対処すべく実装を進めてきた。そして、かなり強引な方法ではあるものの、対策用の実装はできている。また、この副産物としてiconv()がなくても使えるものになった。ある程度形になった段階で、この実装は何らかの形で公開させていただくので楽しみにしていてほしい。
Copyright © ITmedia, Inc. All Rights Reserved.