Share via


【IIS7】 今週 久しぶりに話す機会あり、ちょいと情報Updateしましょ

IISについては色々な歴史があります。話す機会がある度に情報収集を繰り返していますが、最近チェックできていなかった https://www.iis.net でいくつか製品チームからのブログでピックアップしてみます。ASP.NETをずっと追いかけている方は Scott Guthrie の名前は聞いたことがあると思いますが、今やASP.NETだけでなく要するにWeb Applicationに関係する基盤は全部彼の組織下にあります。Visual Web Developer もしかり、ASP.NETはもちろん、IIS7もです。今回はまず Scottのブログの最新から追ってみました。もう9月の記事ですから時間軸は一ヶ月以上前に遡ります。なんか24っぽい表現でいい感じです。 (^_^)

IIS 7.0 RC1
https://weblogs.asp.net/scottgu/archive/2006/09/07/IIS-7.0-RC1.aspx

ここが参照しているのがIIS7製品責任者のBill StaplesのブログでRC1を取り上げたもの。

IIS7 RC1 out the door
https://blogs.iis.net/bills/archive/2006/09/05/IIS7-RC1-out-the-door.aspx

ここではRC1(5600)での変更についてふれているとともにVistaにおけるIIS7の完成度合いについてふれています。
The IIS team is now pretty much done with IIS7 in Vista.  We currently have only a handful of real bugs left to fix before Vista is complete, and we've already begun shifting our focus to Longhorn Server.

そしてRC1(5600)での変更例を列挙する前にRC1では相当数のBug Fixを行ってきた点が挙げられています。
RC1 is a HUGE milestone for IIS7.  We made a big deal out of Beta 2, since it was our official debut in public beta form, but RC1 is a much better build, and much higher quality.  We fixed more than a thousand bugs in RC1, we added a lot of finishing touches on the new Administration UI, and made quite a few finishing touches in other areas of the product.

折角なので列挙している内容もここで翻訳しておきましょう。

- 管理ツール等の操作性向上、一例としてディレクトリや仮想ディレクトリを「アプリケーションへの変換」(昇格)を行う機能
要するに皆さんも見慣れたプロパティ内にあったアプリケーションの「作成」ボタンをMMC上でいきなり実行できる機能。Vistaでは制限が残りそうですが、Longhorn Serverでは階層下のどこででも実行できるようにする予定の模様。

- 管理ツールでインストールされたものだけが表示されるように変更
お客様のフィードバックも多くあった部分ですが、無いものを管理することは無い訳でライトな構成をとればとるほど管理がシンプルにできるのでこれはいい変更でしょう。表示されると混乱のもとですし。

- 読み取り/スクリプト/実行 の設定が Handlers構成に適用される
UIでASP.NETページを実行する際にスクリプト実行権限が必要なこととか過去を振り返り、その他の理由も含めてこの変更を実施。
<handlers> コレクションをチェックしましょう。スキーマを見るのであれば \windows\system32\inetsrv\config\schema\IIS_schema.xml 内の accessPolicy と requireAccess 設定を見てみましょう。<system.Webserver/handlers>

- システムパスの変更
IISがデフォルトで利用するパスを整理しました。windows ディレクトリに本来存在すべきでないものは inetpub ディレクトリに移動。
 ログファイルは \inetpub\logs
 圧縮機能のファイルキャッシュの場所は \inetpub\temp
 カスタムエラーは \inetpub\custerr
 デフォルトのWebサイトの場所は変更なしで \inetpub\wwwroot

- 構成システムはデフォルトで環境変数を使用する
ハードコードされているものが排除されます! %SystemDrive% 変数をよく使ってますが、これはIISがインストールされる場所とするためですが、皆さん自身の変数を作成し、環境展開することで構成をコピーする際に役立ちます。%webroots%とかを作る例をBillは書いてますが、これでパスの定義が共通化、簡略化できます。

- Localhost指定で見れる詳細エラーがさらに改善
これからは コード、サブコード、HRESULTに基づいて詳細エラーを表示できるようになりました。(ちょっと私自身これは確認しないといけません。<奥主) 
さらに「詳細情報」というリンクも加えていますが、 サポートオンラインの状態コードのページへリンクしています。そしてこのリンクは構成可能にしましたのでたとえば社内のサイトを参照してもらえたい場合にはそのように設定することも可能です。

- Microsoft.Web.Administration の改善
SSLの構成変更やコレクションをアクセスするなどの細かい改善がいくつか入ってます。

- カスタムエラー構成を制御するスキーマ 
localhostにだけ詳細のカスタムエラーが表示されるのがデフォルトで変わりなしですが、 DetailedLocalOnly (デフォルト)、 Detailed、 そしてCustomが選択可能
"Detailed" : 全クライアントに詳細エラーを表示、 "Custom" : 全クライアントにカスタムのえらーを表示

- 最少フットプリント
デフォルトのインストールからさらにいくつかのコンポーネントを除外。デフォルトインストール時、本当に 匿名、静的ファイルのみのWebサーバーとして構成される。

- セットアップ周りに多くの改善  (この項目はBillの言葉をそのまま意訳します)
Vista用のアップグレードシナリオ、sysprep対応がほぼ完了した。 このエリアは非常に多くのワークを要した部分ではあるが、インプレースアップグレードを必要としている方にとってもいくつかの微細の対応を除いてはほぼそのまま動くと考えている。個人的には私は自分のマシンをそのままアップグレードすることはしません。いつもOSのクリーンインストールから始め、アプリケーションを再インストールし、自分のデータの移行をすることでいつもキレイな環境を保ってきました。注意すべきポイントや残る問題についてホワイトペーパーを準備中です。

という感じでRC1のリリース時には色々なポイントがあがっていました。結果、これらのブログには色々とコメントがつき、Longhorn Serverが出てこないのにクライアントだけリリースされてバージョン違いの環境をどう維持するように考えればいいのかという大きな命題が挙がりました。これに対して、Billが下記のような投稿をしています。必見。

IIS Version History
https://blogs.iis.net/bills/archive/2006/09/18/IIS7-_2D00_-Vista-vs.-Longhorn-Server.aspx

奥主なりに解釈すると下記のようなポイントを言っています。

- クライアントOS用の IIS というのはWindows 2000から始まった。位置づけとしてはProfessional(開発用)、Server(展開用)である。
- Windows 2000 から OSの一部としての出荷が始まり、その出荷サイクルに影響を受け、2001年にWinXP用の5.1、2003年にServer2003用の6.0を出荷した
- 製品チームとしては本来急速に進化するWebアプリケーションのプラットフォームがこの頻度の出荷では厳しいと思っている
- 実はWindows XP SP2のタイミングでXP用の6.0を出荷するように製品チームは働きかけた、実現せず
- Vista用のIIS7の目的は2000のころと同じ、開発用のプラットフォーム、Longhorn Serverが本番運用をするプラットフォーム ”feature-complete, developer-ready release”

実はこのブログのコメントで展開されているいくつかのやりとりが興味深い。

- Longhorn Server のIISはIIS7.1になるのか?
No, we don't plan to rev the version number when server releases. Most of the changes won't be visible, though there could be a few that are.  The plan is to update IIS7 in Vista with the same code we ship in Server in the first service pack, so that we can service both simultaneously as needed.  Again, the primary goal is to enable developers to build and test their applications in the same environment as
バージョンはこれまで私がお伝えしてきた通り、Serverでも7.0。VistaのSPでLonghorn Serverと同じレベルになるようにできるようにすることを狙っている模様。

- SSL for FTP server on IIS 7.0はないのか?
We are working on a new FTP server which will include SSL support and some other goodies. This will likely not be a part of Longhorn Server, but should be available around the same time.
ふーむ。Longhorn Serverとは別で考えているらしい。

- SMTP on Vistaはないのか?
The SMTP server has always fit under the 'IIS' umbrella, but wasn't actually owned by the IIS team.  The folks that owned it have decided to no longer ship it in Vista (the Windows client sku) and instead are only shipping it in Longhorn Server.
Longhorn Serverだけでの出荷とのこと。

ちょいと長い投稿になりましたが、今日仕入れたネタとして整理してお届けします。なお、ご存知のように今はもうRC2から出荷へ向けての段階に移行しているので、今後はRC2以降の動きについてふれていきたいと思います。ただ、RCとはほぼCode Freezeなので機能面で大幅な変更が入るとは思ってません。今週実施するので 今 準備中のMSOnセミナーではVistaはRC2(5744)、Longhorn Serverは同等のビルドを使う予定にしています。ちなみにLonghornに比べ、IIS7のMSOnへの応募は現状まだ少ないです。よろしければご応募ください。ほぼ私がお邪魔すると思います。