WebDAV:「予期しないエラー」との格闘

家の新サーバ(Linux)では、ネット経由のファイル共有は WebDAV を使うことにしました。
今までは FTP を利用してたんですが、ユーザー側からパーミッションの変更とかはしないので、SSLへの対応や管理が楽なので WebDAV を採用しました。

で、準備が出来たのでテストサーバを公開してユーザー(KIREI メンバー)にテストしてもらいました。

テストの内容
テスト用のフォルダ「テスト」に対して以下の操作が可能か確認する。
  • 「Web フォルダ」を利用して接続できるか
  • サンプルファイルをダウンロードできるか?
  • ファイルのアップロードは可能か?
  • ファイルの削除は可能か?

結果はボロボロ・・・

一番基本の「接続」でエラーが発生しているようでした。

エラーの内容は 予期しないエラーが発生しました。現在の操作を完了することはできません。
その他の情報は無し・・・

しかもエラーが起こっているのが1人ではなくて、2人なので、単純なオペミスではないようです。
ただ、エラーを再現しようとしても私の環境では再現しません。
うーん、困った。

新サーバでは FTP は公開したくないので WebDAV で乗り切りたいところですが、2人も利用できないのでは使い物になりません。

・・・と、言うことで状況の整理。

サーバ側の環境
OSFedora Core 3
Web サーバApache 2
WebDAV Apache に mod_dav を組み込んで実装。
バーチャルホストを利用して WebDAV 専用の仮想ホストを作り HTTPS(SSL) で接続します。
日本語ファイル名を扱う際には mod_encoding が必要らしいのですが、私の環境では特に文字化けは発生しなかったので入れていません。
エラーの状況
現象
エラーWeb フォルダで「テスト」と言うフォルダにアクセスすると 予期しないエラーが発生しました。現在の操作を完了することはできません。 と言うエラーが発生。
条件
フォルダ名に日本語(マルチバイト)が使われているとエラーが発生します。
半角英数のみのフォルダ名の場合には発生しません。
テスト結果
Win 2000 Pro SP4
Win XP Home SP2
Win XP Pro SP1
Win XP Pro SP2
A
Win 2000 Pro SP? ×
B
Win XP Home SP1 ×
C
Win XP ? SP2

うーん、何が原因なんでしょうか?
よく分りませんね。

最初は、セキュリティーパッチの適用が関係しているのかなぁ・・・と思い、Bさんの環境を確認してみたんですが、私の XP Pro SP1 とほぼ同じ状況でした。
あとは、Pro と Home の違いや SP のバージョン違いの可能性も考えられますが、Home でも SP1 でも接続できている環境もあるので原因としては別なようです。

そこで、思い当たったのが Office の有無です。
テスト結果が OK だったクライアントは、全て Office がインストールされているかインストールされていたことがあるマシンで、エラーが発生したクライアントは Office が入っていたことがないマシンでした。

何となく原因は分ったのですが、解決法は・・・
たぶん Office をインストールすれば解消する事は分ったんですが、「Office インストールして!!」ってのは管理者としていまいちなので、修正パッチが出てないか調べてみたらありました。

Web フォルダのソフトウェア更新プログラム (KB892211)

この更新プログラムは以下の機能追加を行うそうです。

  • SSL クライアント証明書の機能
  • ASCII 以外の文字エンコード拡張機能
  • セキュリティの機能強化

「ASCII 以外の文字エンコード拡張機能」ってのがそれっぽいですね。
ちなみに、この更新プログラムは Windows Update では出てこないので、単純に OS を「最新」にしててもダメです。

と言うことで、無事に使えるようになりました。

あぁ・・・疲れた。