Konfigurieren eines Webservers für die Web Deploy-Veröffentlichung (Offlinebereitstellung)

von Jason Lee

In diesem Thema wird beschrieben, wie Sie einen IIS-Webserver für die Unterstützung der Offline-Webveröffentlichung und -bereitstellung konfigurieren.

Wenn Sie mit dem Webbereitstellungstool für Internetinformationsdienste (IIS) (Web Deploy) 2.0 oder höher arbeiten, gibt es drei Standard Ansätze, die Sie verwenden können, um Ihre Anwendungen oder Websites auf einen Webserver zu übertragen. Ihre Möglichkeiten:

  • Verwenden Sie den Web Deploy-Remote-Agent-Dienst. Dieser Ansatz erfordert weniger Konfiguration des Webservers, aber Sie müssen die Anmeldeinformationen eines lokalen Serveradministrators angeben, um etwas auf dem Server bereitzustellen.
  • Verwenden Sie den Web Deploy-Handler. Dieser Ansatz ist viel komplexer und erfordert mehr Anfangsaufwand für die Einrichtung des Webservers. Wenn Sie diesen Ansatz verwenden, können Sie IIS jedoch so konfigurieren, dass Benutzer ohne Administratorrechte die Bereitstellung durchführen können. Der Web Deploy-Handler ist nur in IIS Version 7 oder höher verfügbar.
  • Verwenden Sie die Offlinebereitstellung. Dieser Ansatz erfordert die geringste Konfiguration des Webservers, aber ein Serveradministrator muss das Webpaket manuell auf den Server kopieren und über DEN IIS-Manager importieren.

Weitere Informationen zu den wichtigsten Features, Vor- und Nachteilen dieser Ansätze finden Sie unter Auswählen des richtigen Ansatzes für die Webbereitstellung.

Ja, wenn Ihre Netzwerkinfrastruktur oder Sicherheitseinschränkungen die Remotebereitstellung verhindern. Dies ist wahrscheinlich in Produktionsumgebungen mit Internetzugriff der Fall, in denen die Webserver entweder physisch oder durch Firewalls und Subnetze von der restlichen Serverinfrastruktur isoliert sind.

Offensichtlich wird dieser Ansatz weniger wünschenswert, wenn Ihre Webanwendungen regelmäßig aktualisiert werden. Wenn Ihre Infrastruktur dies zulässt, sollten Sie die Remotebereitstellung mithilfe des Web Deploy-Handlers oder des Web Deploy-Remote-Agent-Diensts in Betracht ziehen.

Aufgabenübersicht

Um den Webserver so zu konfigurieren, dass er den Offlineimport und die Bereitstellung von Webpaketen unterstützt, müssen Sie:

  • Installieren Sie IIS 7.5 und die empfohlene IIS 7-Konfiguration.
  • Installieren Sie Web Deploy 2.1 oder höher.
  • Erstellen Sie eine IIS-Website, um den bereitgestellten Inhalt zu hosten.
  • Deaktivieren Sie den Web-Deployment Agent-Dienst.

Um die Beispiellösung speziell zu hosten, müssen Sie auch:

  • Installieren Sie die .NET Framework 4.0.
  • Installieren Sie ASP.NET MVC 3.

In diesem Thema erfahren Sie, wie Sie die einzelnen Verfahren ausführen. Bei den Aufgaben und exemplarischen Vorgehensweisen in diesem Thema wird davon ausgegangen, dass Sie mit einem sauber Serverbuild beginnen, auf dem Windows Server 2008 R2 ausgeführt wird. Bevor Sie fortfahren, stellen Sie Folgendes sicher:

  • Windows Server 2008 R2 Service Pack 1 und alle verfügbaren Updates werden installiert.
  • Der Server ist in die Domäne eingebunden.
  • Der Server verfügt über eine statische IP-Adresse.

Hinweis

Weitere Informationen zum Verknüpfen von Computern mit einer Domäne finden Sie unter Verknüpfen von Computern mit der Domäne und Anmelden. Weitere Informationen zum Konfigurieren statischer IP-Adressen finden Sie unter Konfigurieren einer statischen IP-Adresse.

Installieren von Produkten und Komponenten

In diesem Abschnitt erfahren Sie, wie Sie die erforderlichen Produkte und Komponenten auf dem Webserver installieren. Bevor Sie beginnen, empfiehlt es sich, Windows Update auszuführen, um sicherzustellen, dass Ihr Server vollständig auf dem neuesten Stand ist.

In diesem Fall müssen Sie folgendes installieren:

  • Iis 7 Empfohlene Konfiguration. Dadurch wird die Webserverrolle (IIS) auf Ihrem Webserver aktiviert und der Satz von IIS-Modulen und -Komponenten installiert, die Sie zum Hosten einer ASP.NET-Anwendung benötigen.
  • .NET Framework 4.0. Dies ist erforderlich, um Anwendungen auszuführen, die auf dieser Version des .NET Framework erstellt wurden.
  • Webbereitstellungstool 2.1 oder höher. Dadurch wird Web Deploy (und die zugrunde liegende ausführbare Datei, MSDeploy.exe) auf Ihrem Server installiert. Web Deploy lässt sich in IIS integrieren und ermöglicht das Importieren und Exportieren von Webpaketen.
  • ASP.NET MVC 3. Dadurch werden die Assemblys installiert, die Sie zum Ausführen von MVC 3-Anwendungen benötigen.

Hinweis

In dieser exemplarischen Vorgehensweise wird die Verwendung des Webplattform-Installers zum Installieren und Konfigurieren verschiedener Komponenten beschrieben. Obwohl Sie den Webplattform-Installer nicht verwenden müssen, vereinfacht er den Installationsprozess, indem Abhängigkeiten automatisch erkannt und sichergestellt werden, dass Sie immer die neuesten Produktversionen erhalten. Weitere Informationen finden Sie unter Microsoft-Webplattform-Installer 3.0.

So installieren Sie die erforderlichen Produkte und Komponenten

  1. Laden Sie den Webplattform-Installer herunter, und installieren Sie ihn.

  2. Nach Abschluss der Installation wird der Webplattform-Installer automatisch gestartet.

    Hinweis

    Sie können den Webplattform-Installer jetzt jederzeit über das Startmenü starten. Klicken Sie hierzu im Startmenü auf Alle Programme und dann auf Microsoft-Webplattform-Installer.

  3. Klicken Sie oben im Fenster Webplattform-Installer 3.0 auf Produkte.

  4. Klicken Sie links im Fenster im Navigationsbereich auf Frameworks.

  5. Klicken Sie in der Zeile Microsoft .NET Framework 4 auf Hinzufügen, wenn die .NET Framework noch nicht installiert ist.

    Hinweis

    Möglicherweise haben Sie die .NET Framework 4.0 bis Windows Update bereits installiert. Wenn ein Produkt oder eine Komponente bereits installiert ist, gibt der Webplattform-Installer dies an, indem die Schaltfläche Hinzufügen durch den Text Installiert ersetzt wird.

    Wenn ein Produkt oder eine Komponente bereits installiert ist, gibt der Webplattform-Installer dies an, indem die Schaltfläche Hinzufügen durch den Text Installiert ersetzt wird.

  6. Klicken Sie in der Zeile ASP.NET MVC 3 (Visual Studio 2010) auf Hinzufügen.

  7. Klicken Sie im Navigationsbereich auf Server.

  8. Klicken Sie in der Zeile IIS 7 Empfohlene Konfiguration auf Hinzufügen.

  9. Klicken Sie in der Zeile Web Deployment Tool 2.1 auf Hinzufügen.

  10. Klicke auf Installieren. Der Webplattform-Installer zeigt Ihnen eine Liste der Zu installierenden Produkte zusammen mit allen zugehörigen Abhängigkeiten an und fordert Sie auf, die Lizenzbedingungen zu akzeptieren.

    Klicken Sie auf Installieren. Der Webplattform-Installer zeigt Ihnen eine Liste der Produkte zusammen mit allen zugehörigen Abhängigkeiten an, die installiert werden sollen, und fordert Sie auf, die Lizenzbedingungen zu akzeptieren.

  11. Überprüfen Sie die Lizenzbedingungen, und wenn Sie den Bedingungen zustimmen, klicken Sie auf Ich stimme zu.

  12. Wenn die Installation abgeschlossen ist, klicken Sie auf Fertig stellen, und schließen Sie dann das Fenster Webplattforminstallationsprogramm 3.0 .

Wenn Sie die .NET Framework 4.0 vor der Installation von IIS installiert haben, müssen Sie das ASP.NET IIS-Registrierungstool (aspnet_regiis.exe) ausführen, um die neueste Version von ASP.NET bei IIS zu registrieren. Wenn Sie dies nicht tun, werden Sie feststellen, dass IIS statische Inhalte (z. B. HTML-Dateien) ohne Probleme bereitstellt, aber http-Fehler 404.0 – Nicht gefunden zurückgegeben wird, wenn Sie versuchen, nach ASP.NET Inhalt zu navigieren. Sie können das nächste Verfahren verwenden, um sicherzustellen, dass ASP.NET 4.0 registriert ist.

So registrieren Sie ASP.NET 4.0 bei IIS

  1. Klicken Sie auf Start, und geben Sie dann Eingabeaufforderung ein.

  2. Klicken Sie in den Suchergebnissen mit der rechten Maustaste auf Eingabeaufforderung, und klicken Sie dann auf Als Administrator ausführen.

  3. Navigieren Sie im Eingabeaufforderungsfenster zum Verzeichnis %WINDIR%\Microsoft.NET\Framework\v4.0.30319 .

  4. Geben Sie diesen Befehl ein, und drücken Sie dann die EINGABETASTE:

    aspnet_regiis -iru
    
  5. Wenn Sie zu einem beliebigen Zeitpunkt 64-Bit-Webanwendungen hosten möchten, sollten Sie auch die 64-Bit-Version von ASP.NET bei IIS registrieren. Navigieren Sie hierzu im Eingabeaufforderungsfenster zum Verzeichnis %WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .

  6. Geben Sie diesen Befehl ein, und drücken Sie dann die EINGABETASTE:

    aspnet_regiis -iru
    

Als bewährte Methode sollten Sie an diesem Punkt erneut Windows Update verwenden, um alle verfügbaren Updates für die neuen Produkte und Komponenten herunterzuladen und zu installieren, die Sie installiert haben.

Konfigurieren der IIS-Website

Bevor Sie Webinhalte auf Ihrem Server bereitstellen können, müssen Sie eine IIS-Website zum Hosten des Inhalts erstellen und konfigurieren. Web Deploy kann nur Webpakete auf einer vorhandenen IIS-Website bereitstellen. Die Website kann nicht für Sie erstellt werden. Auf hoher Ebene müssen Sie die folgenden Aufgaben ausführen:

  • Erstellen Sie einen Ordner im Dateisystem, um Ihre Inhalte zu hosten.
  • Erstellen Sie eine IIS-Website, um den Inhalt zu bedienen, und ordnen Sie sie dem lokalen Ordner zu.
  • Erteilen Sie der Anwendungspoolidentität Leseberechtigungen für den lokalen Ordner.

Obwohl nichts Sie daran hindert, Inhalte auf der Standardwebsite in IIS bereitzustellen, wird dieser Ansatz nur für Test- oder Demonstrationsszenarien empfohlen. Um eine Produktionsumgebung zu simulieren, sollten Sie eine neue IIS-Website mit Einstellungen erstellen, die den Anforderungen Ihrer Anwendung entsprechen.

So erstellen und konfigurieren Sie eine IIS-Website

  1. Erstellen Sie im lokalen Dateisystem einen Ordner zum Speichern Ihrer Inhalte (z. B. C:\DemoSite).

  2. Zeigen Sie im Menü Start auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS).

  3. Erweitern Sie im IIS-Manager im Bereich Verbindungen den Serverknoten (z. B. PROWEB1).

    Erweitern Sie im IIS-Manager im Bereich Verbindungen den Serverknoten (z. B. PROWEB1).

  4. Klicken Sie mit der rechten Maustaste auf den Knoten Websites , und klicken Sie dann auf Website hinzufügen.

  5. Geben Sie im Feld Websitename einen Namen für die IIS-Website ein (z. B. DemoSite).

  6. Geben Sie im Feld Physischer Pfad den Pfad zu Ihrem lokalen Ordner ein (oder navigieren Sie zu) (z. B. C:\DemoSite).

  7. Geben Sie im Feld Port die Portnummer ein, auf der Sie die Website hosten möchten (z. B. 85).

    Hinweis

    Die Standardportnummern sind 80 für HTTP und 443 für HTTPS. Wenn Sie diese Website jedoch an Port 80 hosten, müssen Sie die Standardwebsite beenden, bevor Sie auf Ihre Website zugreifen können.

  8. Lassen Sie das Feld Hostname leer, es sei denn, Sie möchten einen DNS-Eintrag (Domain Name System) für die Website konfigurieren, und klicken Sie dann auf OK.

    Lassen Sie das Feld Hostname leer, es sei denn, Sie möchten einen DNS-Eintrag (Domain Name System) für die Website konfigurieren, und klicken Sie dann auf OK.

    Hinweis

    In einer Produktionsumgebung sollten Sie Ihre Website wahrscheinlich an Port 80 hosten und einen Hostheader zusammen mit übereinstimmenden DNS-Einträgen konfigurieren. Weitere Informationen zum Konfigurieren von Hostheadern in IIS 7 finden Sie unter Konfigurieren eines Hostheaders für eine Website (IIS 7). Weitere Informationen zur DNS-Serverrolle in Windows Server 2008 R2 finden Sie unter Übersicht über DNS-Server.

  9. Klicken Sie im Bereich Aktionen unter Site bearbeitenauf Bindungen.

  10. Klicken Sie im Dialogfeld Sitebindungen auf Hinzufügen.

    Klicken Sie im Dialogfeld Websitebindungen auf Hinzufügen.

  11. Legen Sie im Dialogfeld Websitebindung hinzufügen die IP-Adresse und den Port so fest, dass sie Ihrer vorhandenen Standortkonfiguration entsprechen.

  12. Geben Sie im Feld Hostname den Namen Ihres Webservers ein (z. B. PROWEB1), und klicken Sie dann auf OK.

    Geben Sie im Feld Hostname den Namen Ihres Webservers ein (z. B. PROWEB1), und klicken Sie dann auf OK.

    Hinweis

    Mit der ersten Standortbindung können Sie lokal über die IP-Adresse und den Port oder http://localhost:85auf den Standort zugreifen. Die zweite Standortbindung ermöglicht ihnen den Zugriff auf den Standort von anderen Computern in der Domäne mithilfe des Computernamens (z. B. http://proweb1:85).

  13. Klicken Sie im Dialogfeld Sitebindungen auf Schließen.

  14. Klicken Sie im Bereich Verbindungen auf Anwendungspools.

  15. Klicken Sie im Bereich Anwendungspools mit der rechten Maustaste auf den Namen Ihres Anwendungspools, und klicken Sie dann auf Grundlegende Einstellungen. Standardmäßig entspricht der Name Ihres Anwendungspools dem Namen Ihrer Website (z. B. DemoSite).

  16. Wählen Sie in der Liste .NET Framework Version.NET Framework v4.0.30319 aus, und klicken Sie dann auf OK.

    Wählen Sie in der Liste .NET Framework Version .NET Framework v4.0.30319 aus, und klicken Sie dann auf OK.

    Hinweis

    Die Beispiellösung erfordert .NET Framework 4.0. Dies ist für Web Deploy im Allgemeinen keine Voraussetzung.

Damit Ihre Website Inhalte bereitstellen kann, muss die Identität des Anwendungspools über Leseberechtigungen für den lokalen Ordner verfügen, in dem die Inhalte gespeichert werden. In IIS 7.5 werden Anwendungspools standardmäßig mit einer eindeutigen Anwendungspoolidentität ausgeführt (im Gegensatz zu früheren Versionen von IIS, bei denen Anwendungspools in der Regel mit dem Netzwerkdienstkonto ausgeführt werden). Die Anwendungspoolidentität ist kein echtes Benutzerkonto und wird nicht in Listen von Benutzern oder Gruppen angezeigt. Stattdessen wird sie dynamisch erstellt, wenn der Anwendungspool gestartet wird. Jede Anwendungspoolidentität wird der lokalen sicherheitsgruppe IIS_IUSRS als ausgeblendetes Element hinzugefügt.

Um einer Anwendungspoolidentität Berechtigungen für eine Datei oder einen Ordner zu erteilen, haben Sie zwei Möglichkeiten:

  • Weisen Sie der Anwendungspoolidentität direkt Berechtigungen im Format IIS AppPool(Anwendungspoolname) zu (z. B. IIS AppPool\DemoSite).
  • Weisen Sie der gruppe IIS_IUSRS Berechtigungen zu.

Der gebräuchlichste Ansatz besteht darin, der lokalen IIS_IUSRS-Gruppe Berechtigungen zuzuweisen, da Sie mit diesem Ansatz Anwendungspools ändern können, ohne Dateisystemberechtigungen neu zu konfigurieren. Im nächsten Verfahren wird dieser gruppenbasierte Ansatz verwendet.

Hinweis

Weitere Informationen zu Anwendungspoolidentitäten in IIS 7.5 finden Sie unter Anwendungspoolidentitäten.

So konfigurieren Sie Ordnerberechtigungen für eine IIS-Website

  1. Navigieren Sie in Windows Explorer zum Speicherort Ihres lokalen Ordners.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner, und klicken Sie anschließend auf Eigenschaften.

  3. Klicken Sie auf der Registerkarte Security auf Edit und dann auf Add.

  4. Klicken Sie auf Standorte. Wählen Sie im Dialogfeld Speicherorte den lokalen Server aus, und klicken Sie dann auf OK.

    Klicken Sie auf Speicherorte. Wählen Sie im Dialogfeld Speicherorte den lokalen Server aus, und klicken Sie dann auf OK.

  5. Geben Sie im Dialogfeld Benutzer oder Gruppen auswählenIIS_IUSRS ein, klicken Sie auf Namen überprüfen, und klicken Sie dann auf OK.

  6. Beachten Sie im Dialogfeld Berechtigungen für (Ordnername), dass der neuen Gruppe standardmäßig die Berechtigungen Lesen & ausführen, Ordnerinhalte auflisten und Lesen zugewiesen wurden. Lassen Sie dies unverändert, und klicken Sie auf OK.

  7. Klicken Sie auf OK , um das Dialogfeld Eigenschaften (Ordnername) zu schließen.

Deaktivieren des Remote-Agent-Diensts

Wenn Sie Web Deploy installieren, wird der Web Deployment Agent Service installiert und automatisch gestartet. Mit diesem Dienst können Sie Webpakete von einem Remotestandort aus bereitstellen und veröffentlichen. Sie verwenden in diesem Szenario nicht die Remotebereitstellungsfunktion, daher sollten Sie den Dienst beenden und deaktivieren.

Hinweis

Sie müssen den Remote-Agent-Dienst nicht beenden, um ein Webpaket manuell zu importieren und bereitzustellen. Es empfiehlt sich jedoch, den Dienst zu beenden und zu deaktivieren, wenn Sie ihn nicht verwenden möchten.

Sie können einen Dienst auf verschiedene Arten beenden und deaktivieren, indem Sie verschiedene Befehlszeilenprogramme oder Windows PowerShell Cmdlets verwenden. Dieses Verfahren beschreibt einen einfachen UI-basierten Ansatz.

So beenden und deaktivieren Sie den Remote-Agent-Dienst

  1. Zeigen Sie im Menü Start auf Verwaltung, und klicken Sie dann auf Dienste.

  2. Suchen Sie in der Dienstkonsole nach der Zeile Web Deployment Agent Service.

    Suchen Sie in der Dienstkonsole nach der Zeile Web Deployment Agent Service.

  3. Klicken Sie mit der rechten Maustaste auf Web Deployment Agent Dienst, und klicken Sie dann auf Eigenschaften.

  4. Klicken Sie im Dialogfeld Web Deployment Agent-Diensteigenschaften auf Beenden.

  5. Wählen Sie in der Liste Starttypdie Option Deaktiviert aus, und klicken Sie dann auf OK.

    Wählen Sie in der Liste Starttyp die Option Deaktiviert aus, und klicken Sie dann auf OK.

Zusammenfassung

An diesem Punkt ist Ihr Webserver für die Offlinebereitstellung von Webpaketen bereit. Bevor Sie versuchen, Webpakete in eine IIS-Website zu importieren, sollten Sie die folgenden wichtigen Punkte überprüfen:

  • Haben Sie ASP.NET 4.0 bei IIS registriert?
  • Verfügt die Anwendungspoolidentität über Lesezugriff auf den Quellordner für Ihre Website?
  • Haben Sie den Web-Deployment Agent-Dienst beendet?