Apache 1.3 に mod_dav モジュールを導入して WebDAV サーバを構築する。若干動きがおかしいが何とか動く。
mod_dav モジュールを Apache Web サーバに追加すると,WebDAV の環境が構築できる。WebDAV は HTTP を拡張したプロトコルで,サーバとのファイル転送を行うことができる。ファイル転送するだけなら FTP を使えばよいが,Windows のクライアントの実装の違いにより使い勝手も違うため,WebDAV ならではのご利益もある。インストール方法については,WebDAVクライアント/サーバ環境の構築 が参考になる。Vine Linux の場合,RPM パッケージが用意されているので,これよりずっと手軽にインストールができる。
動作環境は Vine Linux 3.2, apache 1.3.33, mod_dav 1.0.3 である。
mod_dav のインストールには libiconv_hook ライブラリが必要なので,まずはこのライブラリをインストールする。mod_dav, libconv_hook ともに RPMS.extras に格納されている。近くの ring サーバからファイルをダウンロードする。
WebDAV 用のディレクトリを作成する。「WEBDAV」を小文字にしてみたところ,なぜか動作しなかった。すべて大文字でなければならない。謎である。
WebDAV を有効化するために,設定ファイル /etc/httpd/conf/httpd.conf を編集する。関連するディレクティブは以下の通り。追加する部分を赤字で示す。
上の設定により,WebDAV のロックファイル用のディレクトリは /tmp で,「webdav」をプリフィックスとするファイル webdav.dir と webdav.pag が自動的に生成される。最初は /var/lock/webdav ディレクトリを作り,ここに /var/lock/webdav/DAVLock の名前で書き込みたかったのだが,エラーとなってしまった。ディレクトリを作り所有者を apache にしたのにダメだった。謎である。
さらにもうひとつの謎は,Alias+Location でなければ動かなかったことである。Directory で直接ディレクトリ指定して DAV On をした場合は動作しなかった。
httpd を再起動すれば,WebDAV サーバとして動作するようになる。
Windows XP を WebDAV クライアントとして使う場合は,「マイネットワーク」→「ネットワークプレースを追加する」として「http://nlogn.ath.cx/webdav」などとする。最後のスラッシュはあってもなくてもよい。ディレクトリ名は小文字でよい(小文字になってしまう)。アクセスすると,サーバのエラーログに次のように残るのは謎。
さて,Windows XP にはネットワークプレースとして \\nlogn.ath.cx\webdav のような形で登録される。つまり,Windows のネットワークフォルダのように見えるということになり,そのフォルダに置かれたファイルはローカルディスクにあるファイルと同様の扱いができるということである。
ということは,ご利益があるではないか。例えば GTDTiddlyWiki はネットワーク対応ではないが(nlog(n): GTDTiddlyWiki が動かない),ファイルを WebDAV サーバにおいておけばネットワーク対応のように使えることになる。これは嬉しい。試してみたところ,動作はする。バックアップも WebDAV サーバ上に作成される。しかし,遅い。遅すぎる。遅すぎて使いものにならん。
クライアントとして Windows だけを使う場合は問題がないが,Linux クライアントも使う場合は,mod_encoding モジュールを導入して文字化け対策をする必要があるようだ(日本語ファイル名の利用とバージョン管理)。
Posted by n at 2006-06-30 00:05 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957