- 2008年7月31日 00:26
- IT
WebDav (on Apache, Linux) をマニュアル通り設定して Windows Vista から使用しようとしたら、通常ファイルの読み書きはできたものの、Microsoft Office 2007 (Word, Excel) からの読み書きができなかったので、その回避法について書きます。
まぁ回避方法は常識なのかもしれませんが、Webを見ても他に情報がなかったのでまとめておきます。
具体的な問題:
WebDav 共有上に Microsoft Office を使用してファイルを保存できない(読み取り専用になる)。
エラーメッセージは「ファイルを保存できませんでした」
/var/log/httpd/error_log
を見たところ、該当するエラーは
"PROPFIND / HTTP/1.1" 405 307 "-" "Microsoft-WebDAV-MiniRedir/6.0.6001"
だろうと以外に簡単に特定できました。
どうやら http://server/dir/ (\server\dir\) という共有に対して、必要無いのに http://server/ (\server\) まで見に行っている様子。ルートに対して Dav on していないのではじかれる、と。
一般のファイルの読み書きには問題がないので、Office が独自に実装している WebDav 実装に問題があるのでしょう。
Office 以外に問題のあるアプリケーションあるんですかね?
対処としては、とりあえずルートディレクトリに対する PROPFIND を許可してみました。
<LocationMatch ^/$>
DAV on
<LimitExcept HEAD GET POST PROPFIND OPTIONS>
Order Allow,Deny
Deny from all
</LimitExcept>
</LocationMatch>
ルートに対する WebDav を有効にした上で、PROPFIND (とその他通常利用可能なもの)以外のメソッドを拒否します。
(これをやるつもりで LocationMatch の代わりに Location ディレクティブを使用するとサーバー全体に WebDav 適用となってしまうのでご注意を)
とりあえずこれで Office 2008 からの書き込みも問題無く、うまくまわっています。
- Newer: Become InterContinental Ambassador
- Older: WebDav の Windows 互換性