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 Faith A
In diesem Handbuch finden Sie eine grundlegende Übersicht über die Schritte zum Konfigurieren des Webbereitstellungshandlers auf dem gehosteten Server und zum Testen, dass ein Benutzer Anwendungen auf einer Website bereitstellen kann. Dieses Setup verwendet die Informationen in diesem Dokument, um das Webbereitstellungstool auf einem neuen Server zu installieren und empfohlene Einstellungen zu konfigurieren.
Voraussetzungen
Für diese Anleitung sind die folgenden Voraussetzungen erforderlich:
- .NET Framework 2.0 SP1 oder höher
- Webbereitstellungstool 1.0 oder 1.1
- IIS 7 oder höher mit installierter Webverwaltungsdienst (WMSvc)
Hinweis: Wenn Sie das Webbereitstellungstool noch nicht installiert haben, lesen Sie ".
Einführung in den Web Deployment Handler
Der Handler ist in den Webverwaltungsdienst (Web Management Service, WMSVC) integriert, der mit IIS 7.0 unter Windows Server 2008 und IIS 7.5 unter Windows 2008 R2 ausgeliefert wird.
Zuerst müssen Sie ein Konto (entweder ein IIS-Manager-Benutzer- oder Windows-Konto) für den Benutzer erstellen. Weitere Informationen zum Erstellen von IIS-Manager-Benutzerkonten finden Sie unter Configuring Remote Administration and Feature Delegation in IIS.
Zweitens muss der Benutzer berechtigt sein, mithilfe von WMSVC eine Verbindung mit seiner Website herzustellen. Sie können das Iis-Manager-Berechtigungsfeature im IIS-Manager verwenden, um Benutzern das Recht zu gewähren, eine Remoteverbindung mit ihren Websites herzustellen.
Drittens muss ein Benutzer auch berechtigt sein, Bereitstellungen mithilfe des Webbereitstellungstools durchzuführen. Sie können das Verwaltungsdienstdelegierungsfeature im IIS-Manager verwenden, um Delegierungsregeln zu erstellen, mit denen Benutzer Bereitstellungen für ihre Websites und für keine andere Personen ausführen können.
Das folgende Diagramm veranschaulicht, wie ein Benutzer zuerst mit WMSVC verbunden und autorisiert wird, bevor die Bereitstellungsanforderung an den Handler weitergeleitet und anhand der eigenen Regeln des Handlers autorisiert wird. Diese Kurzanleitung hilft Ihnen beim Einrichten der erforderlichen Regeln, damit ein Benutzer IIS-Anwendungen mit Inhalten bereitstellen, Dateiberechtigungen festlegen und Datenbanken bereitstellen kann.
Teil 1 : Konfigurieren von WMSVC- und IIS-Managerberechtigungen
- Installieren Sie IIS und den Webdienst auf Ihrem Windows Server 2008-Server.
- Konfigurieren Sie WMSVC so, dass Remoteverbindungen zulässig sind.
a) Öffnen Sie den IIS-Manager.
b. Wählen Sie den Serverknoten aus.
c. Doppelklicken Sie in der Featureansicht des Servers auf das Verwaltungsdienstsymbol .
d. Stellen Sie sicher, dass das Kontrollkästchen "Remoteverbindungen aktivieren " aktiviert ist. Wenn das Kontrollkästchen nicht aktiviert und ausgegraut ist, verwenden Sie den Bereich "Aktionen", um den WMSvc-Dienst zu beenden. Dadurch können Sie das Kontrollkästchen auswählen.
e. Klicken Sie im rechten Bereich "Aktionen " auf "Start". Das Kontrollkästchen Remoteverbindungen aktivieren wird aktiviert und ausgegraut. - Erteilen Sie dem Konto, unter dem WMSvc ausgeführt wird (z. B. lokaler Dienst) Vollzugriffsberechtigungen für das Verzeichnis des Kunden.
- Nachdem Sie eine Website für den Benutzer erstellt haben, erlauben Sie dem Benutzer den Zugriff auf seine Website.
a) Öffnen Sie den IIS-Manager. b. Wählen Sie die Website aus, die der Benutzer remote verwaltet.
c. Doppelklicken Sie in der Featureansicht auf das Symbol "IIS-Managerberechtigungen" . d. Klicken Sie auf der Seite " IIS-Managerberechtigungen" im Bereich "Aktionen " auf "Benutzer zulassen".
e. Wählen Sie im Dialogfeld " Benutzer zulassen " den Benutzertyp (Windows- oder IIS-Manager) aus, und klicken Sie dann auf "Auswählen ", um das Konto des Benutzers auszuwählen.
f. Klicken Sie auf "OK ", um das Dialogfeld " Benutzer zulassen " zu schließen.
Weitere Informationen zu IIS-Manager-Benutzerkonten finden Sie unter Zulassen eines IIS-Manager-Benutzerkontos zum Herstellen einer Verbindung mit einer Site oder Anwendung (IIS 7).
Teil 2 – Erstellen von Delegierungsregeln für Webbereitstellungsbenutzer
- Falls noch nicht geschehen, laden Sie das Webbereitstellungstool herunter, und installieren Sie es auf dem Webserver.
- Erstellen Sie Delegierungsregeln für die Web Deploy-Funktionalität (Anbieter), über die Benutzer verfügen möchten. So ermöglichen Sie einem Benutzer die Bereitstellung von Anwendungen und Inhalten auf seiner Website:
a) Öffnen Sie den IIS-Manager.
b. Wählen Sie den Serverknoten aus.
c. Doppelklicken Sie in der Featureansicht des Servers auf das Verwaltungsdienstdelegierungssymbol .
d. Klicken Sie im Bereich "Aktionen " auf der rechten Seite auf "Regel hinzufügen"...
e. Wählen Sie die Vorlage "Anwendungen mit Inhaltsregel bereitstellen" aus. Diese Vorlage erstellt eine Regel, mit der jeder autorisierte WMSVC-Benutzer die Web Deploy contentPath- und iisApp-Anbieter verwenden kann, um Anwendungen in seinem Benutzerbereich bereitzustellen.
f. Klicken Sie auf 'OK' , um die Vorlage zu öffnen.
g. Klicken Sie auf "OK" , um die Regel zu erstellen.
h. Geben Sie im Dialogfeld " Benutzer zur Regel hinzufügen " ein Sternchen (*) ein. Dadurch kann jeder Benutzer Anwendungen in seinem Benutzerbereich bereitstellen.
HINWEIS: Wenn Sie eine nur Administratorsynchronisierung durchführen möchten, wechseln Sie zur Seite "Verwaltungsdienstdelegierung ". Klicken Sie im Bereich "Aktionen " auf " Featureeinstellungen bearbeiten", und wählen Sie dann "Administratoren erlauben, Regeln zu umgehen" aus.
Ordner als Anwendungsregel markieren
So ermöglichen Sie jedem Benutzer, eine Anwendung innerhalb seiner Website zu erstellen:
a) Klicken Sie auf Regel hinzufügen... b. Wählen Sie die Regelvorlage "Ordner als Anwendungen markieren " aus. Diese Vorlage ermöglicht es allen autorisierten WMSVC-Benutzern, den CreateApp-Anbieter web deploy zu verwenden, um Anwendungen innerhalb ihres Benutzerbereichs zu erstellen. Die Anwendungen erben alle Einstellungen vom übergeordneten Element, einschließlich des Anwendungspools. c. Klicken Sie auf 'OK' , um die Vorlage zu öffnen.
d. Wählen Sie im Abschnitt "RunAs " "SpecificUser " für den Identitätstyp aus, und klicken Sie auf die Schaltfläche " Festlegen... ", um ein Benutzerkonto anzugeben, das diesen Vorgang ausführt. Damit diese Regel funktioniert, muss die Regel als Benutzer ausgeführt werden, der Zugriff auf das Schreiben in die applicationHost.config Datei hat. Es wird empfohlen, ein Konto (z. B. "CreateAppUser") zu erstellen, das sich nicht in der Gruppe "Administratoren" befindet und nur die erforderlichen Mindestberechtigungen erteilt. So geht's:- Erstellen eines Benutzerkontos.
- Erteilen Sie Leseberechtigungen für
%windir%\system32\inetsrv\config. - Berechtigung zum Ändern erteilen für
%windir%\system32\inetsrv\config\applicationHost.config.
Geben Sie im Dialogfeld " Benutzer zur Regel hinzufügen " ein Sternchen (*) ein. Dadurch kann jeder Benutzer Anwendungen innerhalb seiner Website erstellen.
Regel zum Bereitstellen von Datenbanken
- So können Benutzer Datenbanken auf ihren Websites bereitstellen:
a) Klicken Sie auf Regel hinzufügen ... b. Wählen Sie die Regelvorlage "Datenbanken bereitstellen" aus. Mit dieser Vorlage können alle autorisierten WMSVC-Benutzer (wie in Teil 1 festgelegt) Datenbanken auf SQL-Datenbankservern bereitstellen. c. Klicken Sie auf 'OK' , um die Vorlage zu öffnen.
d. Fügen Sie einen Pfad zur Autorisierung hinzu, z. B. Server=Server1, damit jeder Benutzer mithilfe seiner SQL-Anmeldeinformationen auf diesem Server bereitstellen kann, oder Server=Server1;Database={userName}_db1, um die Bereitstellung auf bestimmte Datenbanken zu beschränken, die ihrem Benutzernamen entsprechen.
e. Klicken Sie auf "OK" , um die Regel zu erstellen. - Geben Sie im Dialogfeld " Benutzer zur Regel hinzufügen " ein Sternchen (*) ein. Dadurch kann jeder Benutzer Datenbanken auf seiner Website bereitstellen.
Berechtigungsregel festlegen
- So ermöglichen Sie jedem Benutzer die Bereitstellung von Anwendungen und Inhalten auf seiner Website:
a) Klicken Sie auf Regelvorlage auswählen... b. Wählen Sie die Regelvorlage "Berechtigungen festlegen" aus. Mit dieser Vorlage können alle autorisierten WMSVC-Benutzer ACLs im Dateisystem festlegen. c. Klicken Sie auf 'OK' , um die Vorlage zu öffnen.
d. Klicken Sie auf "OK" , um die Regel zu erstellen. - Geben Sie im Dialogfeld " Benutzer zur Regel hinzufügen " ein Sternchen (*) ein. Dadurch kann jeder Benutzer Anwendungen und Inhalte auf seiner Website bereitstellen.
Optional: Ablaufverfolgung für WMSvc aktivieren
Wenn Sie die Ablaufverfolgung für WMSvc aktivieren möchten, lesen Sie das Konfigurieren der Webdienstablaufverfolgung. Tracing-Protokolle werden in %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1 gespeichert.
Teil 3 : Testen der Verbindung des Benutzers mit der Website
- Laden Sie das Webbereitstellungstool auf einem Clientcomputer herunter, auf dem der IIS-Remote-Manager installiert ist, oder installieren Sie es, oder verwenden Sie den lokalen Server. Es wird empfohlen, zuerst den lokalen Server zu testen, um alle Probleme zu isolieren, die durch Netzwerk-, Firewall- oder Proxyeinstellungen verursacht werden können.
- Testen Sie die Verbindung mit der Website des Benutzers mithilfe der Anmeldeinformationen, die Sie für den Benutzer erstellt haben:
a) Öffnen Sie den IIS-Manager.
b. Klicken Sie mit der rechten Maustaste auf den Knoten " Startseite" .
c. Wählen Sie "Mit einem Standort verbinden" aus... (Hinweis: Verbindung mit einem Servernicht auswählen)
d. Geben Sie im Textfeld "Servername " "localhost" ein.
e. Geben Sie im Textfeld " Websitename " den Namen der Website des Benutzers ein, die Sie für die Remoteverwaltung aktiviert haben.
f. Klicke auf Weiter.
g. Geben Sie im Textfeld "Benutzername " den Benutzer ein, den Sie für die Website autorisiert haben.
h. Geben Sie im Textfeld "Kennwort " das Kennwort des Benutzers ein.
i. Klicken Sie auf "Weiter" , um die Verbindung abzuschließen. Möglicherweise werden Sie aufgefordert, dem Zertifikat zu vertrauen, wenn Sie ein nicht vertrauenswürdiges oder selbst signiertes Zertifikat verwenden. In der unteren rechten Ecke des IIS-Managers wird der neue Verbindungsstatus angezeigt (z. B. localhost 8172 als SampleUser). - Erstellen Sie ein schnelles Anwendungspaket, um zu überprüfen, ob die Autorisierungsregeln funktionieren:
a) Klicken Sie im Bereich "Aktionen " auf der rechten Seite auf " Anwendung exportieren"...
b. Dadurch wird der Assistent "Anwendung exportieren" gestartet. Klicken Sie auf "Weiter", um durch alle Bildschirme zu navigieren, die Standardwerte zu akzeptieren und ein Paket zu erstellen. - Nachdem Sie ein Paket erstellt haben, überprüfen Sie, ob Sie es installieren können:
a) Klicken Sie im Bereich "Aktionen " auf " Anwendung importieren"...
b. Klicke auf Weiter. c. Ändern Sie auf der Seite "Parameter " den Anwendungsnamen in etwas, das in der Website noch nicht vorhanden ist, um zu überprüfen, ob der Benutzer Anwendungen erstellen kann.
d. Schließen Sie den Assistenten ab. - Schließlich sollten Sie ein Anwendungspaket herunterladen, um eine Anwendung auf dieser Website zu installieren, um zu überprüfen, ob die Datenbank und andere Optionen funktionieren.
Problembehandlung
Es gibt einige häufige Probleme, die während der Bereitstellung auftreten können:
Benutzer erhält 401-Fehler: Nicht autorisiert, beim Versuch, eine Verbindung mit einer Website herzustellen.
- Ursache(en): Dieser Fehler stammt aus WMSVC und ist in der Regel ein Fehler mit Benutzername/Kennwort, oder weil der Benutzer keinen Zugriff auf die Website hat.
- Lösung(en): Überprüfen Sie den Benutzernamen/das Kennwort, und dass der Benutzer Zugriff auf die Website hat.
Der Benutzer erhält beim Versuch, eine Anwendung zu importieren oder zu exportieren, einen Serverfehler.
Ursache(en): Dieser Fehler stammt aus dem Webbereitstellungshandler und ist in der Regel ein Problem mit den Bereitstellungsregeln. Da der Benutzer erfolgreich eine Verbindung hergestellt hat, handelt es sich nicht um ein Problem mit WMSVC. Eine Bereitstellungsregel verfügt möglicherweise über einen Tippfehler, der Benutzer, der die Bereitstellung ausführt, ist möglicherweise nicht autorisiert, oder die RunAs-Identität hat keinen Zugriff.
Lösung(en): Öffnen Sie die Ablaufverfolgungsprotokolle,
%systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1und sehen Sie, welche Regel nicht autorisiert werden kann.- Suchen Sie nach Protokollen, die Fehler enthalten, z. B. "Details: Es wurde keine Regel gefunden, die den Benutzer "server1\siteowner", den Anbieter "appPoolConfig", den Vorgang "Read", den Pfad "DefaultAppPool" autorisieren konnte. In diesem Fall ist die Anbieter-appPoolConfig nicht autorisiert und der Benutzer hat versucht, einen Anbieter hinzuzufügen, den er nicht hinzufügen darf.
- Ein weiterer häufiger Fehler ist, wenn der RunAs-Benutzer, der zum Erstellen von Apps verwendet wird, keinen ordnungsgemäßen Zugriff auf die Konfiguration hat. In diesem Fall ist Procmon ein nützliches Tool, um zu ermitteln, wo ein Zugriff verweigerter Fehler auftreten kann.
Zusammenfassung
In diesem Handbuch wird beschrieben, wie Sie den WMSVC und den Bereitstellungs-Handler konfigurieren, damit Benutzer ihre Webanwendungen verwalten können. Es zeigt außerdem die Schritte zur Verwendung des IIS-Managers, um ein Paket zu erstellen und zu installieren, mit dem überprüft wird, ob die Delegierungsregeln funktionieren.