タイトル【MacWIRE配信予定】森下克徳の崖っぷちからWebObjects》番外編〜Mac OS Xでmod_encodingのインストールカテゴリーネットワーク, ネットワーク管理, サーバー製品, 崖っぷちからWebObjects
作成日2002/2/4 15:24:37作成者新居雅行
インターネット上でファイルをやり取りする場合、一対一の間であれば、メールを利用するのが一般的だ。複数の人数で共同作業を行い、そのためにファイルをインターネット上で共有したい場合は、FTPを利用することが多い。しかし最近では、WebDAVを利用してやり取りすることも多くなって来た。

WebDAVは、HTTP上でファイル共有を実現するプロトコルだ。従来HTTPといえば、まあ平たく言えばホームページの閲覧、つまりWebサーフィンに利用してきたプロトコルで、ファイルレベルでは一方的にサーバがWebブラウザにデータを送ってきてブラウザ側はそれを表示する、ということしかできなかった。しかしWebDAVによって拡張されたHTTPでは、サーバにおいたファイルを読み書きできるようになる。有名どころでは、iDiskがこのプロトコルによって実現されている。

Mac OS X Serverには、当初からこの機能を実現するためのApacheのモジュールmod_davが組み込まれており、ServerAdminからワンクリックでこの機能を稼動させることができる。

ただし、WebDAVを日本語環境で利用する場合、文字コードの違いによって、種々のトラブルが生じるのである。mod_davは、ファイル名をUTF-8としてあつかっている、クライアントから送られてきたファイル名のコードがたとえShift-JISであったとしてもEUCであったとしても、UTF-8として扱うのである。このことはすなわち、文字化けによってファイルがうまく扱えないということを意味する。もしもクライアント側がUTF-8でファイル名を送りだしているとしたら問題はないわけだが、現実には、クライアント側のローカルのファイルシステムで利用している文字コードを使って送信する場合が多いのだ。

このような文字コードの違いを克服して、日本語ファイル名を正しくやり取りできるようにしたものが、mod_encodingで、IIJのTaisuke Yamada氏が作成された。

ところで筆者は、Mac OS X Server 1.2およびMac OS X Server 10.0.4にてサーバを運用しているが、「これからはDAVや〜!」とばかりに稼動させてみたものの、やはり日本語の取扱いに困ってしまうクライアントも存在し、mod_encodingにご活躍願うこととなった。だが、残念ながら、素直にインストールすることはできず、WebDAV-Jpメーリングリストのみなさんや、MacOSX-JPメーリングリストのみなさんにご協力いただいて、あれやこれややってみて、このたびなんとか稼動させることができた。そこで、せっかくなのでパッチを作って、なるべく簡単にインストールできるようにマニュアルも作ってみた。自己責任で使ってみたいと言う方は、自由にやってみてもらいたい。(当たり前だが、自己責任ということは、何かとんでもないことになったとしても、筆者は一切関知しないということだ。)

なおドキュメントにも記載したが、mod_encodingをインストールするには、事前にlibiconvをインストールしておく必要がある。libiconvは、文字コードを扱うためのもので、mod_encodingから利用される。

今回利用する各種アーカイブは次の通り。
◇libiconvのMacOSX版パッケージ
 http://macosx.forked.net/ports/libiconv-2.0.4.pkg.tgz

◇mod_encodingのソース
 http://webdav.todo.gr.jp/download/mod_encoding-20011211a.tar.gz

◇mod_encoding_MacOSX_patch(for Rhapsody & Darwin)
 http://www.nakamano.net/patch/mod_encoding_X_patch.tar.gz

これらをダウンロードしたら作業にかかろう。
libiconvのMacOSX版パッケージは、ダブルクリックをすればインストーラがよきにはからってくれるので、それに従えばよい。その後の手順はこうだ。

手順1:mod_encodingのソースフォルダの中に、mod_encoding_MacOSX_patch内のmod_encoding-Mac1.patch、およびmod_encoding-Mac2.patchをコピーする。

手順2:Tarminal.appを起動し、表示されたterminalウインドウにて「cd」と打ち込んでスペースをあけ、Finderからフォルダmod_encoding-20011211aのアイコンをドラッグ&ドロップ。再びterminalウインドウをアクティブにしてリターン。

手順3:パッチを適用。

patch -p0 < mod_encoding-Mac1.patch
patch -p0 < mod_encoding-Mac2.patch

手順4:ダイナミックライブラリの作成。

cd ./lib
make

手順5(Darwin):ダイナミックライブラリのインストール。

sudo make install
(パスワードはあなたのパスワード)

手順5(Rhapsody)

su
(パスワードはrootのパスワード)
make install
exit

手順6:mod_encoding.soを作成。

cd ../
make

手順7(Darwin):インストール。

sudo make install
(パスワードはあなたのパスワード)

手順7(Rhapsody)

su
(パスワードはrootのパスワード)
make install
exit

以上でインストール完了である。mod_encodingを実際に利用するにはApacheの設定が必要で、インストールしただけではなんともならないのだが、mod_encodingのソースに同梱されているドキュメントを参照すれば、そんなに難しくはないであろう。

さてこのWebDAVだが、本編の連載ではまだしばらく先になるが、コミュニティサイトでファイル共有を実現する手段として活用する。その時はこのmod_encodingが組み込まれた状態で使用するつもりである。多少首を長くして、待っていてもらいたい。

◇WebDAV Resources JP
 http://webdav.todo.gr.jp/

◇MacOSX-JPメーリングリスト
 http://www.tech-arts.co.jp/macosx/macosx-jp/ml.html

[森下克徳]
関連リンク