Tech・Edの期間中、奥主が会場でビデオを担いでどこかに消えていくのを目撃した人にようやく報告ができます。 (●^o^●)
SQL Server という製品は長く、そしてすごい経験を持った方々が結構いらっしゃいます。本を執筆されていたり、現場の最前線でチューニングやコンサルティングをしている方々です。こういう方に SQL Server 2008 についてお聞きして回るというのをやってみました。今回は初めての試みでもあったので有名な方 及び 社員ですが、かなりSQL Server 2008の各機能に関して要点に絞って話をしていただけていると思います。
SQL Server 2008 Experience は ITプロフェッショナルの方だけでなく、開発者向けのビデオもあります。実はこちらのビデオは小高を中心に、松崎、大野も絡んで制作をしています。他にも米国の開発チームが制作した英語なんだけれども日本語字幕がついているビデオの本数もかなりあります。秘話までいかないですが、裏話はなかなか面白いですのでぜひご覧になってください!
SQL Server 2008 Experience (直接リンク) http://www.microsoft.com/sql/experience/?loc=jp (Silverlight版) ※10/1更新 http://www.microsoft.com/sql/experience/html/?loc=jp (HTML+Media Player版) ※10/1更新
MSDN SQL Server DevCenter http://msdn.microsoft.com/ja-jp/sqlserver/default(en-us).aspx ※TOPのハイライト項目に入りました。原稿は小高です。
TechNet SQL Server TechCenter http://technet.microsoft.com/ja-jp/sqlserver/default.aspx ※TOPのハイライト項目に入りました。原稿は奥主です。
私のビデオの秘話を少し書いておくと、Tech・Ed会場で撮ったものについてはかなーり疲れていますが、これは現地のスケジュールのハードさによるものなので許してください。<(_ _)>
それから平山のビデオだけ、奥主がマイクロソフトのロゴシャツを着ておらず、かなりくしゃくしゃな普段着なんですが、撮影日当日 かなり雨が降ってまして、ビシャビシャになってしまった結果、カバンに入れていた方のシャツを着たのであんなことになってます。これまたすみません、見苦しくて。。。<(_ _)>
このビデオに出ている達人の皆さんにはPASSJ(SQL Serverユーザーグループ)の会員(理事)の方も多くいらっしゃいますのでこれからSQL Serverに取り組む方々もぜひ、このPASSJさんのサイトにも足を運んでください。特にブログでSQL Serverに関しては最新の情報を書いておられる方も多く、検索でたどり着くのもありだとは思いますが、最初からウォッチする価値がありますのでお薦めしておきます。( ^^) _U~~
ではではビデオの方、ぜひお楽しみください。
なお、今回は結構初の試みな部分も多く、反省点も多くありますが、今後の類似施策をよりいい物にしたいのでぜひご意見をこのブログからいただければと思います。他の製品でも似たようなこともしてほしいとかでもいいです。よろしくお願いします。
管理系は終わりまして、今回から構築支援系、メディア系、その他といきます。 まずは、PHP の環境を構築する上で非常に便利で安定化をもたらす新しい FastCGI モジュールです。
アイテム №7 「FastCGI Extension for IIS6.0」
(アイコンなし)
説明
FastCGIをサポートするポピュラーなアプリケーションフレームワークを IIS6.0 で良いパフォーマンスで安定して動作させることができる拡張
特徴
●FastCGI プロセスを通じたノン スレッドセーフアプリケーション環境の安定実行(例:PHP) ●FastCGI 拡張、FastCGI プロセスに関しての構成設定 ●IIS6.0の安定
ベネフィット
Linux を想定しているアプリケーション フレームワークがマルチプロセスを同時実行性のアプローチとして採用している中、それらをマルチスレッドを採用している Windows で安定、高速動作させることができる
利用可能 OS
Windows Server 2003 SP2 (IIS 6.0) Windows Server 2003 x64 edition (IIS6.0)
Windows Vista SP1とWindows Server 2008ではビルトイン
その他前提条件
IIS6.0 がインストールされていること
入手先
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&DisplayLang=en
http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/ で記載されているように、もう既にVista用、2008用にはUpdateがあります。
開発ステージ
製品版(RTW)
ドキュメンテーション
Running PHP Applications http://learn.iis.net/page.aspx/24/running-php-applications/
セッションより
PHPを例にあげると、今までもWindows+IIS環境でPHP利用環境を構築する手順はインターネットを探すと見つかりました。専らそれらはISAPIエクステンションとしてPHP.NETで提供されているDLLを設定して構築する手順です。
ここで事前知識が必要なんですが、ISAPIのDLLが好まれた理由はWindowsのアプリケーション実行環境とLinuxのアプリケーション実行環境の違いを知っておく必要があります。UNIX系のOSでは専らプロセス単位でアプリケーションは実行されるモデルなんですが、Windowsではプロセスの中で複数のスレッドと呼ばれる単位で動作する設計になっています。このことからUNIX系では想定の必要の無い、スレッド間での同期処理やスレッド間での競合を解決する必要がWindowsのプログラミングの難度の高いものでは必要になります。.NETを使用した開発では.NETのフレームワークがこういう煩わしいところをカバーしてくれるため、実はみんなあまり意識していないのですが、中ではそういうことが行われているわけです。
このことからUNIX系の生い立ちを持った言語たちはWindows環境に適用するセカンドステップが必要になり、PHPも例外ではなく、ISAPI拡張を提供してきたわけです。ちなみに ASP.NET も aspnet_isapi.dll とISAPI拡張で動作してきましたのである意味、構造的には同じです。結局、どんどんPHPの拡張機能としてのライブラリが開発されていっていますが、Windows環境においてはマルチスレッド対応(スレッドセーフ)が必要であり、すべてのライブラリがその対応ができているとは断言できないため、ISAPI設定でPHP環境をWindowsで構築して不安定なため、Give Upした人も結構いらっしゃるのではないでしょうか。
一方で、ISAPIのほかにCGIというモデルがあります。しかし、CGIモデルには致命的なプロセスをリクエスト毎に起動するという重大なオーバーヘッドを抱えています。このため、やはり性能面ではCGIよりはISAPIを採用したくなってしまうレベルのものでした。ただ、CGIの場合にはプロセスをリクエスト毎に起動するため、前述のマルチスレッド対応をしなくても原理的に安定して動作します。
こういう状況の中、UNIXの世界でも注目されてきたプロセスをプールして再利用するという発想、FastCGIが登場しました。IISの開発チームはZend社と協業する中で、このFastCGIのモデルで構築できるコンポーネントを開発しました。これにより、安定してパフォーマンス面でも心配の無い新しいIISでのPHP(FastCGIで動作する言語であればどれでも)利用環境を構築できます。
前置きが長かったですが、このFastCGI Extension for IIS6.0はその流れの中で開発されたものです。IIS6.0、つまり Windows Server 2003ではこのモジュールを適用するわけですが、Windows Vista 製品版用には別のモジュール、Windows Server 2008/Windows Vista SP1については標準装備なのでOSからCGIを選択してインストールするとFastCGIも一緒にインストールされます。
感想
IIS6.0用とIIS7.0用では設定方法に違いがあります。これはIIS7.0がモジュール構造に進化しているからで設定がより簡単に、且つ柔軟になっています。IIS7.0であればIISの出力キャッシュを使ってかなりのパフォーマンスが出せますのでスーパー厳密なトランザクション処理が必要な場合以外では今後、試していただくに足る環境に成長していると思います。このキャッシュについては下記の投稿をご覧ください。
【IIS7】 MSC2008 セッションより (おまけ)
余談
私はPHPの達人ではありません。なので、PHPに熟達された方々に色々なご意見をお聞きするように努力を続けています。PHP on IISのサイトでご紹介するセミナーや技術記事をこの領域の情報収集が必要な方にはお薦めしておきます。「IIS7.0を極める」シリーズも引き続き、若干今スローなペースですが、確実に数を増やしていきます。(私が。。。)
PHP on IIS あなたの可能性を広げる、Windows環境へ
この追加機能をインストールすることで PowerShell でより本格的に管理できるようになります。 今までも Windows PowerShell 内で appcmd.exe を使う方法や.NETのクラス(Microsoft.Web.Administrationをたたく)を直接取り扱う方法も用意されていたわけでこのプロバイダが必須というわけではありません。ただ、より PowerShell の文法に即した形で自然に管理ができるようになるというわけですね。
アイテム №6 「PowerShell Provider for IIS7」
既にIISマネージャ、appcmd、WMI、Microsoft.Web.Administrationを通じて管理が可能なIIS7にさらに Windows PowerShell による管理を提供する
●サイト、アプリケーション、仮想ディレクトリの作成・変更・削除 ●構成プロパティの変更 ●実行時データをクエリーする ●他のPowerShellスナップインとの統合による複雑な管理
PowerShellが持つ強力なスクリプティング機能とこのツールで追加されるIISネームスペース、コマンドレットを使用した柔軟で複雑な管理を可能にする
Windows Vista SP1、Windows Server 2008 IIS7.0がインストールされていること Windows PowerShell 1.0 以降がインストールされていること
このツールは管理者実行でインストールする必要がある
PowerShell Provider for IIS 7.0 (x86) - CTP2 PowerShell Provider for IIS 7.0 (x64) – CTP2
Windows PowerShell 1.0
Windows Vista 用 Windows PowerShell 1.0 インストール パッケージ (KB928439) Windows Vista x64 Edition 用 Windows PowerShell 1.0 インストール パッケージ (KB928439) Windows Server 2008 では 標準機能なので追加インストールは不要です。 サーバーマネージャで機能から Windows PowerShell をインストールします。 ServerManagerCmd.exe –install PowerShell –a でインストールも可能です。
Community Technology Preview(CTP) 2
Getting Started with the IIS 7.0 PowerShell Provider http://learn.iis.net/page.aspx/428/getting-started-with-the-iis-70-powershell-provider/
Windows PowerShell は新たな Windows 環境の管理手法として大変注目が集まっているのはご存じの方も多いと思います。コードネーム「Monad」と呼ばれていたころに比べるとインターネットで検索した時の結果数や本の冊数は比べ物にならないくらいです。私がIIS7.0を2006年から追いかけているように同僚の田辺はMonadのころからPowerShellを追いかけてきましたのでぜひ彼のブログとそこからリンクされている有用のサイトを是非ご覧いただきたいと思います。今後のマイクロソフトのサーバー製品は必ず PowerShell で管理できるようになる開発基準もできましたので、この時点で Windows PowerShell 自身に目を向けて情報収集いただくのはとても有用です。
さて、IIS7.0という観点では何故か appcmd.exe という専用のコマンドが用意されていて、PowerShell 対応からスタートしていません。これはまさに開発の時期が PowerShell と同時期に行われていたからで、IIS7.0の出荷時にコマンドで管理できるインタフェースを用意する必要があったからです。一方で Windows PowerShell の有用性はIISの開発チームもよく知っていましたので、今 現在 CTP版としてネイティブに PowerShell で IIS7.0 を管理するプロバイダを提供しようと開発を進めているわけです。ということでこのプロバイダを使用すると PowerShell の一般的な文法に近い形で IIS7.0を管理できますので一番きれいな形なのかもしれません。
一方で、このプロバイダが無いとIIS7.0は管理しにくいのでしょうか? そうではないです。IIS7.0にはスクリプティングに利用できる管理手法が appcmd、WMIプロバイダ、Microsoft.Web.Administration(MWA)クラスと3つも用意されています。なので、ちょっと考えてみただけでも下記のような組合せが考えられます。Administration Pack の Configuration Editor でもこの3種類の出力をしてくれましたよね。
PowerShell内で
- appcmdを直に対話的に実行する - appcmdを含んだbatファイルを実行する - WMIを操作するのが得意な PowerShell 機能をフル活用して対話的に実行する - WMIプロバイダのスクリプトを記述し、それを実行する - PowerShell は対話的に.NETのクラスが利用できるので、対話的にMWAを実行する - 管理を行うプログラムをMWAを使って開発し、それをコマンドで利用する - 実は構成ファイルはXMLなので、手動で.configファイルを書き換えるつもりでXMLを操作する ・・・winrs.exeを使ってリモート処理、WMIのリモート管理機能でリモート処理 etc…
などなど、やりようによってはすごくPowerShellと親和性が高いことがわかると思います。また、システム構成がXMLファイルになり、アプリケーションをフォルダコピーで配布することが可能、システム構成ファイルもコピーすることが可能な点から PowerShell の中でファイルコピー操作を駆使することでIIS7.0自身の構成展開をはじめ、アプリケーションの配布も可能です。PowerShell は UNIX系のテキストをパースしてコマンドで利用することのできる機能を継承しているのでとにかく PowerShell で何かをするように検討することは管理の自動化と省力化において非常に重要な要素に今後なってくるはずです。
私はこのプロバイダが開発完了したら、このプロバイダを使用することが一番の推奨です。もちろんGUIで操作することと自動化系でこの PowerShell を使用することの組合せになるのかなと思っています。他の環境をも操作できる PowerShell を理解しておくととにかくバラバラで何かを覚えなくても管理が簡単にできることから PowerShell で覚えることが一押しです。UNIX技術者の方であれば当たり前ということかもしれませんが、コマンドを知らなくてヘルプをどんどん引くことで利用できる対話型インタフェースの存在はすごく大きいですね。なんとなく管理方法の想像がつくはずですから。PowerShell 自身も進化していくので2.0以降ではもっともっと便利になるでしょうね。
それと Server Core で PowerShell が使えないのはASP.NETが使えないのと同じ理由です。この点については当面ほかの機能のリモート管理手法を使って代替することになるでしょうね。
下記の PowerShell タグでの RSS をアクセスする中で以前に私が「独自翻訳」した手順もありますので日本語は?と思ったらこちらも参照ください。いずれは PHP on IIS でやっている「IIS7.0を極める」シリーズで取り上げたり、Webcastを用意しようと思っていますので。。。 http://blogs.technet.com/hirookun/archive/tags/PowerShell/default.aspx
このプロバイダの最初のころ操作をした方は「使いずらーい」と思ったに違いありません。今回のCTP2では随分よくなりました。これは開発工程に影響しているのです。CTP1のころは文字列を自分で指定して実行するかなりローレベルなコマンドしか用意されておらず、その代わり汎用的なコマンドを用意していたからです。CTP2ではラッパーのような感覚で特定の操作を行うコマンドが増えたことにより、もっと便利になっています。結果的に IIS7.0 を管理するということは XMLファイルを操作することに行きつくわけで、何もかもやり方は自分のお好みのままですね。まあ HTTP.sys の構成は IIS7.0 の構成とは切り離されているのでまだまだなんでも自由というわけにはいかないのが実情ですけどね。(*^_^*)
Administration Pack から独立した Database Manager です。
アイテム №5 「Database Manager for IIS7」
IISマネージャ内からデータベースを管理できるようにするツール。以前のビルドではAdminstration Packに入っていたが、本CTPから独立した。
●複数のデータベースへの接続 ●テーブルの作成・編集、キーの追加・編集 ●クエリーの作成と実行 ●ストアドプロシジャーの管理
リモートのユーザーがHTTPS経由でIISのマシンを通してデータベースを管理できる。拡張することで他の種類のデータベースにもアクセス可能。
Windows Server 2008 (IIS 7.0) セットアップの過程で SQL Server Management Obejcts Collection、SQL Server Native Clientがインストールされる 日本語環境では個別にSQL Server系のコンポーネントを入れておくといいでしょう。
リモート接続するユーザーは追加でセットアップされるSQL Server系のコンポーネントは不要
Database Manager for IIS 7.0 CTP2 (x86) Database Manager for IIS 7.0 CTP2 (x64)
Microsoft SQL Server 2005 用 Feature Pack- 2007 年 2 月 http://www.microsoft.com/downloads/details.aspx?FamilyID=50b97994-8453-4998-8226-fa42ec403d17&DisplayLang=ja Microsoft SQL Server 2008 用 Feature Pack - 2008 年 8 月 http://www.microsoft.com/downloads/details.aspx?FamilyID=c6c3e9ef-ba29-4a43-8d69-a2bed18fe73c&DisplayLang=ja 開発ステージ
Using the Administration Pack & Database Manager http://learn.iis.net/page.aspx/401/using-the-administration-pack/
SQLのコンポーネントが必要となるこのツールは他の Administration Pack の機能とは少し趣きが違うので分離されたのは当然かなというところはあります。IIS7の接続文字列やASP.NETメンバーシップを活用するような機能などはSQL Server 2008の開発中から先行していて開発してきたもので、SQL Server 2008 には対応できていない点があるかもしれないのが注意点です。なので、ここでもSQL��コンポーネント系は両方リンクを貼っています。
開発ツールの中からもSQLにはアクセスできるし、敢えてなんで?という質問もあるかもしれませんが、こういうことだと考えています。IISマネージャが拡張されることで、リモート管理を行う前提で考えてみると、IISのサーバーに接続するIISマネージャだけ入っているマシンでもサーバー上のデータベースを管理する仕組みというのはなかなか難しいですよね。このツールはサーバーにだけSQL系コンポーネントが必要であることからもわかるようにリモート端末はIISマネージャだけで動作します。これによって実はホスティングを行っているような環境に対してユーザーにデータベース簡易操作(クエリーを実行できる機能があるので知っていればかなりなことができるが)をHTTP経由で渡すことができます。これが実はこの機能の肝のような気がしています。IISの開発チームはホスティングに最適なWebサーバーという大きな目標を持っているのでその方向性でこの機能が便利というフィードバックが多くあったと聞いています。
最近 どこにでもデータベースを管理するUIがつく傾向にあるような感覚を覚えますが、それほどに必ずデータベースを使う状況というのが増えているんだと思います。Windows Web Server 2008 と SQL Server 2008 Web の登場で 純粋なMS 環境でもかなり経済的に Webサーバー+データベースサーバーを組めるようになってくることから今後もこのエリアでは色々な機能が登場してくるのが予想できます。ASP+MDBでの軽装が好まれているのはよく知っていますが、今後はセキュリティ面などを強化する意味でもバックに SQL Server が控えている構成というのがもっと流行ると思っています。
当日はデータベースを事前に作っていなくて、クエリーをばんばん投げる仕事を最近していないので結構ばたばたしてしまいましたが、まあ操作に慣れれば、結構 Webを管理する用途だけという意味では Visual Studio ベースの Management Studio を起動するよりはかなり便利かもなとふと思いました。
IISマネージャを拡張する Administration Pack です。
アイテム №4 「Administration Pack for IIS7」
IIS7.0サーバーを管理する上で便利ないくつかの機能をパックにしたものから構成されている ※Database Managerはこのパックから独立したもの
●IISマネージャ内で構成情報の値を検索、直接参照、編集、ロックがconfigファイルを意識せずに可能 ●指定した構成変更のC#、Jscript、AppCmdスクリプトを生成 ●グラフや表を含むレポートを表示 ●IISマネージャのUIを拡張(リクエストフィルタリング、ASP.NETの認証とカスタムエラー、FastCGIのUI追加)
標準のGUIで不足しているとお客様からご指摘とご要望の多かったものを追加してくれる非常に便利なツールのセット。特に利用確実なリクエストフィルタリングのUI追加、カスタマイズして作成できるレポートプラットフォームの追加はかなり便利。
Windows Server 2008 (IIS 7.0)
IIS7.0がインストールされていること
Administration Pack for IIS 7.0 CTP2 (x86) Administration Pack for IIS 7.0 CTP2 (x64) 開発ステージ
Windows Server 2008 そして IIS7.0 は拡張性が高いのですが、この Pack はその象徴みたいな機能です。OS出荷段階で登場した機能に対して多くのお客様フィードバックをいただいた結果、不便な点やこんな機能が欲しいというのにお応えしていくのがこんな形ですぐに出てくるのは非常に喜ばしいことです。
この Administration Pack には大きく分けて3つの拡張が含まれています。
一つ目は元々GUIがなくてconfigファイルに設定を書かないとできなかったことで不便と指摘のあった4つの機能に対してGUIを用意しました。
特に Request Filtering は UrlScan の後継であることから、セキュアな環境を設定するには欠かせない機能ですのでUIでもできるようにと声が多く上がったことは間違いところでしょう。ちなみに UrlScan3.0というのが出ていて、今回のセッションでも取り上げていますが、この Request Filtering の機能は UrlScan2.5 相当の後継であって、現時点では SQL Injection対応ができていないと思われるコードが結構あると想定される環境では IIS7であっても UrlScan3.0 をインストールするのが推奨です。今後は UrlScan3.0 相当の機能を実装した Request Filtering のモジュールが提供されることになると思います。
二つ目は簡易的なレポートが欲しいという要望に応えたもので、IIS Reportです。もっと早い時期のビルドではLogParserをインストールしてくださいというメッセージが出ていたのですが、それはなくなって、いきなりレポートが使えます。Webサーバーのレポートというのは専用のAgentを入れてデータを蓄積するものやそもそもアクセス分析をするために別のサーバーで管理するものなど様々ですが、最も多いケースはIISログを何かしらの方法で解析する方法でしょう。そういう意味ではExcelなどにデータを持ちこんで格闘する前にこのReportを見ていただくのがいいのではないかと思っています。 注意:Vistaに接続しているとエラーが出るかもです。
三つ目は階層型のシステム構成が結局処理される最終configが把握しにくいという要望に応えたもので、GUIで何か設定をするのではなく、configをいじくるXMLエディタのような機能が追加されています。それ自身は特に面白みもない機能かもしれませんが、ちょっと憎らしい機能がついています。config を設定した後で操作ウィンドウを見ると Generate Script という機能を利用できるのがわかります。まだ PowerShellのスクリプト出力するところまではいっていませんが、MWAを利用するC#のコード、JavaScriptのコード、appcmdのコマンドラインを出力してくれますので今後の自動化に役に立つこと間違いなしでしょう。
とても管理の面を楽にしよう、楽にしようという製品開発チームの気持ちが伝わってくる一品です。特にレポートは拡張が可能であり、独自のレポートを作成することもできることからビジネスチャンスでもありますし、Excelで不毛な時間を過ごしている運用管理者にとっても他のことに時間を振り向けることができるチャンスだと思います。そして、Configuration Editor は自動化を意識している点がすごく気にいっています。他のサーバー製品のように操作に対してPowerShell のスクリプトを出力できるように早くなって欲しいですが、これはまず PowerShell Provider の方が RTW しないといけないという順番待ちなんでしょう。
このブログを書きだしてからアクセス解析にとても興味があります。そういう意味では自分で管理するIISを運用されている方はぜひ今回のこの Adminstration Pack をきっかけに色々と運用にメスを入れていただきたいと思います。まあ運動選手はひじにメスを入れると周りの筋肉を復活させるのが大変なんていう話もありますので無理することはないと思うんですが、IIS7をきっかけに何かが便利にできたとか改造できたなんていう話がもしあればぜひ教えてくださいね。
それでは Administration(管理)系のツールにいきます。 まずはクライアントOSで利用できる単独 IIS Manager です。
アイテム №3 「IIS Manager for Remote Administration」
この新しい単独で提供されているIIS ManagerによりIIS7.0サーバーをWindows Vista、Windows XP、Windows Sertver 2003 からリモートで管理ができる
●クライアントOSからのIIS7.0サーバーリモート管理が可能 ●サーバー、サイト、アプリケーション単位で接続 ●サイト、アプリケーションのコンテンツをツール内から参照 ●ローカルにIIS7.0が無くてもいい ●同時実行が可能
管理の委任に従って、自身の管理対象であるサイトやアプリケーションのみを管理できる、使い勝手がいい管理ツール。 複数サーバー、複数サイト、複数アプリケーションを管理。
Windows XP SP2 以降、Windows Server 2003 SP1 以降 Windows Vista SP1 以降(IIS7.0管理コンソールも要) .NET Framework 2.0 以上
Internet Information Services (IIS) 7.0 Manager (x86) Internet Information Services (IIS) 7.0 Manager (x64) 開発ステージ
Configuring Remote Administration and Feature Delegation in IIS 7.0 http://learn.iis.net/page.aspx/159/configuring-remote-administration-and-feature-delegation-in-iis-7/
IISマネージャは新しいIIS7.0を管理するためのGUIツールです。.NETベースで開発されたこのツールは.NET Framework 2.0以上が必要で、故にServer Coreインストールでは使えないツールになっています。また、Windows Vistaに搭載されているIISマネージャは自身のサーバーを管理する機能だけを持っているため、他のサーバーへ接続できる機能を持ちません。そこで、Windows VistaにリモートでWindows Server 2008を管理させる機能を持たせるために開発されたのがここで紹介している単独で提供しているIISマネージャになります。
FTPのところでも紹介しているかもしれませんが、IIS7.0に標準で付属している FTP は IIS6.0 相当のもので、管理するのに IIS6.0 の IISマネージャを必要とします。同様の論理で、IIS7.0 の IISマネージャは IIS6.0 以前が管理できませんのでこのツールで IIS5.1 や IIS6.0 に接続してもうまくいきません。
もう一つの特徴はこの単独の IIS7.0用の IISマネージャは Windows XP SP2以降、Windows Server 2003 SP1以降 で利用できます。ただし、UI は英語になります。Vistaの場合には事前にOS付属のIISマネージャをインストールしておくことで UI は日本語を保持したまま利用できます。なので現時点ではやはり Vistaをリモート管理用にご利用いただくことが推奨です。
ちょうど TechNetフォーラムで質問が上がっているのでここで参照しておこうと思います。
Internet Information Services (IIS) 7.0 Manager
今日 私の方で書き込みをしましたが、
\Program Files\IIS\IIS Manager 7.0\Readme.htm に書いてある通り、Connect to localhost を Windows XP で実行するとご指摘のエラーに遭遇しました。
ということでそもそも Windows XP に仮にIISをインストールしているとしてもこの IISマネージャでは IIS5.1 に接続する機能は持っていませんので、Connect to localhost は行う必要が無いのでこのエラーには皆さん遭遇しないはずです。
ただ、他の条件でエラーが発生するのだと問題ですのでフォーラムのスレッドでは引き続き情報が入手できたらUpdateはするつもりです。
あとはリモート管理を有効にするにはサーバー側の設定が必要なのを忘れないでください。コントロールパネルからサービスを開くと、Web Management Service というサービスが存在するのがわかると思います。このサービスが有効で、開始されていないとリモートから接続できません。Windows Vista SP1にこのIISマネージャをかぶせたのですが、Windows Vistaには管理サービスのアイコンが出ないですね。configをサーバーと同じように書けば動作は同じはずですが、Windows Vistaをリモート管理するシチュエーションがどれだけあるのかは私にはわかりません。
Windows Server 2008 は Windows Server 2003 よりもさらにリモート管理を意識していて、winrs や winrm の仕掛けを始め、Web Management Serviceなど、HTTPあるいはHTTPSでリモート管理する仕組みは多く用意されているので監視専用端末を作るくらい台数を配備する大きめの案件ではじっくり吟味するエリアなのかなと思っています。2003のAdminpakに相当するRSATについては田辺のこの記事あたりをご覧いただければと思います。
XP や 2003 でも日本語が出るようにして欲しかったのが一点、繋がるはずのないものはそもそも表示して欲しくなかったという不満が少しある残念な一品ですかね。ちょっと塩味が薄かったという感じでしょうか。(*^_^*)でも十分に実際の操作という意味ではXPでも役に立つと思います。あとはそもそもGUIで操作するのではなく、configのコピーを行うような運用の方が今後は多くなってくるんでしょうね。
次へ参りましょう!
アイテム №2
「WebDAV Extension for IIS7」
Windows Server 2008 向けに完全に書き直したWebDAV拡張
この WebDAV 拡張により、以前よりもパワフルで使いやすいWebコンテンツの発行が可能。一方では、管理者にとってはセキュアな環境で 且つ 展開もしやすい。
※基本的に OOB ツール群は内部構造の酷似から Vista でも動作するものが多いですが、サポートという観点ではここに書いてあるOSとお考えください。それに XP 同様、Vista での IIS 利用は開発環境を想定しており、運用環境としては元来想定していません。
■IIS7.0がインストールされていること ■IISマネージャを使用してWebDAVを管理する場合には管理ツールもインストールしておく必要がある ■この拡張のインストールは管理者として実行する必要がある ■共有構成をしている場合には一旦解除し、インストール後に再構成する
Microsoft WebDAV Extension for IIS 7.0 (x86) Microsoft WebDAV Extension for IIS 7.0 (x64) 開発ステージ
WebDAV for IIS 7.0 http://learn.iis.net/page.aspx/357/webdav-for-iis-70/
重要!! Hotfix もうあります。(9/7時点)
A hotfix rollup is available for the out-of-band WebDAV module for IIS 7.0 http://support.microsoft.com/kb/955137/
A hotfix rollup is available for the out-of-band Web Distributed Authoring and Versioning (WebDAV) module for Internet Information Services (IIS) 7.0. The hotfix rollup resolves the following issues when you use the WebDAV module for IIS 7.0:
•Some characters are not escaped correctly in the PROPFIND responses. •Virtual directory enumeration does not work as expected.
WebDAV は RFC2518 で定義されている HTTP を使用してファイルやフォルダを管理するために作られた仕様です。XPでいうところのネットワークプレイスから接続する際に「HTTP」を指定するアレというとわかりやすいでしょうか。それと Windows Server 2003 だと Web 拡張 つまり ISAPI 拡張として実装されており、IISマネージャを開くとすぐに見つかったものです。Windows Server 2008 ではベースになる WebDAVのプラットフォームは用意されているものの、実際に利用できるようになっていないのが実情です。そこで出荷したのがこの WebDAV Extension for IIS7 ということになります。完全な書き直しで、ISAPI ではなく、モジュールとして実装されています。
FTP7と同様、IIS7に完全統合されており、管理系は同じ操作感覚で実施できるほか、IIS6ではWeb拡張にあったことからサーバー全体での管理だったのですが、今回はサイト毎に有効化できます。管理もそれぞれのサイトで利用可能です。ということはサイト毎にユーザーサービスを提供したいホスティングにおいてはかなりの威力を期待できることになります。企業内で利用する場合も例えば構築しているシステム単位で設定をわけるなど設計の仕方によってはなかなか面白い使い方ができるでしょう。
いくつか利用にあたっての注意点ですが、まず Windows Server 2008 で試そうと思って net use * http://localhost/ とやると失敗します。本来であればこれでドライブがマップされて、以降そのドライブを利用するとHTTPでのやりとりが可能になります。この点についてはサーバーの機能で「デスクトップエクスペリエンス」が必要です。ただ通常は Windows Server 2008 はサーバー側であって、アクセスする側ではないので必要ないでしょう。一方で Windows Vista でアクセスする場合には問題ないはずです。Windows XP についてはちょっと注意が必要で、公開したルートにはアクセスできない仕様になっているのでサブフォルダからの利用という設計をしてください。
もう一つ、セッションでも言ったのでここでも書いておこうと思います。ちょうど同僚の松崎が SharePoint の環境を構築している時にも遭遇した問題で、SharePoint の方は独自の WebDAV 実装をしているというものです。つまり、このモジュールをインストールしてはいけないということです。ただ、今後は SharePoint の方が共通の部品を使用する観点で OS 側に近いこっちのモジュールを使用するように変わってくるという可能性が高いという話もしました。これは将来のバージョンでの話なので今は SharePoint で入るものを利用するということを忘れないようにしましょう。どうなるかというと、入れてしまうと Explorer ビューがうまく動かなくなるのです。
この機能も Windows Server 2008 の標準機能として盛り込んで欲しかった機能の一つだったのですが、残念ながらタイミングが合わず、OOBツールとして出荷したものです。FTP7の投稿でも書きましたが、Visual Studio の発行機能をお使いの方向けに IT Pro 道場の自主トレシリーズでは FrontPage Server Extension(FPSE)の使い方や入手について触れています。でも実は今後は FTP や WebDAV が発行の標準に変わってきます。なので、FPSEを強力に今 使っている方はコンテンツ発行に関してはできれば FTP よりもさらに WebDAV に移行していくのを推進いただいた方がいいです。
WebDAVを見ていて思うのは Exchange の Webフォルダと呼ばれていたころの機能です。マイクロソフトの実装としては前からあるわけですが、基本機能として Web サーバーにこれがきちんと実装されているのはうれしいですね。
なんか体調が万全じゃないままの日々を過ごしています。Tech・Ed のまとめで書くものもいっぱい残っているんですが、どうにも進みません。ひさびさのど・スランプです。((+_+))
とりあえずやることを順にこなすしかないのでしばらくそのモードになりそうです。ちょっとブログが滞りそうなので先に書いておこうと思って。。。せめてお腹の調子だけでもよくなったらなぁ (--〆)
久し振りの完全な独り言でした。
Tech・Ed でTシャツを配っていて当たった方も結構いると思いますが、PHP on IIS サイトの情報拡充を再開しました。
ラーニングコンテンツ http://www.microsoft.com/japan/opensource/php/learning/default.mspx
PHPが動作するようになったら当然色々な既存の有名アプリケーションを使いたいですよね。代表的なものをインストールする方法を日本語でZendさんと一緒にやっているサイトで公開していますからそこへのリンクを複数貼りました。それからそれ以前に必要なPHPのインストール方法もIIS.NETのサイトにリンクしました。
今後も継続的にPHPをIISで動かすのに便利な情報を増やしていく予定ですのでウォッチしてくださいね。(*^^)v
田辺と私はこのメニューがサーバーマネージャに登場してから「なかなか役割増えないねぇ」と常日頃気がつくといつも会話していたものです。で、今日 Windows Update を検証環境の Windows Server 2008 にかけると一つの更新が “Windows Server 2008 Server Manager Dynamic Installer” という名称でした。うーん?これは!?
Windows Update でリストされたものの詳細を表示したら
というわけでした。なので、当然 サーバーマネージャで役割の確認をすると、、、
が表示されたのであります。
ということで田辺と私が長ーく待ち望んだ役割の追加の一号は WSUS ということに相成りました。
そしてWSUSの開発チームブログをチェックしにいくと書いてありましたな。8/28の日付になってます。 http://blogs.technet.com/wsus/
お伝えしたいことが多すぎる~ 困った。。。(*^_^*)
それではどんどん参りましょう!
アイテム №1
「FTP Publishing Service for IIS7」
IIS7.0とともに利用できる、より便利でセキュアなFTPサービス Webコンテンツの発行に使用できる
●IIS7.0との統合 ●インターネット標準への準拠 - FTP over SSL, UTF8, Ipv6 ●共有ホスティング向け改善 同一サイト内でのFTPとWebを両方ホスト可能 仮想ホスト名のサポート(同一IPアドレスを利用可能) ●改良されたロギングサポート ●新診断機能のフル活用 新詳細エラーの適用、ETWへのロギング
Windows Server 2008 のみ ※基本的に OOB ツール群は内部構造の酷似から Vista でも動作するものが多いですが、サポートという観点ではここに書いてあるOSとお考えください。それに XP 同様、Vista での IIS 利用は開発環境を想定しており、運用環境としては元来想定していません。
IIS7.0がインストールされていること IIS7.0の管理ツールがインストールされていることが望ましい FTPサービスのインストールは管理者で実行すること IIS7.0とともにインストールされるFTPを削除する必要あり 共有構成をとっている場合、一旦解除が必要
Microsoft FTP Publishing Service for IIS 7.0 (x86) Microsoft FTP Publishing Service for IIS 7.0 (x64)
FTP 7 for IIS 7.0 http://learn.iis.net/page.aspx/356/ftp-7-for-iis-70/
重要!!9月2日 追記 Hotfix もうあります。(9/1時点)
A hotfix rollup is available for the out-of-band FTP service for IIS 7.0 http://support.microsoft.com/kb/955136/
A hotfix rollup is available for the out-of-band FTP service for Internet Information Services (IIS) 7.0. This hotfix rollup resolves the following issues when you use the FTP service for IIS 7.0:
•The FTP service causes an access violation when you host Secure Sockets Layer (SSL)-based FTP sites on port 990. •Role lookups do not work when you use the FTP Membership provider. •The declared port ranges may not work as expected.
ひと目で~の著者から質問をもらって米国とメールでやりとりをしている中でもうHotfixの提供があることを失念していたことに気がつきました。セッションでも話をしていません!!あらためてここで補足しておきます。。。
FTP については IIS7 に付属のものとの違いが大事なのでその点から入りました。IIS7(Vista、Windows Server 2008)付属の FTP は IIS6 相当のものであり、管理ツールも IIS6 の管理ツールを使用して管理する必要があります。一方で、今回の FTP は省略して FTP7 と呼んでおり、完全に IIS7 と統合され、IIS7 で便利になった点(構成、診断、ログ、、、)を同様に活用できる非常に進歩した FTP サービスとなっています。
まず、UI ですが残念ながらインストールするとわかりますが、現時点では英語になっています。ただ、データとして日本語を使うことに問題はありません。そして 実体ですが、FTP に関しては個別のサービスになっています。コントロールパネル、管理ツール、サービスから存在を確認してください。
そして FTP7 で今までと異なる点をいくつかあげると、WebサイトにFTP機能を付与できるようになったこと、FTPS に対応したことなどが挙げられます。また、仮想ホスト名にも対応しているため、ホスティングを行っているような環境で同じポートを共有しつつ 複数のサイトで FTP機能を提供することが簡単にできます。
また、TechNet の IIS7フォーラムで既に投稿いただいている方がいらっしゃいますが、OSのベース機能である ETW にもFTPはきちんと対応しており、IIS7との統合、設計の整合性ぶりを発揮してくれます。
TechNet フォーラムより:FTP7のイベントをETWに送るには? http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=3698017&SiteID=36 ※Alfred360 さん、ありがとうございます!
この機能はぜひ Windows Server 2008 の標準機能として盛り込んで欲しかった機能の一つだったのですが、残念ながらタイミングが合わず、OOBツールとして出荷したものです。IIS7世代のFTPサービスとして標準で付属しているものではなく、是非今後はこの FTP をご利用いただきたいと思います。また、Visual Studio の発行機能をお使いの方向けに IT Pro 道場の自主トレシリーズでは FrontPage Server Extension(FPSE)の使い方や入手について触れていますが、実は今後は FTP や WebDAV が発行の標準に変わってきます。なので、FPSEを強力に今 使っている方はコンテンツ発行に関してはどちらかに移行していくのを推進いただいた方がいいということになります。
OOBツールには大概ウォークスルー��言って、ステップバイステップの手順が IIS.NET に用意されますが、それらの日本語化も今後は検討していきたいと思っています。(*^_^*)