seraphyの日記

日記というよりは過去を振り返るときのための単なる備忘録

Windows VistaでWebDAVは標準では動かない。

Windows Vista(SP1)から、CentOS5.2上のApache2で作ったWebDAVフォルダにアクセスしようとすると、MacOSX10.5 LeopardMicrosoft WindowsXP-SP3では問題ないのに、Vistaからではアクセスできない。

なお、WebDAVは外出中からも使えるようにHTTPSオンリーにして且つBASIC認証もかけている。
見るだけならブラウザから、アップロードしたいときはWebフォルダとして開いてドラッグ&ドロップでファイルの追加・更新ができるようにしている。

VistaWebDAVが使えない理由

  1. Vistaのセキュリティまわりがいろいろ強化・変更されているから(?)
  2. Vistaにバグがあるから。

両方が相まって、動かせるようになるには相当な苦労が必要である。


解決方法(x86の場合)

Webfldrs-KB907306-JPN を入れる。(必須)

VistaWebDAVが機能するには、これを入れることが必須である。

http://support.microsoft.com/kb/907306/ja

office-kb956790-fullfile-x86-glbを入れる

上記修正を入れた場合、Office2007を使ってるなら、下記も入れないと相当ヤバイらしい。

http://support.microsoft.com/kb/956790/ja

Windows6.0-KB941298-x86.msu を入れる。(httpsなら必須)

Https経由でのWebDAVを使うには、これを入れることが必須である。

http://support.microsoft.com/kb/941298/ja

BASIC認証するようにレジストリを変更する。

WebDAVフォルダでBasic認証しているのならばレジストリの変更は必須である。

http://support.microsoft.com/?kbid=841215

Apacheのhtpasswdでコンピュータ名つきのユーザ名も追加する。

VistaからBASIC認証する場合、ユーザ名は必ず「HOSTNAME\USERNAME」の形で送信される。

なので、htpasswdで上記HOSTNAME付きのユーザ名を追加して、ユーザ名を入れるときに同じ「HOSTNAME\USERNAME」でログインする。

(回避方法はあるかもしれないが、たぶん、ない。)

もしすればローカルセキュリティポリシーも変更しなければならないかもしれない。(たぶん、いらない?)

「gpedit.msc」でローカルセキュリティポリシーを開き、
「コンピュータの構成→Windowsの設定→セキュリティの設定→ローカルポリシー→セキュリティオプション」
で、LanManager認証レベルを旧式に変更する。


※ なお、直接ダウンロードさせるのではなく、画面上にメール経由でダウンロード用URLを教えてくれる、手の込んだやり方になっているものが多数。

結果

とりあえず、これでVista SP1(32ビット)上では、ブラウザ上でCTRL+Oキーでロケーションを開いて「Webフォルダとして開く」を選択すれば、HTTPSかつBASIC認証されているApache2で作られたWebDAVフォルダにWebフォルダとしてアクセスできるようにはなることは確認した。

…。

だが、問題は私が常用しているのはVista SP1 x64なのだ。

いろいろ調べてみたが、Vista 64ビットでは、そもそも「KB907306」が動いていないようなのだ。
(インストールはできるが。)

どうやら、Vista x64でWebDAVは現状動かない、と思ったほうが良いようだ。

ネットではVistaWebDAVを使うのならば、もうWindowsのWebフォルダは諦めて、素直にWebDAVが使える別のクライアントソフトを入れればいいじゃん、という結論が主流のようである。

無理に純正のソフトにこだわる必要もあるまい。
そうするのが妥当なように思えてきた。

さあ、なにが使えるか調べてみることにするか。


※追記

[CarotDAV]
http://www.rei.to/carotdav.html

が、よくできている感じです。

VistaX64で問題なく動作しています。