Web Dav という技術がある。HTTP PUT
(画像ファイルのアップロードとかに使いますね) の発展版で、複数ファイルとかディレクトリ丸ごととか、
そういうファイル操作が HTTP 経由で (つまり 80番ポートだけで) できる、というもの。
FTP だと FireWall を越えるのが大変だったり、SSH で Port Forwarding
するのも大変だったり、ということがあるので FTP の代替としてけっこう有力な手段かも。
つまりは Web が見られる環境からならアクセス可能、ということなので。
SSL と併用すればセキュリティーも確保できるし。
# 出本が MS だってのは気に食わないが(笑)、まあ標準化されてるし Apache のモジュールもあるからね(^^;
インストールと設定。 Ring の RedHat のミラー (現在はアップデートのみ) から、 mod_dav-1.0.2-2.src.rpm を持ってきて、リビルド、インストール。
httpd.conf に、以下のように追加。
LoadModule dav_module modules/libdav.so AddModule mod_dav.c DAVLockDB /home/fujiwara/DAVLock DAVMinTimeout 600 Alias /dav /home/fujiwara/public_html/dav <Location /dav> DAV On </Location>
DAVLockDB は、サーバプロセスが書き込み権のあるディレクトリの中に、書き込み権のあるファイルを設置。
<これに気がつかないで少々はまった。
インストールしたマシンはサーバプロセスが fujiwara 権限で動いてるので、
fujiwara のホームディレクトリ以下に設置してみる。
# フツーそういうことはしてはいけない。けど ~/Mail 以下を namazu でインデキシングして検索できるようにしてある都合上・・・
IE5.0 以上が WebDav に対応しているとのことなので、VMware 上の NT4 の IE5.0 から使ってみる。 「ファイル」→「開く」から「Webフォルダを開く」にチェックを入れて、http://grass/dav/ を開くと・・・ あたかもローカルのディレクトリにあるかのようなファイル一覧が開く。ファイルの読み書き、 ディレクトリ丸ごとアップロードとかダウンロードとかも可能。んー便利かも。 ユーザ認証も .htaccess で普通に Apache の流儀で可能。
うちのサーバに仕込んでおけば、会社の専用線ででっかいファイルを一旦落としておいて、たらたらと転送
(なにせ ISDN 64K だから) することが可能だなあ。
家に帰ってから数時間掛かってファイルを落とすと大抵途中で寝ちゃうので、これはいい手かもしれない。
けど会社の資源を私用に使ってる、ってのはマズイかもしれない(^^;
# まあ 1.5M の中の 64K しか使わないので・・・<言い訳
・・・
ハマリメモ。
- 1 MB 以上のサイズのファイルが PUT できない。
- これは、mod_dav Installation and Configuration にあるように、デフォルトでは 1MB 以上を受けつけないから。 XML をパーズする為にオンメモリで処理するので、制限が掛かってるそうな。上限は LimitXMLRequestBody ディレクティブでサイズを(バイト数で)指定することで変えられる。 0 にすると無制限。
- squid(2.3.STABLE4) をプロキシに使ってる場合、1 MB 以上のサイズのファイルが PUT できない。
- Squid にもデフォルトでは制限が掛かってやがった。 squid.conf の request_body_max_size を指定することで、上限を変えられる。0 を指定すれば無制限。
どっちも (たまたま?) 上限が 1 MB だったのが不幸というかなんというか。 気づくまでにえらい時間がかかったぞ。