Ein Web-Server sollte so schlank sein wie möglich, denn jeder zusätzliche Dienst kostet Ressourcen und bietet Hackern mögliche Angriffsflächen. Dementsprechend scheint die Kombination aus Windows Server Core und Internet Information Services 7 die optimale Lösung für einen Web-Auftritt, wenn es denn der IIS sein muss.
Allerdings gestaltet sich die Einrichtung des IIS7 auf Server Core vergleichsweise aufwändig. Das liegt insbesondere daran, dass für die Installation der vielen möglichen Rollendienste der Internet Information Services 7 jeweils spezielle Parameter erforderlich sind. Entsprechend umfangreich ist auch die Syntax des Befehls für die Einrichtung der IIS 7.
Zwar lassen sich die IIS 7 in einer Basisfunktionalität relativ einfach installieren. Aber in den meisten Fällen braucht man für den Betrieb des Web-Servers einige der zusätzlichen Rollendienste.
Um eine Basisinstallation durchzuführen, verwenden Sie die Anweisung
start /w /pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel
Diese richtet die Basisrolle des Web-Servers ein. Zwingend erforderlich sind zudem der Windows Activation Service und das dazu gehörige Prozess-Modell, die für die Ausführung der verschiedenen Threads und Komponenten der IIS benötigt werden. Diese verwalten die Anwendungs-Pools und Worker-Prozesse der IIS.
Weitere Rollendienste hinzufügen
Alle weiteren Funktionen werden nun über die entsprechenden Parameter des Installationsbefehls hinzugefügt. Dieser hat folgende Syntax:
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
Die Vielzahl der Parameter spiegelt die Breite der Rollendienste wider, die der IIS 7 anbietet. Deutlich wird auch, dass einige Rollendienste im Core-Modus fehlen. Das liegt daran, dass beispielsweise ASP .NET nicht unterstützt wird. Die weiteren nicht verfügbaren Funktionen sind:
-
NetFX-Erweiterbarkeit und NetFX-Umgebung für WAS (IIS-NetFxExtensibility und WAS-NetFxEnvironment)
-
Management-Konsole (IIS-ManagementConsole)
-
Management-Dienst (IIS-ManagementService)
-
Legacy-Snap-In für die Management-Konsole (IIS-LegacySnapIn)
-
FTP-Management (IIS-FTPManagement)
-
WAS-Konfigurations-API (WAS-ConfigurationAPI)
Installierte Module finden
Bei der Installation der Basisdienste wird bereits deutlich, dass es keine Rückmeldung über den Erfolg der Aktion gibt. Solange Sie keine Fehlermeldung erhalten, spricht zwar alles dafür, dass es funktioniert hat. Um aber eine Kontrolle über die Ergebnisse zu erhalten, muss man überprüfen können, was installiert wurde.
Hier hilft der Befehl oclist.exe. Wenn Sie diesen ohne Parameter ausführen, erhalten Sie eine Liste aller installierten Komponenten. Besser wird das Ergebnis, wenn Sie die Variante
oclist | find "Installiert" | find /v "IIS"
verwenden. In diesem Fall wird nur eine kurze Übersicht der installierten Komponenten angezeigt.
Kurz und bündig: Durch die Verwendung von Filtern lässt sich die Ausgabe von oclist.exe optimieren.
Basis-Server einrichten
Mit der eingangs beschriebenen Minimalinstallation kann man in der Praxis noch nichts anfangen, weil nicht einmal der eigene Web-Server installiert ist. Es ist nur die Umgebung für die IIS vorhanden. Um eine Basisinstallation durchzuführen, kann man mit
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
arbeiten. Falls Sie die Basisdienste bereits eingerichtet haben, lautet die Anweisung nur noch
Start /w pkgmgr /iu: 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
Die bereits vorhandenen Module müssen nicht mehr angegeben werden.
Mit der Anweisung werden unter anderem die folgenden wichtigen Funktionen eingerichtet:
-
Web-Serverdienst
-
Allgemeine HTTP-Funktionen
-
Unterstützung von statischen Inhalten
-
CGI-Unterstützung
-
Logging und Fehlerbehandlung
-
Kompressionsfunktionen für statische Inhalte
-
Basis-Sicherheitsfunktionen
Übersicht über die Rollendienste
Da das Grundprinzip der Installation recht einfach ist, liegt die Herausforderung nur darin, die Rollendienste zu kennen, die man installieren möchte. Die nachfolgende Auflistung gibt einen Überblick und ordnet die Bezeichnungen den Rollendiensten in der grafischen Version des Windows Server 2008 zu, wobei die hervorgehobenen Einträge übergeordnete Funktionen sind, die installiert sein müssen, um die zugeordneten Rollenfunktionen installieren zu können:
Bezeichnung |
Rollendienst |
---|---|
IIS-WebServer |
Webserver |
IIS-CommonHttpFeatures |
Allgemeine HTTP-Features |
IIS-StaticContent |
Statischer Inhalt |
IIS-DefaultDocument |
Standarddokument |
IIS-DirectoryBrowsing |
Verzeichnissuche |
IIS-HttpErrors |
HTTP-Fehler |
IIS-HttpRedirect |
HTTP-Umleitung |
IIS-ApplicationDevelopment |
Anwendungsentwicklung |
IIS-ASP |
ASP |
IIS-CGI |
CGI |
IIS-ISAPIExtensions |
ISAPI-Erweiterungen |
IIS-ISAPIFilter |
ISAPI-Filter |
IIS-ServerSideIncludes |
Serverseitige Includes (SSI) |
IIS-HealthAndDiagnostics |
Integrität und Diagnose |
IIS-HttpLogging |
HTTP-Protokollierung |
IIS-LoggingLibraries |
Protokollierungstools |
IIS-RequestMonitor |
Anforderungsmonitor |
IIS-HttpTracing |
Nachverfolgung |
IIS-CustomLogging |
Benutzerdefinierte Protokollierung |
IIS-ODBCLogging |
ODBC-Protokollierung |
IIS-Security |
Sicherheit |
Rollendienste Fortsetzung
Bezeichnung |
Rollendienst |
---|---|
IIS-BasicAuthentication |
Standardauthentifizierung |
IIS-WindowsAuthentication |
Windows-Authentifizierung |
IIS-DigestAuthentication |
Digestauthentifizierung |
IIS-ClientCertificateMappingAuthentication |
Clientzertifikatzuordnung-Authentifizierung |
IIS-IISCertificateMappingAuthentication |
IIS-Clientzertifikatzuordnung-Authentifizierung |
IIS-URLAuthorization |
URL-Autorisierung |
IIS-RequestFiltering |
Anforderungsfilterung |
IIS-IPSecurity |
IP- und Domäneneinschränkungen |
IIS-Performance |
Leistung |
IIS-HttpCompressionStatic |
Komprimierung statischer Inhalte |
IIS-HttpCompressionDynamic |
Komprimierung dynamischer Inhalte |
IIS-WebServerManagementTools |
Verwaltungsprogramme |
IIS-ManagementScriptingTools |
IIS-Verwaltungsskripts und -tools |
IIS-IIS6ManagementCompatibility |
IIS 6-Verwaltungskompatibilität |
IIS-Metabase |
IIS 6-Metabasiskompatibilität |
IIS-WMICompatibility |
IIS 6-WMI-Kompatibilität |
IIS-LegacyScripts |
IIS 6-Skriptingtools |
IIS-FTPPublishingService |
FTP-Publishingdienst |
IIS-FTPServer |
FTP-Server |
WAS-WindowsActivationService |
Windows-Prozessaktivierungsdienst |
WAS-ProcessModel |
WAS-Prozessmodell |
Auch wenn die Installation der IIS 7 auf einem Windows Server 2008 im Core-Modus zunächst recht komplex wirkt zeigt sich doch bei näherer Beschäftigung, dass es der Ansatz eigentlich relativ einfach ist – auch wenn man sich durch eine lange Liste von Bezeichnungen für die verschiedenen Rollendienste arbeiten muss. (Kuppinger/mha)