Mac OS X から、WebDAV で IIS へ接続する
REPORT
はじめに
この記事はあくまでも実験です。特に WebDAV 経由でのファイルの書き込みにいたっては完全には成功していないので、概要を垣間見る感じの記事とおもってください。
WebDAV
WebDAV とは HTTP/1.1 の拡張プロトコルだそうで、インターネットを通じてファイルをやりとりする仕組みのひとつです。
Microsoft 社の IIS (Internet Information Service) という Web サーバを利用してサーバを立てて、FrontPage にてサイトを作成している方には馴染みが深いと思われる、FrontPage Server Extensions のようなもののようです。
Mac OS X v10.2 になって PPTP による VPN 接続も出来るようになったらしいので (注:まだ確認してません)、ついでに Web サーバ (IIS) のデータも編集できたらけっこう Mac の活躍の場も広がるかなー、と思って調べてみました。
すると、Mac OS X は WebDAV クライアントを搭載しているとのことです。IIS の方も、WebDAV サーバとしての機能が備わっているそうなので、実験してみることにしました。
Mac OS X で WebDAV サーバへ接続する
Mac OS X ( v10.2 で確認) で WebDAV サーバへ接続するには、Finder のメニューから 「移動」 → 「サーバへ接続」 を選択します。
現れたダイアログボックスの、アドレスの部分に Web にアクセスするように、http:// から始まるアドレスを入力します。
指定したサーバが WebDAV の機能を実装していれば、続いてユーザ名とパスワードを問い合わせてくるので、適切なパスワードを入力します。
認証をパスすると、デスクトップに WebDAV フォルダがマウントされ、一般のフォルダと同じように参照したりすることが出来るようになります。
WebDAV を使って Mac OS X から参照する
Windows 2000 Server に付属している IIS 5.0 ははじめから WebDAV の機能を有しているようですが、Mac OS X から接続するにあたって、設定の際にはすこし注意する点があるようです。
認証方法
実験してみた限りでは、認証は 「基本認証」 にする必要があるようです。
「基本認証」 の場合はパスワードが暗号化されずに流れてしまいますが、「統合 Windows 認証」 を Mac OS X がサポートしていない (またはそもそも WebDAV に採用されていないのかもしれません) ようで、これだと認証に失敗してしまいます。
また、Windows NT ドメインのアカウントを使いたい場合には、「基本認証」 の既定のドメインを設定します。そうすることで、そのドメインのアカウント名とパスワードにて、認証を通過することが出来ます。
暗号化されずに流れてしまうパスワードは、SSL ( https:// ) によるセキュリティ保護されたサイトにすることで保護することができると思います (https:// で接続できるかは未確認です)。
もうひとつ注意すべき点として、「匿名アクセス」 でも WebDAV 接続が可能というところです。
通常は匿名アクセスは読み取り専用です。が、「スクリプトソースアクセス」 の権利が与えられていると、ASP のソースファイルを取得できるそうです。(けれど、試してみてもなぜか、ASP 実行後の HTML が取れましたが…)
そしてもうひとつ、「基本認証」 よりもこの 「匿名アクセス」 の方が優先されてしまうような感じであるというところです。
「匿名アクセス」 と 「基本認証」 の両方にチェックが入っている場合、Mac OS 10.2 から接続すると、パスワードを尋ねられることなく、匿名ユーザとして接続されてしまいます。
一般ユーザに公開していて、かつ、WebDAV で編集をしたいような場合には、ポート番号を変えたりして公開サイトと分離するなどの必要がありそうです。
ホームディレクトリの設定
接続してフォルダの中身を参照したい場合には、「ディレクトリの参照」 権限を与えておく必要があります。そうしないと、認証を通過してフォルダを開いても、中身がなんにも入っていない感じになってしまいました。
肝心の書き込みは…
さて、WebDAV でファイルを操作する以上、読み込みのみならず 「書き込み」 もできなくてはいけないのですが…。
基本的には簡単です。
ホームディレクトリの設定で 「書き込み」 を許可することで、その対象となるフォルダへ書き込む権限があれば、一般的なファイルは書き込むことができます。
ところが、ASP のようなスクリプトファイルは保護されていて、これがうまく行きませんでした。
調べた感じでは、「スクリプトソースアクセス」 に権限を与えることで、 ASP ファイルもアップロードすることが出来るような感じなのですけど、いざそのような設定にしてみても、*.ASP ファイルをアップロードしようとすると、権限がないとのことでエラーになってしまいました。
ルートではまずいのかとも思って、仮想ディレクトリを作ってそれに権限を設定してみたりもしましたけど、それも特に効果はなかったようでした。
理由はよくわかりませんけど、なぜか 「スクリプトソースアクセス」 の設定がうまく反映されないような気がします。いろいろと調べてみましたが解決策が見つからなかったので、実験はとりあえずここまでにしておきます。
もしかすると、何か些細な勘違いをしているのかも知れませんね。