Konfigurieren des Webbereitstellungshandlers

von Faith A

In diesem Handbuch finden Sie eine grundlegende Übersicht über die Schritte zum Konfigurieren des Webbereitstellungshandlers auf Ihrem gehosteten Server und zum Testen, ob ein(e) Benutzer*in 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

Dieser Leitfaden erfordert die folgenden Voraussetzungen:

  • .NET Framework 2.0 SP1 oder höher
  • Webbereitstellungstool 1.0 oder 1.1
  • IIS 7 oder höher mit installiertem Webverwaltungsdienst (WMSvc)

Hinweis: Wenn Sie das Webbereitstellungstool noch nicht installiert haben, lesen Sie Installieren des Webbereitstellungstools.

Grundlegendes zum Webbereitstellungshandler

Der Handler ist in den Webverwaltungsdienst (Web Management Service, WMSVC) integriert, der mit IIS 7.0 unter Windows Server 2008 und IIS 7.5 auf Windows 2008 R2 ausgeliefert wird.

Zuerst müssen Sie ein Konto (entweder ein IIS-Manager-Benutzer- oder Windows-Konto) für den/die Benutzer*in erstellen. Weitere Informationen zum Erstellen von IIS-Manager-Benutzerkonten finden Sie unter Konfigurieren der Remote-Administration und Funktionsdelegierung in IIS.

Zweitens muss der/die Benutzer*in berechtigt sein, mithilfe von WMSVC eine Verbindung mit seiner/ihrer Website herzustellen. Sie können die Ils-Manager-Berechtigungsfunktion im IIS-Manager verwenden, um Benutzer*innen das Recht zu gewähren, eine Remote-Verbindung mit ihren Websites herzustellen.

Drittens müssen Benutzer*innen Benutzer auch berechtigt sein, Bereitstellungen mithilfe des Webbereitstellungstools durchzuführen. Sie können die Verwaltungsdienst-Delegierungsfunktion im IIS-Manager verwenden, um Delegierungsregeln zu erstellen, mit denen Benutzer*innen Bereitstellungen für ihre Websites und für keine andere Personen ausführen können.

Das folgende Diagramm veranschaulicht, wie ein(e) Benutzer*in 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(e) Benutzer*in IIS-Anwendungen mit Inhalten bereitstellen, Dateiberechtigungen festlegen und Datenbanken bereitstellen kann.

Diagramm, wie ein Benutzer zuerst mit einem autorisiert von W M S V C verbunden ist, bevor die Bereitstellungsanforderung an den Handler weitergeleitet und anhand der eigenen Regeln des Handlers autorisiert wird.

Teil 1 : Konfigurieren von WMSVC- und IIS-Manager-Berechtigungen

  1. Installieren Sie IIS und den Webdienst auf Ihrem Windows Server 2008-Server.
  2. Konfigurieren Sie WMSVC so, dass es Remoteverbindungen zulässt.
    a. Öffnen Sie den IIS-Manager.
    b. Wählen Sie den Serverknoten.
    c. Doppelklicken Sie in der Funktionsansicht des Servers auf das Verwaltungsdienst-Symbol.
    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. So können Sie das Kontrollkästchen markieren.
    e. Klicken Sie im rechten Bereich Aktionen auf Start. Das Kontrollkästchen Remoteverbindungen aktivieren wird aktiviert und abgegraut.
  3. Erteilen Sie dem Konto, unter dem WMSvc ausgeführt wird (z. B. lokaler Dienst) volle Zugriffsberechtigungen für das Verzeichnis des Kunden/der Kunding.
  4. Nachdem Sie eine Website für den/die Benutzer*in erstellt haben, erlauben Sie dem/der Benutzer*in den Zugriff auf seine/ihre Website.
    a. Öffnen Sie den IIS-Manager. b. Wählen Sie die Website aus, die der/die Benutzer*in remote verwaltet.
    c. Doppelklicken Sie in der Funktionsansichtauf das Symbol IIS-Managerberechtigungen. d. Klicken Sie auf der Seite IIS-Managerberechtigungen auf den Bereich Aktionen auf Benutzer*in zulassen.
    e. Wählen Sie im Dialogfeld Benutzer*in zulassen den Benutzertyp (Windows- oder IIS-Manager), und klicken Sie dann auf Auswählen, um das Konto des Benutzers/der Benutzerin 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 Ils-Manager Benutzerkontos zur Verbindungsherstellung mit einer Website oder Anwendung (IlS 7).

Teil 2 – Erstellen von Delegierungsregeln für Webbereitstellungsbenutzer*innen

  1. Falls noch nicht geschehen, laden Sie das Webbereitstellungstool herunter und installieren Sie es auf dem Webserver.
  2. Erstellen Sie Delegierungsregeln für die Webbereitstellungsfunktion (Anbieter), über die Benutzer*innen verfügen möchten. So ermöglichen Sie einem Benutzer/einer Benutzerin die Bereitstellung von Anwendungen und Inhalten auf seiner/ihrer Website:
    a. Öffnen Sie den IIS-Manager.
    b. Wählen Sie den Serverknoten.
    c. Doppelklicken Sie in derFunktionsansicht des Servers auf das Verwaltungsdienst-Delegierungssymbol.
    Screenshot der Ansicht
    d. Klicken Sie im Bereich Aktionen auf der rechten Seite auf Regel hinzufügen..Screenshot des Bereichs
    e. Markieren Sie die Vorlage Anwendungen mit Inhaltsregel bereitstellen. Diese Vorlage erstellt eine Regel, mit der jede(r) autorisierte WMSVC-Benutzer*in die Web Deploy contentPath- und iisApp-Anbieter verwenden kann, um Anwendungen in seinem/ihrem Benutzerbereich bereitzustellen.
    Screenshot des Dialogfelds
    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 der Regel hinzufügen ein Sternchen (*) ein. Dadurch kann jede(r) Benutzer*in Anwendungen in seinem/ihrem Benutzerbereich bereitstellen.

HINWEIS: Wenn Sie eine nur Administratorsynchronisierung durchführen möchten, wechseln Sie zur Seite Verwaltungsdienstdelegierung. Klicken Sie im Bereich Aktionen auf Funktionseinstellungen bearbeiten, und wählen Sie dann Administratoren erlauben, Regeln zu umgehen aus.

Ordner als Anwendungsregel markieren

  1. So ermöglichen Sie jedem Benutzer/jeder Benutzerin, eine Anwendung innerhalb seiner/ihrer 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 allen autorisierten WMSVC-Benutzer*innen, den Webbereitstellungsanbieter createApp zu verwenden, um Anwendungen innerhalb ihres Benutzerbereichs zu erstellen. Die Anwendungen erben alle Einstellungen vom übergeordneten Element, einschließlich des Anwendungspools. c. Sie auf OK, um die Vorlage zu öffnen.
    d. Wählen Sie im Abschnitt RunAsSpecificUser 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*in ausgeführt werden, der/die Zugriff auf das Schreiben in die Datei "applicationHost.config" hat. Es wird empfohlen, ein Konto (z. B. "CreateAppUser") zu erstellen, das sich nicht in der Gruppe „Administrator*innen“ befindet und nur die erforderlichen Mindestberechtigungen erteilt. Gehen Sie hierzu folgendermaßen vor:

    • Erstellen eines Benutzerkontos.
    • Leseberechtigung zuweisen%windir%\system32\inetsrv\config.
    • Berechtigung zum Ändern erteilen, für %windir%\system32\inetsrv\config\applicationHost.config.
  2. Geben Sie im Dialogfeld Benutzer der Regel hinzufügen ein Sternchen (*) ein. Dadurch kann jede(r) Benutzer*in Anwendungen innerhalb seiner Website erstellen.

Datenbankregel bereitstellen

  1. 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*innen (wie in Teil 1 festgelegt) Datenbanken auf SQL-Datenbankservern bereitstellen. c. Sie auf OK, um die Vorlage zu öffnen.
    d. Fügen Sie der Autorisierung einen Pfad hinzu, z. B. Server=Server1, damit jede(r) Benutzer*in mithilfe seiner/ihrer SQL-Anmeldeinformationen oder Server=Server1 auf diesem Server bereitstellen kann; Database={userName}_db1, um auf bestimmte Datenbanken zu beschränken, die ihrem/seinem Benutzernamen entsprechen.
    e. Klicken Sie auf OK , um die Regel zu erstellen.
  2. Geben Sie im Dialogfeld Benutzer der Regel hinzufügen ein Sternchen (*) ein. Dadurch kann jede(r) Benutzer*in Datenbanken auf seiner/ihrer Website bereitstellen.

Festlegen von Berechtigungsregeln

  1. So ermöglichen Sie jedem Benutzer/jeder Benutzerin die Bereitstellung von Anwendungen und Inhalten auf seiner/ihrer 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*innen ACLs im Dateisystem festlegen. c. Sie auf OK, um die Vorlage zu öffnen.
    d. Klicken Sie auf OK , um die Regel zu erstellen.
  2. Geben Sie im Dialogfeld Benutzer der Regel hinzufügen ein Sternchen (*) ein. Dadurch kann jede(r) Benutzer*in Anwendungen und Inhalte auf seiner/ihrer Website bereitstellen.

Optional: Aktivieren der Ablaufverfolgung für WMSvc

Wenn Sie die Ablaufverfolgung für WMSvc aktivieren möchten, lesen Sie Konfigurieren der Webdienst-Ablaufverfolgung. Ablaufverfolgungsprotokolle werden in %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1 gespeichert.

Teil 3 : Testen der Verbindung des Benutzers/der Benutzerin mit der Website

  1. Laden Sie das Webbereitstellungstool auf einem Clientcomputer herunter, auf dem der IIS-Remote-Manager installiert ist, 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önnten.
  2. Testen Sie die Verbindung mit der Website des Benutzers/der Benutzerin mithilfe der Anmeldeinformationen, die Sie für den/die Benutzer*in erstellt haben:
    a. Öffnen Sie den IIS-Manager.
    b. Klicken Sie mit der rechten Maustaste auf den KnotenStartseite.
    c. Wählen Sie Mit einer Site verbinden aus... (Hinweis: nicht Verbindung mit einem Server auswählen)
    d. Geben Sie im Textfeld Servernamelocalhost ein.
    e. Geben Sie im Textfeld Websitename den Namen der Website des Benutzers/der Benutzerin ein, den/die Sie für die Remoteverwaltung aktiviert haben.
    f. Klicken Sie auf Weiter.
    g. Geben Sie im Textfeld Benutzername den/die Benutzer*in ein, den/die Sie für die Website autorisiert haben.
    h. Geben Sie im Textfeld Kennwort das Kennwort des Benutzers/der Benutzerin 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).
  3. Erstellen Sie ein kurzes 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 durch alle Bildschirme, um die Standardwerte zu akzeptieren und ein Paket zu erstellen.
  4. 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. Klicken Sie auf Weiter. c. Ändern Sie auf der Seite Parameter den Anwendungsnamen auf einen, der in der Website noch nicht vorhanden ist, um zu überprüfen, ob der/die Benutzer*in Anwendungen erstellen kann.
    d. Schließen Sie den Assistenten ab.
  5. 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önnten:

Der/die Benutzer*in erhält „401 nicht autorisierte Fehler“ 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/die Benutzer*in keinen Zugriff auf die Website hat.
  • Lösung(en): Überprüfen Sie den Benutzernamen/das Kennwort, und ob der/die Benutzer*in Zugriff auf die Website hat.

Der/die Benutzer*in 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 der Bereitstellungsregeln. Da der/die Benutzer*in erfolgreich eine Verbindung hergestellt hat, handelt es sich nicht um ein Problem mit WMSVC. Eine Bereitstellungsregel verfügt möglicherweise über einen Tippfehler, der/die Benutzer*in, der/die 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\w3svc1 und schauen Sie sich an, 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/die Benutzer*in hat versucht, einen Anbieter hinzuzufügen, den er/sie nicht hinzufügen darf.
    • Ein weiterer häufiger Fehler ist, wenn der/die RunAs-Benutzer*in, der/die 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 verweigert-Fehler auftreten kann.

Zusammenfassung

In diesem Handbuch wird gezeigt, wie Sie den WMSVC und den Bereitstellungshandler konfigurieren, damit Benutzer*innen ihre Webanwendungen verwalten können, und die Schritte zur Verwendung des IIS-Managers zum Erstellen und Installieren eines Pakets, um zu überprüfen, ob die Delegierungsregeln funktionieren.