今回はServer CoreにIIS7.0をインストールしてみたいと思います。
[参考文献]
マイクロソフト:ステップ バイ ステップ ガイド - Windows Server 2008のServer Coreインストールオプション
その他は文中に随時記載。
完全インストールの場合はコンポーネントの追加はServer Mangerで行いましたが
Server Coreの場合はpkgmgrコマンドか、ocsetupコマンドで行います。
ただしマイクロソフトのサイトの例文を見るとpkgmgr、ocsetupを直接実行するのではなく
"start /w pkgmgr <コンポーネント名>"、"start /w ocsetup <コンポーネント名>"という形で
startコマンドを使用して別のコマンドプロンプトで実行させるのが作法のようです。
※startの/wは終了まで待機するオプション、/WAITでもいいです。
でこの<コンポーネント名>ですが、Server Coreで使用できるコンポーネントの一覧は
oclistコマンドで確認できます。
C:\Users\Administrator>oclist
サーバーの役割またはオプションの機能をインストールまたはアンインストールするには、一覧に表示された更新名を指定して ocsetup.exe を実行してください。
ocsetup.exe を使用した Active Directory の役割の追加または削除はサポートされていません。この操作を実行した場合、サーバーが不安定な状態になる可能性があります。
Active Directory をインストールまたはアンインストールするには、必ず Dcpromo を使用してください。
===========================================================================
Microsoft-Windows-ServerCore-Package
未インストール:BitLocker
未インストール:BitLocker-RemoteAdminTool
未インストール:ClientForNFS-Base
未インストール:DFSN-Server
未インストール:DFSR-Infrastructure-ServerEdition
未インストール:DHCPServerCore
未インストール:DirectoryServices-ADAM-ServerCore
未インストール:DirectoryServices-DomainController-ServerFoundation
未インストール:DNS-Server-Core-Role
未インストール:FailoverCluster-Core
未インストール:FRS-Infrastructure
未インストール:IIS-WebServerRole
・・・・・・・・・・・・・・(以下略)・・・・・・・・・・・・・・・・・・
これを見ると.NET Framework3.5やASP.NETは無いみたいです。
以下の記事にあるようにServer Coreに.NET Frameworkを搭載する方向で検討されているようなのですが
TechTarget Japan:Server Core特集 Part1 Windows Serverプロダクトマネージャーに聞くServer Coreのメリット
RC1の時点で入ってないところをみると、Windows Server 2008リリース時点では見送り、
後程Service Packで提供ということになるのでしょうか。
とりあえず現時点ではServer Coreでの動的なWEBページのサポートはCGIかASP(Active Server Page)か
ということになります。
で今回はASPのコンポーネントをインストールしてみたいと思います。
■PkgMgrを使用する場合
コマンドプロンプトで以下のコマンドを実行します。
(スペースの都合で折り曲げていますが実際は1行です。
必要なIISのコンポーネントをすべて指定しないといけないので長いです!!!
事前にバッチファイルにしておいて実行した方がいいですね。)
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;IIS-ServerSideIncludes;
なお、PkgMgrでServer CoreにIISとそのコンポーネントをインストールするコマンドについては
以下のサイトに詳しい例があります。
IIS.net:Administering IIS7 on Server Core Installations of Windows Server 2008
Microsoft TechNet:[How TO]IIS7.0のインストール方法
・IISのすべてのコンポーネントをインストールするコマンドの例
・ASPをインストールするコマンドの例
・PHPをインストールする手順
・Fast-CGIをインストールするコマンドの例
が載っています。
ちなみに上記のサイトの例だとASPインストール時に指定するコンポーネントにIIS-ServerSideIncludesは
含まれていませんが、私は定数の定義等でよく使っているので含めています。
pkgmgrコマンド実行後CドライブをチェックするとInetpubが作成されていることが確認できます。
またoclistコマンドを実行すると指定したコンポーネントがインストールされているのが確認できます。
C:\>oclist ・・・・・・・・省略・・・・・・・・・ =========================================================================== Microsoft-Windows-ServerCore-Package 未インストール:BitLocker 未インストール:BitLocker-RemoteAdminTool 未インストール:ClientForNFS-Base 未インストール:DFSN-Server 未インストール:DFSR-Infrastructure-ServerEdition 未インストール:DHCPServerCore 未インストール:DirectoryServices-ADAM-ServerCore 未インストール:DirectoryServices-DomainController-ServerFoundation 未インストール:DNS-Server-Core-Role 未インストール:FailoverCluster-Core 未インストール:FRS-Infrastructure インストール済み:IIS-WebServerRole | |--- 未インストール:IIS-FTPPublishingService | | | |--- 未インストール:IIS-FTPServer | | | | |--- インストール済み:IIS-WebServer | | | |--- インストール済み:IIS-ApplicationDevelopment | | | | | |--- インストール済み:IIS-ASP | | | | | | | | |--- 未インストール:IIS-CGI | | | | | | | | |--- インストール済み:IIS-ISAPIExtensions | | | | | | | |--- インストール済み:IIS-ASP | | | | | | | | | | | | |--- 未インストール:IIS-ISAPIFilter | | | | | | | | |--- インストール済み:IIS-ServerSideIncludes | | | | | | | | |--- インストール済み:IIS-CommonHttpFeatures | | | | | |--- インストール済み:IIS-DefaultDocument | | | | | | | | |--- インストール済み:IIS-DirectoryBrowsing | | | | | | | | |--- インストール済み:IIS-HttpErrors | | | | | | | | |--- 未インストール:IIS-HttpRedirect | | | | | | | | |--- インストール済み:IIS-StaticContent | | | | | | | | |--- インストール済み:IIS-HealthAndDiagnostics | | | | | |--- 未インストール:IIS-CustomLogging | | | | | | | | |--- インストール済み:IIS-HttpLogging | | | | | | | | |--- 未インストール:IIS-HttpTracing | | | | | | | | |--- インストール済み:IIS-LoggingLibraries | | | | | | | | |--- 未インストール:IIS-ODBCLogging | | | | | | | | |--- インストール済み:IIS-RequestMonitor | | | | | | | | |--- インストール済み:IIS-Performance | | | | | |--- 未インストール:IIS-HttpCompressionDynamic | | | | | | | | |--- インストール済み:IIS-HttpCompressionStatic | | | | | | | | |--- インストール済み:IIS-Security | | | | | |--- 未インストール:IIS-BasicAuthentication | | | | | | | | |--- 未インストール:IIS-ClientCertificateMappingAuthentication | | | | | | | | |--- 未インストール:IIS-DigestAuthentication | | | | | | | | |--- 未インストール:IIS-IISCertificateMappingAuthentication | | | | | | | | |--- 未インストール:IIS-IPSecurity | | | | | | | | |--- インストール済み:IIS-RequestFiltering | | | | | | | |--- インストール済み:IIS-ASP | | | | | | | | | | | | |--- 未インストール:IIS-URLAuthorization | | | | | | | | |--- 未インストール:IIS-WindowsAuthentication | | | | | | | |--- インストール済み:IIS-WebServerManagementTools | | | |--- 未インストール:IIS-IIS6ManagementCompatibility | | | | | |--- 未インストール:IIS-LegacyScripts | | | | | | | | |--- 未インストール:IIS-Metabase | | | | | | | |--- 未インストール:IIS-FTPServer | | | | | | | | | | | |--- 未インストール:IIS-LegacyScripts | | | | | | | | | | | | |--- 未インストール:IIS-WMICompatibility | | | | | | | |--- 未インストール:IIS-LegacyScripts | | | | | | | | | | | | |--- 未インストール:IIS-ManagementScriptingTools | | | 未インストール:Microsoft-Windows-RemovableStorageManagementCore 未インストール:MultipathIo 未インストール:NetworkLoadBalancingHeadlessServer 未インストール:Printing-ServerCore-Role | |--- 未インストール:Printing-LPDPrintService | 未インストール:QWAVE 未インストール:ServerForNFS-Base 未インストール:SNMP-SC 未インストール:SUACore 未インストール:TelnetClient インストール済み:WAS-WindowsActivationService | |--- インストール済み:WAS-ProcessModel | | | |--- インストール済み:IIS-ASP | | | | | |--- 未インストール:IIS-BasicAuthentication | | | | | |--- 未インストール:IIS-CGI | | | | | |--- 未インストール:IIS-ClientCertificateMappingAuthentication | | | | | |--- 未インストール:IIS-CustomLogging | | | | | |--- インストール済み:IIS-DefaultDocument | | | | | |--- 未インストール:IIS-DigestAuthentication | | | | | |--- インストール済み:IIS-DirectoryBrowsing | | | | | |--- 未インストール:IIS-HttpCompressionDynamic | | | | | |--- インストール済み:IIS-HttpCompressionStatic | | | | | |--- インストール済み:IIS-HttpErrors | | | | | |--- インストール済み:IIS-HttpLogging | | | | | |--- 未インストール:IIS-HttpRedirect | | | | | |--- 未インストール:IIS-HttpTracing | | | | | |--- 未インストール:IIS-IISCertificateMappingAuthentication | | | | | |--- 未インストール:IIS-IPSecurity | | | | | |--- インストール済み:IIS-ISAPIExtensions | | | | | |--- インストール済み:IIS-ASP | | | | | | | | |--- 未インストール:IIS-ISAPIFilter | | | | | |--- インストール済み:IIS-LoggingLibraries | | | | | |--- 未インストール:IIS-ODBCLogging | | | | | |--- インストール済み:IIS-RequestFiltering | | | | | |--- インストール済み:IIS-ASP | | | | | | | | |--- インストール済み:IIS-RequestMonitor | | | | | |--- インストール済み:IIS-ServerSideIncludes | | | | | |--- インストール済み:IIS-StaticContent | | | | | |--- 未インストール:IIS-URLAuthorization | | | | | |--- 未インストール:IIS-WindowsAuthentication | | | 未インストール:WindowsServerBackup 未インストール:WINS-SC
とりあえず以下の2つのファイルをC:\Inetpub\wwwroot下にコピーして動作確認をしてみます。
・Test.asp
<!--#include file="Test.inc"-->
<HTML>
<BODY>
<P><% Response.Write CONST_MESSAGE %></P>
</BODY>
</HTML>
・Test.inc
Const CONST_MESSAGE = "Hello World"
%>
クライアントのWindows XP、IE7からServer CoreのTest.aspを呼び出すと正しく動作していることが
確認できました。
■Ocsetupを使用する場合
ここでは以下のサイトを参考にしました。
Microsoft TechNet:How to install IIS on Server Core?
実は一度失敗して二度目で成功したのですが、まず失敗した方からいきます。
コマンドプロンプトで以下のコマンドを実行しました。
Start /WAIT ocsetup IIS-WebServerRole
Start /WAIT ocsetup IIS-WebServer
Start /WAIT ocsetup IIS-CommonHttpFeatures
Start /WAIT ocsetup IIS-StaticContent
Start /WAIT ocsetup IIS-DefaultDocument
Start /WAIT ocsetup IIS-DirectoryBrowsing
Start /WAIT ocsetup IIS-HttpErrors
Start /WAIT ocsetup IIS-ApplicationDevelopment
Start /WAIT ocsetup IIS-ASP
Start /WAIT ocsetup IIS-ISAPIExtensions
Start /WAIT ocsetup IIS-HealthAndDiagnostics
Start /WAIT ocsetup IIS-HttpLogging
Start /WAIT ocsetup IIS-LoggingLibraries
Start /WAIT ocsetup IIS-RequestMonitor
Start /WAIT ocsetup IIS-Security
Start /WAIT ocsetup IIS-RequestFiltering
Start /WAIT ocsetup IIS-HttpCompressionStatic
Start /WAIT ocsetup IIS-WebServerManagementTools
Start /WAIT ocsetup WAS-WindowsActivationService
Start /WAIT ocsetup WAS-ProcessModel
Start /WAIT ocsetup IIS-ServerSideIncludes
ocsetupではpkgmgrと違ってインストール対象の機能を";"で複数指定することが
できないのでコンポーネントを一つ一つインストールするようにしています。
コマンド実行後、C:\inetpub\wwwrootは作成されていたのですが
oclistで確認したところIIS-ASPがインストールされていないことが分かりました。
C:\>oclist ・・・・・・・・・・・省略 ・・・・・・・・・・・・・・ =========================================================================== Microsoft-Windows-ServerCore-Package 未インストール:BitLocker 未インストール:BitLocker-RemoteAdminTool 未インストール:ClientForNFS-Base 未インストール:DFSN-Server 未インストール:DFSR-Infrastructure-ServerEdition 未インストール:DHCPServerCore 未インストール:DirectoryServices-ADAM-ServerCore 未インストール:DirectoryServices-DomainController-ServerFoundation 未インストール:DNS-Server-Core-Role 未インストール:FailoverCluster-Core 未インストール:FRS-Infrastructure インストール済み:IIS-WebServerRole | |--- 未インストール:IIS-FTPPublishingService | | | |--- 未インストール:IIS-FTPServer | | | | |--- インストール済み:IIS-WebServer | | | |--- インストール済み:IIS-ApplicationDevelopment | | | | | |--- 未インストール:IIS-ASP | | | | | | | | |--- 未インストール:IIS-CGI | | | | | | | | |--- 未インストール:IIS-ISAPIExtensions | | | | | | | |--- 未インストール:IIS-ASP | | | | | | | | | | | | |--- 未インストール:IIS-ISAPIFilter | | | | | | | | |--- インストール済み:IIS-ServerSideIncludes | | | | | | | | |--- インストール済み:IIS-CommonHttpFeatures | | | | | |--- インストール済み:IIS-DefaultDocument | | | | | | | | |--- インストール済み:IIS-DirectoryBrowsing | | | | | | | | |--- インストール済み:IIS-HttpErrors | | | | | | | | |--- 未インストール:IIS-HttpRedirect | | | | | | | | |--- インストール済み:IIS-StaticContent | | | | | | | | |--- インストール済み:IIS-HealthAndDiagnostics | | | | | |--- 未インストール:IIS-CustomLogging | | | | | | | | |--- インストール済み:IIS-HttpLogging | | | | | | | | |--- 未インストール:IIS-HttpTracing | | | | | | | | |--- 未インストール:IIS-LoggingLibraries | | | | | | | | |--- 未インストール:IIS-ODBCLogging | | | | | | | | |--- インストール済み:IIS-RequestMonitor | | | | | | | | |--- インストール済み:IIS-Performance | | | | | |--- 未インストール:IIS-HttpCompressionDynamic | | | | | | | | |--- インストール済み:IIS-HttpCompressionStatic | | | | | | | | |--- インストール済み:IIS-Security | | | | | |--- 未インストール:IIS-BasicAuthentication | | | | | | | | |--- 未インストール:IIS-ClientCertificateMappingAuthentication | | | | | | | | |--- 未インストール:IIS-DigestAuthentication | | | | | | | | |--- 未インストール:IIS-IISCertificateMappingAuthentication | | | | | | | | |--- 未インストール:IIS-IPSecurity | | | | | | | | |--- インストール済み:IIS-RequestFiltering | | | | | | | |--- 未インストール:IIS-ASP | | | | | | | | | | | | |--- 未インストール:IIS-URLAuthorization | | | | | | | | |--- 未インストール:IIS-WindowsAuthentication | | | | | | | |--- インストール済み:IIS-WebServerManagementTools | | | |--- 未インストール:IIS-IIS6ManagementCompatibility | | | | | |--- 未インストール:IIS-LegacyScripts | | | | | | | | |--- 未インストール:IIS-Metabase | | | | | | | |--- 未インストール:IIS-FTPServer | | | | | | | | | | | |--- 未インストール:IIS-LegacyScripts | | | | | | | | | | | | |--- 未インストール:IIS-WMICompatibility | | | | | | | |--- 未インストール:IIS-LegacyScripts | | | | | | | | | | | | |--- 未インストール:IIS-ManagementScriptingTools | | | 未インストール:Microsoft-Windows-RemovableStorageManagementCore 未インストール:MultipathIo 未インストール:NetworkLoadBalancingHeadlessServer 未インストール:Printing-ServerCore-Role | |--- 未インストール:Printing-LPDPrintService | 未インストール:QWAVE 未インストール:ServerForNFS-Base 未インストール:SNMP-SC 未インストール:SUACore 未インストール:TelnetClient インストール済み:WAS-WindowsActivationService | |--- インストール済み:WAS-ProcessModel | | | |--- 未インストール:IIS-ASP | | | | | |--- 未インストール:IIS-BasicAuthentication | | | | | |--- 未インストール:IIS-CGI | | | | | |--- 未インストール:IIS-ClientCertificateMappingAuthentication | | | | | |--- 未インストール:IIS-CustomLogging | | | | | |--- インストール済み:IIS-DefaultDocument | | | | | |--- 未インストール:IIS-DigestAuthentication | | | | | |--- インストール済み:IIS-DirectoryBrowsing | | | | | |--- 未インストール:IIS-HttpCompressionDynamic | | | | | |--- インストール済み:IIS-HttpCompressionStatic | | | | | |--- インストール済み:IIS-HttpErrors | | | | | |--- インストール済み:IIS-HttpLogging | | | | | |--- 未インストール:IIS-HttpRedirect | | | | | |--- 未インストール:IIS-HttpTracing | | | | | |--- 未インストール:IIS-IISCertificateMappingAuthentication | | | | | |--- 未インストール:IIS-IPSecurity | | | | | |--- 未インストール:IIS-ISAPIExtensions | | | | | |--- 未インストール:IIS-ASP | | | | | | | | |--- 未インストール:IIS-ISAPIFilter | | | | | |--- 未インストール:IIS-LoggingLibraries | | | | | |--- 未インストール:IIS-ODBCLogging | | | | | |--- インストール済み:IIS-RequestFiltering | | | | | |--- 未インストール:IIS-ASP | | | | | | | | |--- インストール済み:IIS-RequestMonitor | | | | | |--- インストール済み:IIS-ServerSideIncludes | | | | | |--- インストール済み:IIS-StaticContent | | | | | |--- 未インストール:IIS-URLAuthorization | | | | | |--- 未インストール:IIS-WindowsAuthentication | | | 未インストール:WindowsServerBackup 未インストール:WINS-SC
実際、PkgMgrの時と同じTest.aspとTest.incをC:\inetpub\wwwrootにコピーして
クライアントのWindows XP、IE7.0でTest.aspを呼び出すとエラーになります。
理由ですがoclistの結果を見ると分かるのですがIIS-ASPはIIS-ApplicationDevelopment、
IIS-ISAPIExtensions、IIS-RequestFiltering、WAS-ProcessModel、IIS-ISAPIExtensions、
に依存しているのでこれらのコンポーネントより先にIIS-ASPのインストールを実行してしまうと
依存コンポーネントが無いのでインストールに失敗してしまうということのようです。
oclistの結果を見ながら依存関係を整理し直したコマンドが以下になります。
Start /WAIT ocsetup IIS-WebServerRole
Start /WAIT ocsetup WAS-WindowsActivationService
Start /WAIT ocsetup IIS-WebServer
Start /WAIT ocsetup IIS-WebServerManagementTools
Start /WAIT ocsetup WAS-ProcessModel
Start /WAIT ocsetup IIS-ApplicationDevelopment
Start /WAIT ocsetup IIS-CommonHttpFeatures
Start /WAIT ocsetup IIS-HealthAndDiagnostics
Start /WAIT ocsetup IIS-Performance
Start /WAIT ocsetup IIS-Security
Start /WAIT ocsetup IIS-ServerSideIncludes
Start /WAIT ocsetup IIS-DefaultDocument
Start /WAIT ocsetup IIS-DirectoryBrowsing
Start /WAIT ocsetup IIS-HttpErrors
Start /WAIT ocsetup IIS-StaticContent
Start /WAIT ocsetup IIS-HttpLogging
Start /WAIT ocsetup IIS-RequestMonitor
Start /WAIT ocsetup IIS-HttpCompressionStatic
Start /WAIT ocsetup IIS-RequestFiltering
Start /WAIT ocsetup IIS-ISAPIExtensions
Start /WAIT ocsetup IIS-LoggingLibraries
Start /WAIT ocsetup IIS-ASP
PkgMgrで";"で複数のコンポーネントを同時に指定した場合はPkgMgrの内部で依存関係が整理されるので
コマンドでコンポーネントの順番を意識しなくても正しくインストールがされています。
(実際「■PkgMgrを使用する場合」のコマンドでは依存関係を考慮していません。)
つまりIISをインストールするならPkgMgrの方が楽だってことですね。
[関連記事]



