Im besten Fall funktioniert IIS7 Websites übersiedeln - Teil 2 problemlos und die Websites laufen ohne weitere Anpassungen auf der Zielmaschine. Es gibt jedoch auch ein paar Fallstricke: Die Konfiguration von Quellserver und Zielserver müssen ident sein.

Das bedeutet, dass alle Windows Komponenten und Module ebenso auf der Zielmaschine vorhanden sein müssen. Das ist – gerade wenn die Windows Server 2008 Maschinen von unterschiedlichen Personen oder zu unterschiedlichen Zeiten installiert wurden – selten der Fall.

Ist die Konfiguration unterschiedlich, folgt nach der Übernahme mit hoher Wahrscheinlichkeit der HTTP Fehler 503 beim Ansurfen eines Webs:

HTTP Error 503. The service is unavailable.

iis7_web_export_14_try_localhost

Die erste Quelle der Fehlersuche stellt meist die Ereignisanzeige dar. Hier ist es recht “rot”:

iis7_web_export_15_eventlog

Bei der Fehleranalyse sind vor allem Beschreibung und Event-ID wichtig:

Ereignis-ID: 2280
Beschreibung: Fehler beim Laden der Modul-DLL C:\Windows\System32\inetsrv\redirect.dll. Die Daten enthalten Fehlerinformationen.

Aha. Beim Nachsehen im Verzeichnis stellt man so rasch fest: Die Datei redirect.dll fehlt… Da würde ich mich als Webserver auch beschweren, wenn Module in der Konfiguration verwendet werden, die gar nicht installiert sind.

An dieser Stelle noch ein Tipp: In TechNet findet sich eine Beschreibung des Internet Information Services (IIS) 7.0 – mit allen abhängigen Modulen und Error Codes (in den Subknoten der Module, z.B. IIS Worker Process Tracing etc.).

Was passiert, wenn Komponenten fehlen?

Meistens beendet sich der Application Pool beim ersten Aufruf von selbst – das ist auch in meinem Szenario passiert. Der App Pool kann gestartet werden, beendet sich jedoch wieder beim Ansurfen. Siehe auch: Where did my IIS7 server go? Troubleshooting 503 "service unavailable" errors

Die Lösung: Nachinstallieren der fehlenden Komponenten!

Das Nachinstallieren können Rollen oder auch Features sein. Am besten vergleichen Sie die Konfigurationen beiden Maschinen (manchmal denke ich, genau dafür wurden die breiten Flachbildschirme entwickelt…).

iis7_web_export_18_add_url_redirect

In meinem Fall hatte ich “Webserver/URL Redirect” und auch Komponenten aus dem Web Platform Installer nachzuinstallieren (Media Services, URL Rewrite sowie einige weitere Funktionen…).

iis7_web_export_17_add_url_rewrite

Bei mir war noch ein weiterer kleiner Stolperstein vorhanden: Die Rollen konnten nicht hinzugefügt werden. Das Setup endete mit einem Fehler:

This problem can be caused by system corruption on your computer. This occurs for various reasons, including but not limited to other applications overwriting of .NET files or corrupted hard disk sectors.

Es gab anscheinend ein Problem mit dem .NET Framework. Ge-bing-t. Microsoft FixIt konnte dem abhelfen:

You receive “0x80070643” or “0x643” error codes when you try to install .NET Framework updates through Windows Update or Microsoft Updates (KB976982)

Danach klappte die Nachinstallation der erforderlichen Rollen ohne Fehler:

iis7_web_export_19_roles_installed

Nach Installation Web ansurfen und Fehler analysieren. Wieder nachinstallieren bzw. Konfiguration anpassen. So kann man sich Schritt für Schritt an die weiteren Fehler (fehlenden Module) herantasten und diese beheben.

Noch ein Hinweis: Alternativ können natürlich auch die fehlenden Module direkt in der Datei C:\Windows\System32\inetsrv\config\applicationHost.config editiert werden und die fehlenden Module (Zeilen) entfernt werden – vorausgesetzt, man weiß, was man tut… (Backup des Config-Files versteht sich da von selbst).

Das wars! Mit dieser kleinen Reihe sollte das Übersiedeln von Websites mit IIS7 rasch erfolgen können.

Auch hier mein Tipp: Wenn Sie das oder ähnliche Szenarien selbst in einer Testumgebung ausprobieren wollen, folgen Sie einfach dem Link Windows Server 2008 R2 mit Service Pack 1 und laden und installieren Sie die aktuellste Windows Server Version aus dem TechNet Eval Center!

Viel Erfolg!