Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
von Jason Lee
In diesem Thema wird beschrieben, wie Sie einen IIS-Webserver für die Unterstützung von Offlinewebveröffentlichung und -bereitstellung konfigurieren.
Wenn Sie mit Internet Information Services (IIS) Web Deployment Tool (Web Deploy) 2.0 oder höher arbeiten, gibt es drei Hauptansätze, mit denen Sie Ihre Anwendungen oder Websites auf einem Webserver bereitstellen können. Sie haben folgende Möglichkeiten:
- Verwenden Sie den Remote-Agent-Dienst "Web Deploy". Dieser Ansatz erfordert weniger Konfiguration des Webservers, sie müssen jedoch die Anmeldeinformationen eines lokalen Serveradministrators angeben, um alles auf dem Server bereitzustellen.
- Verwenden Sie den Web Deploy-Handler. Dieser Ansatz ist viel komplexer und erfordert mehr anfänglichen Aufwand zum Einrichten des Webservers. Wenn Sie diesen Ansatz verwenden, können Sie IIS jedoch so konfigurieren, dass Benutzer, die keine Administrator sind, die Bereitstellung ausführen können. Der Web Deploy-Handler ist nur in IIS Version 7 oder höher verfügbar.
- Verwenden Sie eine Offline-Bereitstellung. Dieser Ansatz erfordert die geringste Konfiguration des Webservers, aber ein Serveradministrator muss das Webpaket manuell auf den Server kopieren und über 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 der Fall in in internetorientierten Produktionsumgebungen, in denen die Webserver entweder physisch oder durch Firewalls und Subnetze von der restlichen Serverinfrastruktur isoliert sind.
Natürlich wird dieser Ansatz weniger wünschenswert, wenn Ihre Webanwendungen regelmäßig aktualisiert werden. Wenn Ihre Infrastruktur dies zulässt, sollten Sie erwägen, die Remotebereitstellung mithilfe des Web Deploy Handlers oder des Web Deploy Remote Agent Service zu aktivieren.
Aufgabenübersicht
Um den Webserver so zu konfigurieren, dass der Offlineimport und die Bereitstellung von Webpaketen unterstützt werden, 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 die bereitgestellten Inhalte zu hosten.
- Deaktivieren Sie den Webbereitstellungs-Agent-Dienst.
Um die Beispiellösung speziell zu hosten, müssen Sie auch:
- Installieren Sie .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 sauberen 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 domänenverbunden.
- Der Server verfügt über eine statische IP-Adresse.
Hinweis
Weitere Informationen zum Hinzufügen von Computern zu einer Domäne finden Sie unter Hinzufügen von Computern zur Domäne und Anmeldung. Weitere Informationen zum Konfigurieren statischer IP-Adressen finden Sie unter Konfigurieren einer statischen IP-Adresse.
Installieren von Produkten und Komponenten
Dieser Abschnitt führt Sie durch die Installation der erforderlichen Produkte und Komponenten auf dem Webserver. 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 diese Dinge 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 benötigen, um eine ASP.NET Anwendung zu hosten.
- .NET Framework 4.0. Dies ist erforderlich, um Anwendungen auszuführen, die auf dieser Version von .NET Framework erstellt wurden.
- Web Deployment Tool 2.1 oder höher. Dadurch wird Web Deploy (und die zugrunde liegende ausführbare Datei MSDeploy.exe) auf Ihrem Server installiert. Web Deploy ist in IIS integriert und ermöglicht es Ihnen, Webpakete zu importieren und zu exportieren.
- 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 Webplattforminstallationsprogramms zum Installieren und Konfigurieren verschiedener Komponenten beschrieben. Obwohl Sie das Webplattform-Installationsprogramm nicht verwenden müssen, wird der Installationsprozess vereinfacht, indem Abhängigkeiten automatisch erkannt und sichergestellt werden, dass Sie immer die neuesten Produktversionen erhalten. Weitere Informationen finden Sie im Microsoft Web Platform Installer 3.0.
So installieren Sie die erforderlichen Produkte und Komponenten
Laden Sie den Webplattform-Installer herunter, und installieren Sie ihn.
Nach Abschluss der Installation wird das Webplattform-Installationsprogramm automatisch gestartet.
Hinweis
Sie können den Webplattform-Installer jetzt jederzeit über das Startmenü starten. Klicken Sie hierzu im Startmenü auf "Alle Programme", und klicken Sie dann auf "Microsoft Web Platform Installer".
Klicken Sie oben im Fenster "Web platform Installer 3.0 " auf "Produkte".
Klicken Sie auf der linken Seite des Fensters im Navigationsbereich auf "Frameworks".
Klicken Sie in der Zeile "Microsoft .NET Framework 4 ", wenn .NET Framework noch nicht installiert ist, auf "Hinzufügen".
Hinweis
Möglicherweise haben Sie .NET Framework 4.0 bereits über Windows Update installiert. Wenn bereits ein Produkt oder eine Komponente installiert ist, gibt der Webplattform-Installer dies an, indem die Schaltfläche "Hinzufügen " durch den Text "Installiert" ersetzt wird.
Klicken Sie in der Zeile ASP.NET MVC 3 (Visual Studio 2010) auf "Hinzufügen".
Klicken Sie im Navigationsbereich auf "Server".
Klicken Sie in der Zeile " Empfohlene IIS 7-Konfiguration " auf "Hinzufügen".
Klicken Sie in der Zeile "Webbereitstellungstool 2.1 " auf "Hinzufügen".
Klicke 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.
Überprüfen Sie die Lizenzbedingungen, und klicken Sie, wenn Sie den Bedingungen zustimmen, auf "Ich stimme zu".
Wenn die Installation abgeschlossen ist, klicken Sie auf "Fertig stellen", und schließen Sie dann das Fenster "Web platform Installer 3.0 ".
Wenn Sie .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, stellen Sie fest, dass IIS statische Inhalte (z. B. HTML-Dateien) ohne Probleme bedient, aber es gibt HTTP-Fehler 404.0 zurück – Nicht gefunden , wenn Sie versuchen, zu 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
Klicken Sie auf "Start", und geben Sie dann die Eingabeaufforderung ein.
Klicken Sie in den Suchergebnissen mit der rechten Maustaste auf die Eingabeaufforderung, und klicken Sie dann auf "Als Administrator ausführen".
Navigieren Sie im Eingabeaufforderungsfenster zum Verzeichnis%WINDIR%\Microsoft.NET\Framework\v4.0.30319 .
Geben Sie diesen Befehl ein, und drücken Sie dann die EINGABETASTE:
aspnet_regiis -iruWenn Sie planen, 64-Bit-Webanwendungen zu einem beliebigen Zeitpunkt zu hosten, sollten Sie auch die 64-Bit-Version von ASP.NET bei IIS registrieren. Navigieren Sie dazu im Eingabeaufforderungsfenster zum Verzeichnis%WINDIR%\Microsoft.NET\Framework64\v4.0.30319 .
Geben Sie diesen Befehl ein, und drücken Sie dann die EINGABETASTE:
aspnet_regiis -iru
Verwenden Sie windows Update zu diesem Zeitpunkt erneut, 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 erstellen und konfigurieren, um den Inhalt zu hosten. Web Deploy kann nur Webpakete auf einer vorhandenen IIS-Website bereitstellen; sie kann die Website nicht für Sie erstellen. Auf hoher Ebene müssen Sie diese 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 Leseberechtigungen für die Anwendungspoolidentität im lokalen Ordner.
Obwohl es nichts gibt, was Sie daran hindert, Inhalte auf der Standardwebsite in IIS bereitzustellen, wird dieser Ansatz nicht für Test- oder Demonstrationsszenarien empfohlen. Um eine Produktionsumgebung zu simulieren, sollten Sie eine neue IIS-Website mit Einstellungen erstellen, die für die Anforderungen Ihrer Anwendung spezifisch sind.
So erstellen und konfigurieren Sie eine IIS-Website
Erstellen Sie im lokalen Dateisystem einen Ordner zum Speichern Ihrer Inhalte (z. B. C:\DemoSite).
Zeigen Sie im Startmenü auf die Verwaltungstools, und klicken Sie dann auf den IIS-Manager (Internetinformationsdienste).
Erweitern Sie im IIS-Manager im Bereich "Verbindungen " den Serverknoten (z. B. PROWEB1).
Klicken Sie mit der rechten Maustaste auf den Knoten "Websites ", und klicken Sie dann auf "Website hinzufügen".
Geben Sie im Feld "Websitename " einen Namen für die IIS-Website ein (z. B. DemoSite).
Geben Sie im Feld "Physischer Pfad " den Pfad zu Ihrem lokalen Ordner (z. B. "C:\DemoSite") ein (oder navigieren Sie zu diesem Pfad).
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 auf Port 80 hosten, müssen Sie die Standardwebsite beenden, bevor Sie auf Ihre Website zugreifen können.
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 auf 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 DNS Server Overview.
Klicken Sie im Bereich "Aktionen " unter "Website bearbeiten" auf "Bindungen".
Klicken Sie im Dialogfeld "Websitebindungen " auf "Hinzufügen".
Legen Sie im Dialogfeld " Websitebindung hinzufügen " die IP-Adresse und den Port so fest, dass sie Ihrer vorhandenen Standortkonfiguration entspricht.
Geben Sie im Feld "Hostname " den Namen Ihres Webservers ein (z. B. PROWEB1), und klicken Sie dann auf "OK".
Hinweis
Mit der ersten Websitebindung können Sie lokal über die IP-Adresse und den Port oder
http://localhost:85port auf die Website zugreifen. Die zweite Websitebindung ermöglicht ihnen den Zugriff auf die Website von anderen Computern in der Domäne mithilfe des Computernamens (z. B. http://proweb1:85).Klicken Sie im Dialogfeld "Websitebindungen " auf "Schließen".
Klicken Sie im Bereich "Verbindungen " auf "Anwendungspools".
Klicken Sie im Bereich "Anwendungspools " mit der rechten Maustaste auf den Namen Ihres Anwendungspools, und klicken Sie dann auf " Standardeinstellungen". Standardmäßig entspricht der Name Ihres Anwendungspools dem Namen Ihrer Website (z. B. DemoSite).
Wählen Sie in der .NET Framework-Versionsliste .NET Frameworkv4.0.30319 aus, und klicken Sie dann auf OK.
Hinweis
Für die Beispiellösung ist .NET Framework 4.0 erforderlich. Dies ist keine Voraussetzung für web deploy im Allgemeinen.
Damit Ihre Website Inhalte bereitstellen kann, muss die Anwendungspoolidentität über Leseberechtigungen für den lokalen Ordner verfügen, in dem der Inhalt gespeichert wird. 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 IIS_IUSRS Sicherheitsgruppe als ausgeblendetes Element hinzugefügt.
Zum Erteilen von Berechtigungen für eine Anwendungspoolidentität in einer Datei oder einem Ordner haben Sie zwei Optionen:
- Weisen Sie der Anwendungspoolidentität Berechtigungen direkt zu, indem Sie das Format IIS AppPool(Anwendungspoolname) verwenden (z. B. IIS AppPool\DemoSite).
- Weisen Sie der gruppe IIS_IUSRS Berechtigungen zu.
Der am häufigsten verwendete Ansatz besteht darin, der lokalen IIS_IUSRS Gruppe Berechtigungen zuzuweisen, da Mit diesem Ansatz Sie 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
Navigieren Sie im Windows-Explorer zum Speicherort Ihres lokalen Ordners.
Klicken Sie mit der rechten Maustaste auf den Ordner, und klicken Sie dann auf "Eigenschaften".
Klicken Sie auf der Registerkarte "Sicherheit " auf "Bearbeiten", und klicken Sie dann auf "Hinzufügen".
Klicken Sie auf Standorte. Wählen Sie im Dialogfeld "Standorte" den lokalen Server aus, und klicken Sie dann auf "OK".
Geben Sie im Dialogfeld "Benutzer oder Gruppen auswählen " IIS_IUSRS ein, klicken Sie auf "Namen überprüfen", und klicken Sie dann auf "OK".
Beachten Sie im Dialogfeld "Berechtigungen für (Ordnername)", dass der neuen Gruppe standardmäßig Lese- und Ausführungsberechtigungen, Ordnerinhalt auflisten und Leseberechtigungen zugewiesen worden sind. Lassen Sie dies unverändert, und klicken Sie auf 'OK'.
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-Dienst installiert und automatisch gestartet. Mit diesem Dienst können Sie Webpakete aus der Ferne bereitstellen und veröffentlichen. In diesem Szenario verwenden Sie die Remotebereitstellungsfunktion nicht, 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 mehrere Arten beenden und deaktivieren, indem Sie verschiedene Befehlszeilenprogramme oder Windows PowerShell-Cmdlets verwenden. Dieses Verfahren beschreibt einen einfachen benutzeroberflächenbasierten Ansatz.
So beenden und deaktivieren Sie den Remote-Agent-Dienst
Zeigen Sie im Startmenü auf "Verwaltungstools", und klicken Sie dann auf "Dienste".
Suchen Sie in der Dienstkonsole die Zeile " Web Deployment Agent Service ".
Klicken Sie mit der rechten Maustaste auf den Webbereitstellungs-Agent-Dienst, und klicken Sie dann auf Eigenschaften.
Klicken Sie im Dialogfeld Web Deployment Agent Service-Eigenschaften auf "Beenden".
Wählen Sie in der Liste "Starttyp" die Option "Deaktiviert" aus, und klicken Sie dann auf "OK".
Fazit
Zu diesem Zeitpunkt ist Ihr Webserver für die Bereitstellung von Offlinewebpaketen bereit. Bevor Sie versuchen, Webpakete auf eine IIS-Website zu importieren, sollten Sie diese wichtigen Punkte überprüfen:
- Haben Sie ASP.NET 4.0 bei IIS registriert?
- Hat die Anwendungspoolidentität Lesezugriff auf den Quellordner für Ihre Website?
- Haben Sie den Webbereitstellungs-Agent-Dienst beendet?