IIS für Einsteiger Installation des Windows Webservers IIS7.x und Tipps für Administratoren Kurze Historie Wie sich der folgender Tabelle entnehmen lässt gibt es den IIS schon geraume Zeit: OS IIS Version by http server header Jahr Windows NT 4 Server Microsoft-IIS/4.0 1998 (als Teil des NT 4 Option Packs) Windows Server 2000 Microsoft-IIS/5.0 2000 Windows XP Microsoft-IIS/5.1 2001 Windows Server 2003 Microsoft-IIS/6.0 2003 Windows Vista Microsoft-IIS/7.0 2006 Windows Server 2008 Microsoft-IIS/7.0 2008 Windows 7 Microsoft-IIS/7.5 2009 Windows Server 2008 R2 Microsoft-IIS/7.5 2009 Nach NT4 wurden die IIS Versionen an das OS gekoppelt, d.h. höhere Versionen des IIS bekomme ich nur mit Installation einer aktuelleren Version von Windows. Einzelne Installer des IIS für frühere Betriebsystemversionen stehen nicht zur Verfügung. Beim Upgrade eines OS auf eine hörere Version wird auch der IIS mit upgegradet. Einzige Ausnahme: Seit neusten lässt sich der „kleine“ IIS7 Express über das Produkt WebMatrix auch auf XP installieren. (How to Install IIS7 on Windows XP) Aktuell sind die Versionen 7.x welche es sowohl für Client als auch Server Betriebsysteme gibt, der Vorteil: Entwickler haben keinen Versions- und (vernachlässigbaren) Feature-Bruch mehr zwischen den Entwicklungs- und Betriebs-Webserver mehr. Die Installation von IIS7.x auf dem Client OS unterscheidet sich nur geringfügig von der Installation des IIS7.x auf Windows Server 2008 (R2). Während man beim Client OS den IIS7.x über die Option Windows Features installiert, Bekommt man beim Server OS den IIS7.x über den Server Manager auf das System. Beim Server OS lassen sich die Internet Informationsdienste einfach durch Auswahl der Webserver Rolle installieren. Das Setup ist in beiden Fällen deutlich granularer als im Vergleich zu früheren Versionen des IIS, so hat der IIS7 (Windows Server 2008) mehr als 40 auswählbare Sub-Features (bei IIS6 waren es < 20). Kontrolle ist gut, auch in punkto Sicherheit ist weniger installierte Komponenten mehr, aber… „…welche Standard Rollendienste für den IIS brauch ich denn?“ It depends, deswegen der Tipp für die, die es genau wissen wollen|müssen: Eine Beschreibung der einzelnen Features werden im Installations Dialog angezeigt, bzw. können über die eingebaute Hilfe abgefragt werden: Ebenfalls muss man keine Angst haben abhängige Komponenten zu vergessen – das Setup ist so schlau und zieht die Abhängigkeiten automatisch mit. „Serviervorschlag“ „Was oder welche Serverrollendienste sollte ich also bei einer Standardinstallation auswählen? Hier meine Auswahl in Anlehnung an folgenden link“: Web Server (IIS) Web Server Common HTTP Features Static Content Default Document Standard Funktionen Directory Browsing HTTP Errors HTTP Redirection Application Development ASP.NET .NET Extensibility ASP Für Ausführung von ASP.NET, ASP und PHP CGI + Kompatibilität ISAPI Extensions ISAPI Filters Health and Diagnostics HTTP Logging Logging Tools Wichtig für Analyse und Troubleshooting Request Monitor Tracing Security Basic Authentication Für Passwortabfrage Authentifizierung und URL Authorization Authorisierung von Websites +Pages Request Filtering IP and Domain Restrictions Performance Static Content Compression Bringt einiges wenn geschickt eingesetzt. Dynamic Content Compression Management Tools IIS Management Console Wichtige Verwaltungswerkzeuge IIS Management Scripts and Tools Management Service IIS 6 Management Compatibility IIS 6 Metabase Compatibility Damit z.B. „alte“ Web Application Installer IIS 6 WMI Compatibility |Skripte auf IIS7 weiterhin laufen IIS 6 Scripting Tools IIS 6 Management Console Wer keine Lust hat zu klicken hier die Befehlszeilenvariante: start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IISStaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IISHttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IISASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IISHttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IISSecurity;IIS-BasicAuthentication;IIS-URLAuthorization;IIS-IPSecurity;IISRequestFiltering;IIS-Performance;IIS-HttpCompressionStatic;IISHttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IISManagementScriptingTools;IIS-ManagementService;WAS-WindowsActivationService;WASProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IISIIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IISLegacyScripts;IIS-LegacySnapIn Wichtig: Kein Stress wenn man was vergessen hat. Es lassen sich jederzeit Features im Server Manager nachträglich hinzufügen oder entfernen. Weiterer Vorteil von Windows Server 2008: Die für die IIS installation notwendigen Dateien sind bereits bei der Installation des OS mit auf dem System abgelegt worden, d.h. das Installieren des IIS oder aktivieren von Sub-Features braucht keine Installations DVD. Die weitere Installation in Bildern: IIS installieren für die Befehlszeilen-Liebhaber Ohne GUI, für unattended Setups, nützlich für konsistente Massen-Installationen -Hier die Befehlszeilen Alternativen: Tool OS Variante / Edition Beschreibung pkgmgr.exe Windows Vista, Windows 7, Windows Package Manager Windows Server 2008 (R2) Cmd line Werkzeug zum Installieren,Enfernen und Updaten von Windows Paketen. Seit Vista wurde auf ein Image basiertes Setup umgestellt in dem Funktionalitäten in Komponenten paketiert wurden.Sehr mächtig siehe Package Manager Technical Reference Beispiele: Installing IIS 7.0 from the Command Line †) †) Windows Server 2008 (R2 ) Command line Variante des servermanagercmd.exe Nicht Server Core Server-Manager unter Windows †) The ServerManagerCmd.exe command-line tool has been Server® 2008. Wird deprecated in Windows Server® 2008 eingestampft daher nicht mehr R2. verwenden -> die Powershell übernimmt die Funktionalitäten – s.u. Beispiele: Install Typical IIS Workloads Powershell 2.0 mit den Windows Server 2008 R2 Windows PowerShell-Cmdlets Cmdlets: für den Server-Manager Add-WindowsFeature, GetErsatz für WindowsFeature, Removeservermanagercmd.exe WindowsFeature Commandlets müssen vor der Verwendung über Befehl: import-module servermanager importiert werden. Siehe: Server-Manager-Befehle (Übersicht) Installation testen: Am einfachsten mittels Aufruf der Default-Seite im lokalen Browser mit http://localhost , das Ergebnis sollte so aussehen: Ein erster Blick auf die IIS-Verwaltungskonsole (inetmgr) und Starten | Stoppen der Website Die IIS Verwaltungskonsole basierend auf der Microsoft Management Console MMC erreicht man entweder über Start->Administrative Tools->Internet Information Services (IIS) Manager: Oder direkt über Eingabe von inetmgr im Suchfeld bei Start. Ein erster Blick auf die Console lässt erahnen dass es zahlreiche Konfigurationsmöglichkeiten für den IIS gibt: Der IIS ist so konzipiert dass er alle Konfigurationsänderungen sofort anwendet, d.h. in der Regel kein Durchstarten der Webdienste notwendig ist. Für diejenigen, die dennoch die den IIS manuell durchstarten möchten z.B. gerade wenn man am Anfang viele Dinge durchspielt ist iisreset das wichtigste Kommando: C:\Users\Administrator>iisreset Attempting stop... Internet services successfully stopped Attempting start... Internet services successfully restarted 2x Sanity Check?! oder Nichts vergessen? 1. Der Microsoft Baseline Security Analyzer (MBSA) Mit dem MBSA Version 2.1 (Stand 11.06.2010) Tool läßt sich einfach der Sicherheitsstatus des Servers auch nach IIS und SQL Gesichtspunkten hin überprüfen. Den MBSA gibt’s als separaten Download. Ein Scan Ergebnis sieht etwa so oder ähnlich aus: Umfassender als der BPA (s.u.) so werden u.a. Dinge überprüft wie z.B. ob die interne Firewall verwendet wird, Ablaufenden Kennwörter verwendet werden und wie Berechtigungen auf wichtige SQL Server Verzeichnisse gesetzt sind. 2. Der Best Practice Analyzer (aka BPA) ist im Server Manager ab Windows Server 2008 R2 zu finden. Anhand von Regeln kann man sich die Konfiguration von installierten Rollen (auch des IIS) überprüfen lassen. Geprüft wird auf Sicherheit und Performanz. Derzeit gibt es noch nicht allzuviel was geprüft wird -schaden kanns aber auch nicht: Web Platform Installer - der „IIS Paketmanager“ „Das wichtigste zum Schluss oder wie geht es weiter?“ Der Web Platform Installer (kurz WebPI) hilft mir u.a. Web-Anwendungen in wenigen Schritten einfach zu installieren (siehe blogpost). Und nicht nur das sondern: Informiert mich über Neuerungen und interessante Apps für den IIS. Hilft mir Abhängigkeiten von Webanwendungen und Frameworks zu erkennen und installiert diese. „Windows Update“ für IIS Erweiterungen. Kurz WebPI: Spart Zeit und Nerven.