Sonderbeitrag: Windows Server 2008

Erste Schritte mit IIS 7.0

Isaac Roybal

 

Kurz zusammengefasst:

  • IIS 7.0-Architekturänderungen
  • Verwalten von IIS 7.0
  • Abwärtskompatibilität
  • IIS 7.0-Problembehandlung

Jeder IT-Shop ist anders. Jeder verfügt über seine eigenen einzigartigen Anforderungen und Ziele, insbesondere im Hinblick auf das Hosten von Websites oder Webdiensten. Webserver erfordern möglicherweise bestimmte „Zutaten“, um den Anforderungen der Organisation gerecht zu werden, des Weiteren stellt sich die Herausforderung,

dieses Rezept für mehrere Server bereitzustellen und sie alle effizient zu verwalten. Einige der wichtigsten Änderungen in IIS 7.0 haben genau dies zum Ziel – IT-Shops beim Erstellen eines Webservers oder einer Webfarm zu unterstützen.

Als ich mir die Liste all der großartigen Features in IIS 7.0 ansah, wollte ich die Details dazu unbedingt mit Ihnen teilen. Als ich erkennen musste, dass ich an dieser Stelle unmöglich alle erwähnen konnte, habe ich entschieden, zumindest die wichtigsten Features und Änderungen in IIS 7.0 zu beschreiben. Weitergehende Informationen finden Sie auf der IIS-Communitywebsite unter IIS.net.

Neue Architektur

Die wichtigsten Änderungen in IIS 7.0 beziehen sich auf die Architektur, die Anforderungsverarbeitung, die PHP-Anwendungsframeworkunterstützung und den Konfigurationsspeicher. Mit IIS 6.0 ging es bei den Features im Prinzip um „Alles oder Nichts“. Sie mussten alle Features installieren und konnten IIS nur mithilfe von ISAPI anpassen.

Bei IIS wird davon ausgegangen, dass ein Webadministrator mit einem Basissatz an Funktionalität starten und nur die zusätzliche Funktionalität hinzufügen möchte, die in seiner Umgebung benötigt wird. Sie kennen Ihre Umgebung am besten, und IIS 7.0 bietet Ihnen die Bausteine zur Erstellung Ihres eigenen benutzerdefinierten Webservers. Dadurch wird Ihr Verwaltungsaufwand durch Verringerung der Angriffsfläche Ihres Servers und Beseitigung des Bedarfs an Updates für Komponenten, die nicht verwendet werden, gesenkt. Der Schlüssel zu diesem neuen Ansatz ist die modulare Architektur von IIS 7.0.

IIS 7.0 hat ein neues Design, mit dem Sie die auf dem Server zu installierende Funktionalität, auch als Module bezeichnet, auswählen können. Diese Module werden direkt an die integrierte Anforderungspipeline angeschlossen. Dieses neue modulare Design bietet mehrere Vorteile, einschließlich der Verringerung sowohl der Angriffsfläche als auch des Platzbedarfs Ihres Webservers.

IIS verfügt derzeit über 40 Standardmodule – beispielsweise sind die Standardauthentifizierung, die anonyme Authentifizierung und die Windows®-Authentifizierung nun individuelle Module, die einzeln der Anforderungspipeline hinzugefügt werden können. Für eine einfache Klassifizierung sind die Module in acht Unterkategorien gruppiert (siehe Abbildung 1).

Abbildung 1 IIS 7.0-Module sind in acht Funktionsbereiche unterteilt

Abbildung 1** IIS 7.0-Module sind in acht Funktionsbereiche unterteilt **(Klicken Sie zum Vergrößern auf das Bild)

Dies bedeutet, dass Sie jetzt die Möglichkeit haben, einen benutzerdefinierten Webserver zu erstellen, der exakt auf Ihre Umgebung zugeschnitten ist. Was aber, wenn Sie eine Funktionalität benötigen, die von den 40 Standardmodulen nicht geboten wird, wie beispielsweise eine Art benutzerdefinierte Authentifizierung oder ein Inhaltsmodifizierer? Kein Problem. Sie können ein Modul in systemeigenem oder verwaltetem Code schreiben, um diese Anforderung zu erfüllen, und dieses direkt an die Pipeline anschließen. Dies ermöglicht Microsoft außerdem, neue Module einzeln zu schreiben und zu veröffentlichen, damit Sie nicht auf das nächste Service Pack oder die nächste große Produktversion warten müssen. IIS 7.0 bietet Ihnen auch die Möglichkeit, die 40 Standardmodule nach Belieben durch Ihren eigenen benutzerdefinierten Module zu ersetzen. Weitere Informationen zur Erstellung Ihrer eigenen Module finden Sie unter IIS.net.

Integrierte Anforderungspipeline

Sehen Sie die integrierte Anforderungspipeline als grundlegenden Satz linearer Schritte, die jedes Mal stattfinden müssen, wenn eine Seite erstellt wird (siehe Abbildung 2). Normalerweise muss eine Art Authentifizierung stattfinden, gefolgt von der Autorisierung, Inhalt abzurufen, der Bestimmung und Ausführung des für diesen Inhalt benötigten Handlers, der Durchführung erforderlicher Protokollierung und schließlich dem Senden einer Antwort. Die integrierte Anforderungspipeline bietet IIS 7.0 die Flexibilität, verschiedene Anwendungsframeworks gleichzeitig auszuführen. Sie können beispielsweise mit einem benutzerdefinierten Protokollierungsmodul Formularauthentifizierung über PHP-Inhalt ausführen, und das alles in derselben Pipeline.

Abbildung 2 Integrierte Pipeline und Module in IIS 7.0

Abbildung 2** Integrierte Pipeline und Module in IIS 7.0 **(Klicken Sie zum Vergrößern auf das Bild)

Jede Website auf dem Server verfügt über eine integrierte Anforderungspipeline und kann in einem von zwei Modi, „Integriert“ und „Klassisch“, ausgeführt werden. Mit „Integriert“, dem Standardmodus, können bestimmte Funktionalitäten an die Pipeline angeschlossen werden, was Ihnen eine fein abgestimmte Steuerung des Anforderungsprozesses ermöglicht. Zum Zweck der Kompatibilität reproduziert der Modus „Klassisch“ IIS 6.0/ISAPI-Funktionalität über ein ISAPI-Modul für die Pipeline. Dies ist sehr hilfreich für die Migration Ihrer Anwendungen zu IIS 7.0.

Standardinstallation

Nun zur Einrichtung Ihres neuen modularen Webservers. Wenn Sie sich die Standardinstallation von IIS 7.0 anschauen, stellen Sie fest, dass nur 10 Module (wenn Sie den Windows-Prozessaktivierungsdienst einrechnen) enthalten sind. Das IIS 7.0-Setup bietet beim Installieren der Webserverrolle die Basisfunktionalität von IIS, und zwar nur die Module, die für das Bereitstellen von statischem Inhalt, wie einfachem HTML oder klassischem ASP, benötigt werden. Was danach auf dem Server installiert wird, ist ganz Ihnen überlassen. Dies ist die in einer Standardinstallation enthaltene Funktionalität:

  • häufige HTTP-Features einschließlich „Statischer Inhalt“, „Standarddokument“, „Verzeichnis durchsuchen“ und „HTTP-Fehler“
  • Features für Systemzustand und Diagnose wie z. B. HTTP-Protokollierung und Anforderungsüberwachung
  • Sicherheitsfeatures wie z. B. Anforderungsfilterung
  • Leistungsfeatures wie z. B. die Komprimierung statischer Inhalte
  • Verwaltungstools einschließlich der IIS-Verwaltungskonsole
  • Windows-Prozessaktivierungsdienst

Wie Sie sehen, ist dies ein Server mit Minimalfunktionalität, der weder ASP.NET oder noch sonstige neue IIS 7.0-Funktionalität wie die Diagnose- und Problembehandlungsfeatures enthält. Zusätzliche Funktionalität auf dem Server zu ermöglichen, wie z. B. die Möglichkeit, dynamischen Inhalt wie ASP.NET und FastCGI (PHP) zu bieten, ist kein Problem. Wählen Sie den Satz von Modulen aus, den Sie über die Option „Rollendienste hinzufügen“ der Webserverrolle innerhalb des Windows Server® 2008-Server-Managers installieren möchten.

Neuer Konfigurationsspeicher

Eine weitere wichtige Änderung von IIS 7.0 zur Erleichterung Ihrer Arbeit ist der neue Konfigurationsspeicher. Die Metabasis, jetzt eine optional installierte Komponente für Abwärtskompatibilität, wurde durch ein XML-Konfigurationssystem ersetzt. Ich kann Ihre Gedanken erraten: „Aber die Metabasis war XML!“ Ja, war sie. Sie war jedoch umständlich und nicht einfach zu lesen (zumindest für Menschen). Sie wurde durch ein flexibleres XML-System ersetzt. Wie ASP.NET verwendet IIS 7.0 .config-Dateien – leere, einfache, portable und leicht zu lesende .config-Dateien.

Ein Wechsel zu diesem Format bedeutet, dass das Konfigurationssystem nun computerunabhängig ist, im Unterschied zur Metabasis, die auf einen einzelnen Computer abgestimmt ist. Als Ergebnis können Sie das Konfigurationssystem nun einfach auf andere Server mit einem einfachen Drag und Drop oder xcopy übertragen.

Dieses neue Konfigurationssystem wirkt außerdem Wunder für Webfarmen durch Nutzung eines neuen IIS 7.0-Features namens „Freigegebene Konfiguration“. Da dieses neue Konfigurationssystem portabel ist, können Sie eine Master-.config-Datei für alle Knoten in der Farm freigeben. „Freigegebene Konfiguration“ ermöglicht Ihnen das Exportieren der Konfiguration eines bekannten guten Präproduktionsservers und das Freigeben dieses Servers in Ihrem Produktions- oder Ihrer Liveumgebung.

Beim Exportieren der .config-Datei müssen Sie diese mit einem Verschlüsselungsschlüssel-Kennwort versehen. Dieses schützt die .config-Datei vor einem nicht autorisierten Webserver, der versucht, Ihre Serverkonfiguration ohne Autorisierung nachzuahmen.

Das Aktivieren von „Freigegebene Konfiguration“ ist einfach. Wählen Sie im Serverknoten von IIS-Manager „Freigegebene Konfiguration“, das sich unter dem Verwaltungsabschnitt des Aufgabenbereichs befindet. Aktivieren Sie einfach „Freigegebene Konfiguration aktivieren“, geben Sie den physischen Pfad der Konfiguration an, die Sie freigeben möchten (in der Regel ist dies eine UNC-Freigabe), geben Sie die erforderlichen Anmeldeinformationen für den Zugriff auf den physischen Pfad ein, und klicken Sie auf „Anwenden“. Wenn die .config-Datei gefunden wurde, werden Sie zur Eingabe ihres Verschlüsselungskennworts aufgefordert. Nachdem dieser Prozess abgeschlossen ist, starten Sie IIS-Manager neu, damit er die neue .config-Datei abruft.

Die Struktur des neuen Konfigurationssystems unterscheidet sich von der, die Sie gewöhnt sind. Daher sollen hier die Grundlagen beschrieben werden. Wie in Abbildung 3 gezeigt, wurde die Konfiguration von IIS 7.0 in zwei Kategorien unterteilt, serverweite Einstellungen und websitespezifische Einstellungen. Alle serverweiten Einstellungen werden in applicationhost.config gespeichert, das sich unter %systemroot%\windows\system32\inetsrv\config befindet. Es enthält alle installierten Module, Websites auf dem Server usw. Websitespezifische Einstellungen werden in einzelnen web.config-Dateien gespeichert.

Abbildung 3 Es gibt eine .config-Datei für serverweite Einstellungen und einzelne, separate .config-Dateien für jede Website auf diesem Server

Abbildung 3** Es gibt eine .config-Datei für serverweite Einstellungen und einzelne, separate .config-Dateien für jede Website auf diesem Server **(Klicken Sie zum Vergrößern auf das Bild)

Wenn Sie ASP.NET verwendet haben, sind Sie wahrscheinlich mit web.config-Dateien vertraut. IIS 7.0 verwendet web.config-Dateien zum Speichern von Einstellungen, die für einzelne Websites spezifisch sind, wie beispielsweise das Standarddokument und die Anwendungseinstellungen einer Website sowie ASP.NET-Einstellungen. Dies bedeutet, dass Sie für jede Website auf Ihrem Server über eine web.config-Datei verfügen.

Die web.config-Datei einer Website befindet sich im physischen Pfad der Website, wie beispielsweise %systemroot%\inetpub\wwwroot. Dieses Design erzielt dieselben Portabilitätsvorteile wie zuvor erwähnt, jedoch auf Websiteebene. Sie können eine Website problemlos z. B. auf einem Testserver entwickeln und dann die web.config- und Anwendungsdateien der Website einfach per Drag und Drop oder mittels xcopy zu einem Produktionsserver kopieren.

Achten Sie beim Portieren oder Freigeben von .config-Dateien auf computerspezifische Informationen wie IP-Adressen und Laufwerkbuchstaben. IIS 7.0 bietet mit der Unterstützung für Betriebssystemumgebungsvariable (wie z. B. %systemroot%) eine Lösung für ein entsprechendes mögliches Versehen. Stellen Sie auch sicher, dass der gleiche Satz von Modulen auf Test- und Produktionsservern installiert ist. Dadurch werden unerwartete Anwendungsfehler vermieden. Fehler können auch auftreten, wenn web.config auf ein Modul verweist, das nicht installiert ist, oder wenn ein Standardmodul mit einem benutzerdefinierten Modul im Konflikt steht.

Verwalten Ihres Webservers

Sie verfügen nun über diesen großartigen, anpassbaren, flexiblen und portablen Webserver. Wie werden Sie ihn verwalten? Die Verwaltung war ein großer Bestandteil der Planung und Erstellung von IIS 7.0, und es gibt mehrere Möglichkeiten, administrative Aufgaben abzuwickeln.

Verwaltungseinstellungen fallen in der Regel in mindestens eine von drei Kategorien: Point-and-Click-Verwaltung von der Benutzeroberfläche aus, Eingabe von Befehlen in der Befehlszeile und das Schreiben von Skripts zur weitgehenden Automatisierung. Beginnen wir mit der Benutzeroberfläche.

In IIS 6.0 verfügte das Benutzeroberflächen-MMC-Snap-In (Microsoft® Management Console) über zwei grundlegende, vertraute Ansichten, die Strukturansicht und die Registerkartenansicht. Das Anzeigen von Einzelheiten einer Einstellung erforderte ein Klicken mit der rechten Maustaste und das Auswählen von „Eigenschaften“, und es wurden eine Reihe von Registerkarten sowie Optionsfelder und Kontrollkästchen angezeigt.

Die Benutzeroberfläche in IIS 7.0 wurde glücklicherweise komplett überarbeitet. Diese Benutzeroberfläche namens „IIS-Manager“ wurde entworfen, um einen aufgabenorientierten Ansatz, wie in Abbildung 4 gezeigt, zu ermöglichen. Es gibt außerdem einen Remote Manager für kompatible Clients, wie z. B. Windows XP und Windows Server 2003. Sie können ihn über IIS.net/downloads herunterladen.

Abbildung 4 Neue Benutzeroberfläche in IIS 7.0

Abbildung 4** Neue Benutzeroberfläche in IIS 7.0 **(Klicken Sie zum Vergrößern auf das Bild)

Die neue Benutzeroberfläche besteht aus dem Fensterbereich für Verbindungen auf der linken Seite, dem Fensterbereich für Aktionen auf der rechten Seite und dem Aufgabenbereich oder Arbeitsbereich in der Mitte. Die Verbindungsmanagerstruktur auf der linken Seite ähnelt der IIS 6.0-Strukturansicht mit übergeordneten und untergeordneten Knoten. Neu in der Strukturansicht ist die Funktion zur Erstellung neuer Verbindungen, zum Speichern aktueller Verbindungen oder zum Löschen vorhandener Verbindungen. Der Aufgabenbereich ist die größte Verbesserung der Benutzeroberfläche, wobei zwei Ansichten zur Auswahl stehen. Die Featureansicht übernimmt alle konfigurierbaren Eigenschaften von IIS aus der alten Registerkartenansicht und gruppiert sie nach administrativem Bereich, wie z. B. IIS, Verwaltung und Sicherheit.

ASP.NET-Eigenschaften wurden ebenfalls in IIS-Manager integriert, was die Verwendung eines zusätzlichen MMC-Snap-Ins überflüssig macht. Jede konfigurierbare Eigenschaft verfügt über ihr eigenes Symbol, was die Suche erleichtert. Da IIS-Manager als eine Windows Forms-Anwendung erstellt wurde, können Sie problemlos Plug-In-Symbole für alle benutzerdefinierten Module oder von Ihnen programmierten Funktionen hinzufügen.

Die zweite Ansicht des Aufgabenbereichs ist die Inhaltsansicht, die der in IIS 6.0 darin ähnelt, dass Sie anzeigen können, was sich im Inhaltsverzeichnis einer Website befindet, und Aktionen basierend auf diesem Inhalt ausführen können. Neu ist die Möglichkeit, einen bestimmten Inhalt auszuwählen, beispielsweise eine bestimmte Website, und anschließend zur Featureansicht umzuschalten, um bestimmte Einstellungen für den ausgewählten Inhalt aufzurufen, was Ihnen eine präzise Steuerung bis hinunter zur Seitenebene ermöglicht.

Weitere Verwaltungsmöglichkeiten

Für diejenigen, die die Befehlszeile bevorzugen, gibt es ein leistungsfähiges neues Tool namens „APPCMD.exe“, mit dem Sie einfache Aufgaben wie das Beenden einer Website oder das Sichern der aktuellen .config-Datei sowie kompliziertere Aufgaben wie das Suchen nach dem Konfigurationsschema durchführen können. Die Syntax ist sehr einfach:

APPCMD (command) (object-type) <identifier> </parameter1:value1 ...>. 

Geben Sie zur Auflistung aller verfügbaren Objekte für APPCMD Folgendes ein:

APPCMD /? 

Oder geben Sie, wenn Sie die für einen bestimmten Objekttyp verfügbaren Befehle anzeigen möchten, Folgendes ein:

APPCMD (object-type) /?

Für alle Programmierer wurden IIS 7.0 eine API für verwalteten Code namens „Microsoft.Web.Administration“ und ein neuer WMI-Anbieter (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) hinzugefügt. Diese zwei Methoden erschließen eine Vielzahl von Optionen zur Skripterstellung, Automatisierung und zum Schreiben von Tools zur Verwaltung von IIS 7.0. Beide können mit Windows PowerShell® verwendet werden, und der WMI-Anbieter kann auch mit VBScript und KScript® verwendet werden. Zusätzliche Informationen finden Sie unter blogs.msdn.com/carlosag/archive/2006/04/17/MicrosoftWebAdministration.aspx.

Remoteverwaltung und delegierte Verwaltung

IIS 7.0 bietet neue Möglichkeiten zur Remoteverwaltung Ihres Servers, Websites, Webanwendungen und sicher delegierter Verwaltungsrechte für Nichtadministratoren. Zunächst sehen wir uns die neuen Remoteverwaltungsfunktionen an und untersuchen, wie diese Ihnen das Leben leichter machen können.

In der Vergangenheit gab es zwei Möglichkeiten für die Remoteverwaltung eines IIS-Servers: mithilfe der Remoteverwaltungswebsite oder mithilfe von Remotedesktop-/Terminaldiensten für den Zugriff auf die Benutzeroberfläche. Wenn Sie sich jedoch außerhalb Ihrer Firewall oder an einem anderen Standort befanden, waren diese Optionen nicht sehr hilfreich. IIS 7.0 löst dies durch Bereitstellung von Remoteverwaltungsfunktionen direkt in der Benutzeroberfläche, die mit firewallfreundlichem HTTPS arbeiten.

Die Remoteverwaltung in IIS 7.0 erleichtert die Arbeit auf mehrere Arten. Erstens erleben Sie dieselbe Benutzeroberflächenfunktionalität wie bei einer lokalen Anmeldung. Zweitens besteht keine Notwendigkeit, Ports Ihrer Firewall zu öffnen, da die Kommunikation über HTTPS erfolgt. Außerdem können Sie nun mehrere Server von einer einzelnen Benutzeroberfläche aus verwalten. Es besteht keine Notwendigkeit, mehrere Remotedesktop- oder Remotewebsitefenster gleichzeitig geöffnet zu haben.

Der eigentliche Remoteverwaltungsdienst innerhalb von IIS 7.0 ist im Grunde eine kleine Webanwendung, die als separater Dienst unter einem lokalen Windows NT®-Dienstkonto namens „NT Service\WMSVC“ ausgeführt wird. Dieses Design bewahrt die Remoteverwaltungsfunktionalität, selbst wenn der IIS-Server selbst nicht reagiert.

Wie die meisten Features innerhalb von IIS 7.0 ist die Remoteverwaltung aus Sicherheitsgründen nicht standardmäßig installiert. Um die Remoteverwaltungsfeatures zu installieren, fügen Sie Rollendienste für die Webserverrolle im Windows Server 2008-Server-Manager hinzu, der unter den Verwaltungstools gefunden werden kann. Sobald dieses Feature installiert ist, müssen Sie Remoteverbindungen aktivieren und den WMSVC-Dienst starten, da dieser standardmäßig beendet wurde.

Die Standardstarteinstellung des WMSVC-Diensts ist „Manuell“. Wenn der Dienst nach einem Neustart automatisch starten soll, müssen Sie die Einstellung in „Automatisch“ ändern. Dies können Sie über die Befehlszeile durch folgende Eingabe erreichen:

sc config WMSVC start=auto

Wenn Sie Remoteverbindungen über den Verwaltungsdienst aktivieren, wird eine Liste mit Einstellungen angezeigt, wie z. B. „Anmeldeinformationen für Identität“, „Verbindungen“ und „Einschränkungen für IPv4-Adressen“. Die einzige Entscheidung, die an dieser Stelle wichtig ist, ist die Festlegung, welchem Satz von Identitätsanmeldeinformationen die Berechtigung für eine Verbindung mit IIS 7.0 gewährt werden soll: Nur Windows-Anmeldeinformationen oder Windows- und IIS-Manager-Anmeldeinformationen.

Die erste Option gibt an, dass nur Windows-Benutzerkonten erlaubt sein sollen, unabhängig davon, ob es sich um lokale oder Domänenbenutzerkonten handelt. Die zweite Option beinhaltet sowohl Windows-Benutzer als auch eine Art von Konto, das ganz neu in IIS 7.0 ist und nicht mit Windows-Benutzerkonten in Verbindung steht: IIS-Manager-Benutzer. Mit „IIS-Manager-Benutzer“ können Administratoren Benutzerkonten erstellen, die nur im Kontext von IIS 7.0 bekannt sind und keinen Zugriff auf das Betriebssystem haben. Schließlich bietet IIS standardmäßig ein selbstsigniertes Zertifikat für den Einstieg, aber es empfiehlt sich, ein gültiges signiertes SSL-Zertifikat hinzuzufügen. Wenden Sie nun einfach Ihre Einstellung an, und starten Sie den Dienst.

Für zusätzliche Kontrolle und Sicherheit verfügen IT-Administratoren über die Möglichkeit, Verwaltungsaufgaben einzelner Websites oder Webanwendungen für Nichtadministratoren sicher zu delegieren.

Die delegierte Verwaltung ist im Grunde eine Remoteverwaltung, sie beschränkt jedoch den Zugriffsbereich auf einzelne Website oder Webanwendungen. Das Feature „IIS-Manager-Benutzer“ ist hier besonders nützlich. Sie können IIS-Benutzer für diese temporären Websitebesitzer erstellen und Berechtigungen delegieren, damit sie ihre eigene Website oder Anwendung verwalten können. Diese Benutzer haben keinen Zugriff auf serverweite Einstellungen und können nur Einstellungen für ihre spezifische Website oder Webanwendung einrichten.

Es kann auch festgelegt werden, welche Features und Einstellungen Benutzer ändern können und welche in der Benutzeroberfläche angezeigt werden. Wenn Sie beispielsweise nicht möchten, dass jemand den für seine Website verwendeten Authentifizierungstyp ändert, können Sie dieses Feature entweder auf „schreibgeschützt“ oder „nicht geerbt“ setzen. Wenn ein Feature schreibgeschützt ist, können Benutzer nach wie vor auf das Feature zugreifen und die Einstellung festlegen, jedoch keine Änderungen vornehmen. Bei der Einstellung „nicht geerbt“ wird das Featuresymbol nicht in der IIS-Manager-Ansicht des delegierten Benutzers angezeigt. Mit dieser Art der Featuredelegierung können Sie anderen Benutzern streng kontrollierten Zugriff bieten, ohne administrative Kontrolle über den Webserver zur Verfügung zu stellen.

Übergang zu IIS 7.0

Bei der Erstellung von IIS 7.0 wollte das Team sicherstellen, dass der Übergang so reibungslos wie möglich verläuft, und ermöglichte dazu die Verwendung einiger Ihrer vorhandenen Verwaltungstools und -skripts für IIS 6.0. Es wurde viel in die Abwärtskompatibilität von IIS 7.0 investiert, damit es mit Ihren IIS 6.0-Skripts funktioniert. Es gibt einen ganzen Satz von Tools – von IIS 6.0-Metabasiskompatibilität bis hin zur eigentlichen IIS 6.0-Verwaltungskonsole –, den Sie unter dem IIS 6.0-Verwaltungskompatibilitätsknoten beim Setup installieren können.

Die IIS 6.0-Metabasiskompatibilitäts-Infrastruktur verwendet eine Komponente namens „ADOMapper“. Sie ermöglicht Ihnen das Ausführen Ihrer ABO (Administratorbasisobjekt)- und ADSI (Active Directory Service Interfaces)-IIS 6.0-Metabasisskripts unter dem neuen Konfigurationssystem, mit einer Beschränkung auf die Funktionen von IIS 6.0. Daher ist es nicht möglich, neue IIS 7.0-Eigenschaften zu lesen oder zu schreiben, auf neue Laufzeitdaten zuzugreifen oder ASP.NET-Eigenschaften oder web.config-Dateien zu lesen oder zu schreiben.

Problembehandlung und Diagnose

Problembehandlung und Diagnose waren seit jeher zeitaufwändige Aufgaben. Das Durcharbeiten durch Protokolle und der Versuch, ein Problem in einer großen Webfarm oder auch nur auf einem einzelnen Server zu reproduzieren, können sehr schwierig sein. IIS 7.0 verfügt über ein Tool namens „Ablaufverfolgung für Anforderungsfehler“, um diese Arbeit zu erleichtern und Zeit zu sparen. Es kann in vielen Situationen nützlich sein, u. a. wenn eine Anforderung nicht reagiert oder Fehler erzeugt sowie für die Untersuchung von Authentifizierungs- und Autorisierungsproblemen.

„Ablaufverfolgung für Anforderungsfehler“ verwendet Ablaufverfolgungsregeln als Kriterium für die Suche nach Fehlern. Ablaufverfolgungsregeln können für die Suche nach Verhaltensweisen oder Fehlern erstellt werden, und zwar durch Angabe der Art des Inhalts, den Sie verfolgen möchten (wie z. B. der gesamte Inhalt auf dem Server, nur ASP.NET Inhalt oder benutzerdefinierter Inhalt wie z. B. PHP), sowie durch Angabe der Bedingungen, unter denen die Ablaufverfolgung beginnen soll (wie z. B. ein bestimmter zurückgegebener Statuscode, die benötigte Zeit für den Aufbau der Seite, der Ereignisschweregrad oder eine Kombination dieser Bedingungen).

Nehmen Sie zum Beispiel an, Benutzer berichten, dass es zu lange dauert, bis eine Website geladen ist. Es ist in jedem Fall sehr schwierig, dieses Szenario zu reproduzieren, v. a. wenn Sie tausende von Aufrufen pro Stunde haben. Mit „Ablaufverfolgung für Anforderungsfehler“ fügen Sie einfach eine Ablaufverfolgungsregel hinzu, um mit dem Protokollieren zu beginnen, wenn eine Seite für das Laden länger braucht als gewünscht – sagen wir zwei Sekunden in diesem Beispiel –, und warten darauf, dass der Server das Problem selbst reproduziert (siehe Abbildung 5).

Abbildung 5 Verwenden von „Ablaufverfolgung für Anforderungsfehler“ zur Problembehandlung

Abbildung 5** Verwenden von „Ablaufverfolgung für Anforderungsfehler“ zur Problembehandlung **(Klicken Sie zum Vergrößern auf das Bild)

Der Unterschied zwischen „Ablaufverfolgung für Anforderungsfehler“ und herkömmlicher Protokollierung besteht darin, dass ersteres nur dann protokolliert, wenn ein bestimmtes Anforderungsfehlerkriterium erfüllt ist. Bei der Protokolldatei selbst handelt es sich um XML mit einem XML-Stylesheet, wodurch sie übersichtlich und leicht zu lesen ist. Wie die meisten anderen IIS 7.0-Features ist dieses nicht standardmäßig installiert und kann beim Setup im Abschnitt zu Systemzustand und Diagnose gefunden werden. Sie müssen es auch innerhalb des IIS-Managers aktivieren.

IIS 7.0 stellt für alle Administratoren einen großen Fortschritt dar. Seine neue Architektur und seine neuen Funktionen bieten die Flexibilität, die zur Anpassung an Ihre sich ständig verändernde Umgebung erforderlich sind. Mit den Verwaltungsfeatures, den Abwärtskompatibilitätstools und den Problembehandlungsfunktionen kann es schon jetzt in Ihrer vorhandenen Umgebung bereitgestellt und eingesetzt werden.

Isaac Roybal ist ein Produktmanager für Windows Server bei Microsoft. Sein Verantwortungsbereich umfasst alle webbezogenen Themen mit Windows Server. Isaac arbeitet mit Windows Server seit Windows NT 3.51 und IIS 4.0. Davor war er Operations Program Manager für den Bereich „Office Internet Platform and Operations“. Er verfügt über eine MCSE-Zertifizierung in Windows NT 4.0, Windows 2000 und Windows Server 2003.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.