none
[HOW TO] IIS7.0 のインストール方法 RRS feed

  • 質問

  • 時間がある時によく質問のある内容を書きとめておこうと思います。今回はまずはIIS7に触れる上で最も最初にあたる壁、どうやってインストールするかです。コマンドラインなど、やる段階で「ここを参照すれば」とこの投稿を思い出してもらえるとうれしいです。

     

    // はじめに

    IIS7 は IIS6 同様、IIS5 の教訓から OS のインストールが行われた段階ではインストールされていません。また明示的にインストールするように指定してもかなり限定的な機能(静的な HTML などをサービスする)のみインストールされます。さらに OS の Edition によって利用できる機能が限定されているものがあります。下記記事にマトリックスが掲載されているのでそこで参照ください。モジュール数だけでなく、一番下に同時接続数の制限も書いてあります。ただ、XP と違い 制限を超えたリクエストはキューに入るだけでいきなりはエラーを返さないという点が注意です。Windows Server 2008 系では制限がありません。これはWindows Vista はあくまでも開発環境として利用することを想定しているということですので極力運用環境で使うことは避けましょう。

     

    IIS7 Features and Windows Vista Editions

    http://www.iis.net/articles/onepagearticle.ashx/IIS7/Deploy-an-IIS7-Server/Installing-IIS7/IIS7-Features-and-Windows-Vista-Editions

     

    2008/12/16 更新、上記がリンク切れで下記はアクセス可能です。
    http://learn.iis.net/page.aspx/479/iis-70-features-and-vista-editions/

     

    また、米国のTech・Edで Server Core でのインストールも可能という発表がありました。まず、Server Core に IIS7 が追加されるのは June CTP からで、Beta 3 には含まれていない点が注意です。そして、Server Core は基本ネットワークサービスをライトで攻撃されにくい環境で提供することを主眼に設計されたものなので、.NET Framework が入っていません。なので現時点では ASP.NET は動作しないというのも注意です。Framework を無理に入れて検証しても Framework が依存しているファイル群で欠けているものがある可能性もあり、徒労に終わるのでそこで絶対時間を使わないでください。

     

    //セットアップ方法の種類

    きれいに整理されている単体記事が無いのでここではその役を果たそうと思います。

    http://www.iis.net/default.aspx?tabid=7&subtabid=74 にある記事の要約だと思ってください。

     

    2008/12/16 更新、上記がリンク切れで下記はアクセス可能です。
    http://learn.iis.net/page.aspx/85/installing-iis-70/

     

    1. GUI でのセットアップ方法

    一台を作る時はこちらが一般的でしょう。また一番簡単な方法でもあります。

     

    1-1. Windows Vista でのインストール

    XPまでの流れをそのまま汲んでいてコントロールパネル - プログラムと機能 - Windows 機能の有効化または無効化 です。これについてはあらためて説明は不要でしょう。ただ、WAS(プロセス起動サービス)にIISは依存しているのでそれも一緒に必要ということは書いておきます。

     

    1-2. Windows Server 2008 でのインストール

    Vista と同じようにやろうとするとServer Managerに飛ばされるだけですので、最初からServer Managerの「役割」からインストールするようにしましょう。スタート メニューの一番上にあります。1-1 で書いているWASはWindows Serverでは機能という取扱いになっているので「役割」ではなく「機能」の方に表示されます。

     

     

    2. コマンドラインでのインストール

    複数台のインストール、あるいは慣れてくるとこっちの方が便利で、かなりこちらを使う人が周りでは多いです。

     

    2-1. Pkgmgr.exe

    このコマンドはいわばWindows機能の有効化または無効化をコマンドにしたものであると思えばわかりやすいです。どのOSでもServer Core形態でも利用可能なので一番汎用的です。

     

    - 既定のインストール

    start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

    - フルインストール

    start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;IIS-FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

     

    - Home Premium のみ

    start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-Security;IIS-BasicAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

     

    Server Coreについてはこちらからの抜粋です。

    http://blogs.iis.net/metegokt/archive/2007/06/26/administering-iis7-on-server-core-installations-of-windows-server-2008.aspx

     

    - Server Coreで既定

    start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel

     

    - Server Core でフル

    start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-FTPPublishingService;IIS-FTPServer;WAS-WindowsActivationService;WAS-ProcessModel

     

    - Server Coreで従来のASPが動作する環境

    Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;IIS-ASP;IIS-ISAPIExtensions;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;WAS-WindowsActivationService;WAS-ProcessModel

     

    - Server Coreで静的なコンテンツとFastCGIが動作する環境

    Start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;IIS-CGI;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;WAS-WindowsActivationService;WAS-ProcessModel

     

    Pkgmgrについては /iu の代わりに /uuを使うとアンインストールになります。/nを使ったファイルでのモジュール指定はこの記事を参照ください。事前にXML形式のファイルをメモ帳なりで用意しておくことになります。

    http://www.iis.net/articles/view.aspx/IIS7/Deploy-an-IIS7-Server/Installing-IIS7/Using-Unattend-Setup-to-Install-IIS7

     

    2-3. ServerManagerCmd.exe

    Windows Serverであればこちらが推奨です。-WhatIf や-Queryでの確認など機能が豊富です。こちらはServer Managerをコマンドにしたものであると思うといいでしょう。Server Core、Vistaでは使えません。

    http://blogs.iis.net/metegokt/archive/2007/04/13/installing-iis-7-0-using-servermanagercmd-exe.aspx

     

    -WhatIf : Windows PowerShellから登場しているパラメーターで要するに「もしも?」です。このコマンドを実行すると何が起こるのか、この場合では何がインストール/アンインストールされるかを事前に知ることができます。多くのモジュールのインストールが行われる場合には時間がかかりますからそういうことも事前に知ることができます。

     

    メモ帳等でXMLファイルを作っておく方法を推奨します。 -install Web-Server -a とかもできるんですが。

     

    - 既定インストール: Default.xmlとして保存

    = ここから =

    <ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">
            <Role Id="Web-Server" /> 
    </ServerManagerConfiguration>

    = ここまで =

    コマンド: ServerManagerCmd.exe -inputPath Default.xml

     

    - 既定インストール+FastCGI: Default_CGI.xmlとして保存

    = ここから =

    <ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">
          <Role Id="Web-Server" />
          <RoleService Id="Web-CGI" />
    </ServerManagerConfiguration>

    = ここまで =

    コマンド: ServerManagerCmd.exe -inputPath Default_CGI.xml

     

    - 既定インストール+従来のASP: Default_ASP.xmlとして保存

    = ここから =

    <ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">

        <Role Id="Web-Server" />
        <RoleService Id="Web-ASP" />
        <RoleService Id="Web-Filtering" />
        <RoleService Id="Web-ISAPI-Ext" />
    </ServerManagerConfiguration>

    = ここまで =

    コマンド: ServerManagerCmd.exe -inputPath Default_ASP.xml

     

    - 既定インストール+ASP.NET: Default_ASPNET.xmlとして保存

    = ここから =

    <ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">

        <Role Id="Web-Server" />
        <RoleService Id="Web-ASP-Net" />
        <RoleService Id="Web-Net-Ext" />
        <RoleService Id="Web-Filtering" />
        <RoleService Id="Web-ISAPI-Filter" />
        <RoleService Id="Web-ISAPI-Ext" />
    </ServerManagerConfiguration>

    = ここまで =

    コマンド: ServerManagerCmd.exe -inputPath Default_ASPNET.xml

     

    - フルインストール: Default_FULL.xmlとして保存

    = ここから =

    <ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1">

        <Role Id="Web-Server" InstallAllSubFeatures="true" />
    </ServerManagerConfiguration>
    = ここまで =

    コマンド: ServerManagerCmd.exe -inputPath Default_FULL.xml

     

    3. インストールされているかの確認方法

     

    3-1. Windows Vista

    コントロールパネル - プログラムと機能 - Windows 機能の有効化または無効化 でXPのように確認します。

     

    3-2. Windows Server 2008

    Server Managerの「役割」で確認します。あるいはServerManagerCmd.exe -queryで確認します。-queryの後にファイル名を書くと出力内容を表示するとともにXMLでそのファイルにも出力します。

     

    3-3. Windows Server 2008 Server Core

    oclist.exe で確認します。

     

     

    ということで。遭遇した問題などありましたら是非コメントくださいませ。

    2007年8月29日 11:24

回答

  • そういえば以前によくあった質問を関連投稿しておきましょう。

     

    Virtual Server の動作でどのモジュールが要るかというものです。以前ブログに書きました。

    http://blogs.technet.com/hirookun/archive/2007/04/22/iis7-vista-virtual-server-2005-r2-sp1-rc.aspx

     

    一方でVMRCPlusを使うことでWebの管理ツールが不要な方はIISなしでVirtual Serverをインストールすることもできます。ってIISのフォーラムに書くべきかわかりませんが、最近結構環境作りではやるもので書き残しておきましょう。

     

    - Virtual Server のインストールの時にカスタムインストールでWebの管理UIをインストールしない選択をします。

    - VMRCPlusをダウンロードしてインストールします。x86用とx64用があるので注意です。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=80adc08c-bfc6-4c3a-b4f1-772f550ae791&DisplayLang=en

     

    エバンジェリストのチームではノートPCを使うことが多く、4GBのメモリを搭載して認識させる上で最近x64を使うことも多いので結構x64でのインストールをすることが多いです。かなり快適ですよ。(^-^)

    2007年11月12日 18:13
  • 米国で開発チームと話をしてきたら以下のことを言っていましたのでUpdateとして書いておきます。

     

    Server Coreでセットアップする時にはpkgmgrではなく、ocsetupを使おう。ocsetupの方がチェックが効くのでお奨めです。

     

    ということでした。ocsetupは役割ごとにセットアップするものでもあったのでまあなるほどと思ったのでした。ただ、ocsetupは

    pkgmgrのWrapperでもあるのでpkgmgrで間違いの無いコマンドを入力していれば問題はないです。

     

    2008年3月9日 16:46

すべての返信

  • そういえば以前によくあった質問を関連投稿しておきましょう。

     

    Virtual Server の動作でどのモジュールが要るかというものです。以前ブログに書きました。

    http://blogs.technet.com/hirookun/archive/2007/04/22/iis7-vista-virtual-server-2005-r2-sp1-rc.aspx

     

    一方でVMRCPlusを使うことでWebの管理ツールが不要な方はIISなしでVirtual Serverをインストールすることもできます。ってIISのフォーラムに書くべきかわかりませんが、最近結構環境作りではやるもので書き残しておきましょう。

     

    - Virtual Server のインストールの時にカスタムインストールでWebの管理UIをインストールしない選択をします。

    - VMRCPlusをダウンロードしてインストールします。x86用とx64用があるので注意です。
    http://www.microsoft.com/downloads/details.aspx?FamilyID=80adc08c-bfc6-4c3a-b4f1-772f550ae791&DisplayLang=en

     

    エバンジェリストのチームではノートPCを使うことが多く、4GBのメモリを搭載して認識させる上で最近x64を使うことも多いので結構x64でのインストールをすることが多いです。かなり快適ですよ。(^-^)

    2007年11月12日 18:13
  • 米国で開発チームと話をしてきたら以下のことを言っていましたのでUpdateとして書いておきます。

     

    Server Coreでセットアップする時にはpkgmgrではなく、ocsetupを使おう。ocsetupの方がチェックが効くのでお奨めです。

     

    ということでした。ocsetupは役割ごとにセットアップするものでもあったのでまあなるほどと思ったのでした。ただ、ocsetupは

    pkgmgrのWrapperでもあるのでpkgmgrで間違いの無いコマンドを入力していれば問題はないです。

     

    2008年3月9日 16:46