Konfigurieren von IIS 7 für die Websynchronisierung
Die Vorgehensweisen in diesem Thema führen Sie durch den Prozess zum manuellen Konfigurieren von Microsoft Internetinformationsdienste (IIS) Version 7 zur Verwendung mit der Websynchronisierung für die Mergereplikation. Die manuelle Konfiguration ist erforderlich, da der Assistent zum Konfigurieren der Websynchronisierung unter IIS 7.0 nicht unterstützt wird. (Dieses Thema gilt auch für IIS 8.0.)
Das Konfigurieren von IIS 7 ist der erste von drei Schritten, die zum Aktivieren der Websynchronisierung erforderlich sind.
Eine Übersicht über den gesamten Konfigurationsprozess bietet Konfigurieren der Websynchronisierung.
Wichtig |
---|
Stellen Sie sicher, dass in Ihrer Anwendung nur .NET Framework 2.0 oder höhere Versionen verwendet werden und dass keine früheren Versionen von .NET Framework auf dem IIS-Server installiert sind. Frühere Versionen von .NET Framework können Fehler verursachen wie: "Das Format einer Meldung war während der Websynchronisierung ungültig. Stellen Sie sicher, dass die Replikationskomponenten auf dem Webserver ordnungsgemäß konfiguriert sind." |
Zur Verwendung der Websynchronisierung müssen Sie IIS 7 mithilfe der folgenden Schritte konfigurieren. Jeder Schritt wird in diesem Thema im Detail beschrieben.
Installieren und konfigurieren Sie die Microsoft SQL Server-Replikationsüberwachung auf dem Computer mit IIS.
Konfigurieren Sie SSL (Secure Sockets Layer). SSL wird für die Kommunikation zwischen IIS und allen Abonnenten benötigt.
Konfigurieren Sie die IIS-Authentifizierung.
Konfigurieren Sie ein Konto, und legen Sie Berechtigungen für die SQL Server-Replikationsüberwachung fest.
Installieren der SQL Server-Replikationsüberwachung
So installieren und konfigurieren Sie die SQL Server-Replikationsüberwachung
Erstellen Sie ein neues Dateiverzeichnis für die Datei replisapi.dll auf dem Computer mit IIS. Dieses Verzeichnis kann an einem beliebigen Ort erstellt werden, es wird jedoch die Erstellung im Verzeichnis <drive>:\Inetpub empfohlen. Erstellen Sie z. B. das Verzeichnis <drive>:\Inetpub\SQLReplication\.
Kopieren Sie die Datei replisapi.dll aus dem Verzeichnis <Laufwerk>:\Programme\Microsoft SQL Server\110\ \com\ in das Dateiverzeichnis, das Sie in Schritt 1 erstellt haben.
Registrieren Sie replisapi.dll:
Klicken Sie auf Start und dann auf Ausführen. Geben Sie cmd im Feld Öffnen ein, und klicken Sie dann auf OK.
Führen Sie in dem in Schritt 1 erstellten Verzeichnis den folgenden Befehl aus:
regsvr32 replisapi.dll
Erstellen Sie eine neue Website für die Replikation, oder verwenden Sie eine bereits vorhandene Website. Auf diese Website wird während der Synchronisierung von den Replikationskomponenten zugegriffen. Für die Vorgehensweisen in diesem Thema wird von der Standardwebsite ausgegangen. Weitere Informationen zum Erstellen von Websites finden Sie in der IIS-Dokumentation.
Erstellen Sie ein virtuelles Verzeichnis in IIS. Dieses virtuelle Verzeichnis sollte unter der Website angelegt werden, die Sie in Schritt 4 erstellt haben, und es sollte dem in Schritt 1 erstellten Verzeichnis zugeordnet werden. Gehen Sie bei der Zuweisung von Berechtigungen für dieses Verzeichnis möglichst restriktiv vor. Sie müssen mindestens die Berechtigungen Lesen und Ausführen auswählen.
Klicken Sie im Internetinformationsdienste-Manager im Bereich Verbindungen mit der rechten Maustaste auf Standardwebsite, und wählen Sie dann Virtuelles Verzeichnis hinzufügen aus.
Geben Sie SQLReplication für Alias ein.
Geben Sie <Laufwerk>:\Inetpub\SQLReplication\ für Physischer Pfad ein, und klicken Sie dann auf OK.
Konfigurieren Sie IIS für die Ausführung von replisapi.dll.
Klicken Sie im Internetinformationsdienste-Manager auf Standardwebsite.
Klicken Sie im mittleren Bereich auf Handlerzuordnungen.
Klicken Sie im Bereich Aktionen auf Modulzuordnung hinzufügen.
Geben Sie replisapi.dll für Anforderungspfad ein.
Wählen Sie in der Dropdownliste Modul die Option IsapiModule aus.
Geben Sie <Laufwerk>:\Inetpub\SQLReplication\replisapi.dll für Ausführbare Datei ein.
Geben Sie Replisapi für Name ein.
Klicken Sie auf die Schaltfläche Einschränkungen, auf die Registerkarte Zugriff und anschließend auf Ausführen.
Klicken Sie auf OK, um das Dialogfeld Einschränkungen zu schließen, und klicken Sie dann erneut auf OK, um das Dialogfeld Modulzuordnung hinzufügen zu schließen. Wenn Sie aufgefordert werden, die ISAPI-Erweiterung zuzulassen, klicken Sie auf Ja, um die Erweiterung hinzuzufügen.
Überprüfen Sie, ob Replisapi.dll unter den Handlerzuordnungen Aktiviert aufgeführt wird. Befindet sich die Datei in der Liste Deaktiviert, klicken Sie mit der rechten Maustaste auf den Eintrag "Replisapi" und dann auf Funktionsberechtigungen bearbeiten. Aktivieren Sie das Kontrollkästchen Ausführen, und klicken Sie auf OK.
Konfigurieren der IIS-Authentifizierung
Wenn Abonnentencomputer eine Verbindung mit IIS herstellen, muss IIS die Abonnenten authentifizieren, damit sie auf Ressourcen und Prozesse zugreifen können. Die Authentifizierung kann sowohl auf die gesamte Website als auch nur auf das von Ihnen erstellte virtuelle Verzeichnis angewendet werden.
Sie sollten die Standardauthentifizierung mit SSL verwenden. SSL ist in jedem Fall und unabhängig vom verwendeten Authentifizierungstyp erforderlich.
Sie sollten die Standardauthentifizierung mit SSL verwenden. SSL ist in jedem Fall und unabhängig vom verwendeten Authentifizierungstyp erforderlich.
So konfigurieren Sie die IIS-Authentifizierung
Klicken Sie im Internetinformationsdienste-Manager auf Standardwebsite.
Doppelklicken Sie im mittleren Bereich auf Authentifizierung.
Klicken Sie mit der rechten Maustaste auf "Anonyme Authentifizierung", und wählen Sie dann "Deaktivieren" aus.
Klicken Sie mit der rechten Maustaste auf "Standardauthentifizierung", und wählen Sie dann "Aktivieren" aus.
Konfigurieren von SSL (Secure Sockets Layer)
Geben Sie zum Konfigurieren von SSL ein Zertifikat an, das der Computer mit IIS verwenden soll. Die Websynchronisierung für die Mergereplikation unterstützt lediglich Serverzertifikate, nicht aber Clientzertifikate. Zum Konfigurieren von IIS für die Bereitstellung müssen Sie zunächst ein Zertifikat von einer Zertifizierungsstelle erwerben. Weitere Informationen zu Zertifikaten finden Sie in der IIS-Dokumentation.
Nach dem Installieren des Zertifikats müssen Sie dieses Zertifikat der für die Websynchronisierung verwendeten Website zuordnen. Zum Entwickeln und Testen können Sie ein selbstsigniertes Zertifikat angeben. Sie können von IIS 7 ein Zertifikat erstellen und auf dem Computer registrieren lassen.
Der Unterschied zwischen dem Bereitstellen für die Produktion und den hier angeführten Vorgehensweisen besteht darin, dass Sie bei der Produktion und Vorproduktionstests ein von einer Zertifizierungsstelle ausgestelltes Zertifikat statt eines selbstsignierten Zertifikats verwenden würden.
Wichtig |
---|
Ein selbstsigniertes Zertifikat wird für eine Produktionsinstallation nicht empfohlen. Selbstsignierte Zertifikate sind nicht sicher. Verwenden Sie selbstsignierte Zertifikate nur zum Entwickeln und Testen. |
Führen Sie zum Konfigurieren von SSL die folgenden Schritte aus:
Konfigurieren Sie die Website so, dass sie SSL erfordert und Clientzertifikate ignoriert.
Rufen Sie ein Zertifikat von einer Zertifizierungsstelle ab, oder erstellen Sie ein selbstsigniertes Zertifikat.
Binden Sie das Zertifikat an die Replikationswebsite.
So erfordern Sie SSL-Sicherheit für eine Website
Erweitern Sie im Internetinformationsdienste-Manager den Knoten für den lokalen Server, und klicken Sie dann auf die Standardwebsite (oder die Websynchronisierungswebsite, wenn sie sich von der Standardwebsite unterscheidet).
Doppelklicken Sie im mittleren Bereich auf SSL-Einstellungen.
Aktivieren Sie die Option SSL erforderlich. Überprüfen Sie unter Clientzertifikate, dass die Schaltfläche Ignorieren ausgewählt ist.
So erstellen Sie ein selbstsigniertes Zertifikat für Tests
Klicken Sie im Internetinformationsdienste-Manager auf den Knoten für den lokalen Server, und doppelklicken Sie dann im mittleren Bereich auf Serverzertifikate.
Klicken Sie im Bereich Aktionen auf Selbstsigniertes Zertifikat erstellen.
Geben Sie im Dialogfeld Selbstsigniertes Zertifikat erstellen einen Namen für das Zertifikat ein, und klicken Sie dann auf OK.
So binden Sie ein Zertifikat an eine Website
Klicken Sie im Bereich Verbindungen auf die Standardwebsite (oder die Websynchronisierungswebsite, wenn sie sich von der Standardwebsite unterscheidet).
Klicken Sie im Bereich Aktionen auf Bindungen und dann auf Hinzufügen. Das Dialogfeld Sitebindung hinzufügen wird geöffnet.
Wählen Sie in der Dropdownliste Typ die Option https aus. Behalten Sie die Standardeinstellungen für IP-Adresse und Port bei.
Wählen Sie in der Dropdownliste SSL-Zertifikat das unter "So erstellen Sie ein selbstsigniertes Zertifikat für Tests" erstellte Zertifikat, klicken Sie auf OK und dann auf Schließen.
So testen Sie das Zertifikat
Klicken Sie im Internetinformationsdienste-Manager auf Standardwebsite.
Klicken Sie im Bereich Aktionen auf *:443(https) durchsuchen.
Internet Explorer wird geöffnet und zeigt folgende Meldung an: "Es besteht ein Problem mit dem Sicherheitszertifikat der Website". Diese Warnung besagt, dass das zugeordnete Zertifikat nicht von einer bekannten Zertifizierungsstelle ausgestellt wurde und möglicherweise nicht vertrauenswürdig ist. Dies ist eine erwartete Warnung, klicken Sie deshalb auf Laden dieser Website fortsetzen (nicht empfohlen).
Wenn die Aufforderung Mit Localhost verbinden angezeigt wird, geben Sie einen Benutzernamen und ein Kennwort ein, um fortzufahren. Die Standardseite für die Website sollte angezeigt werden.
Festlegen von Berechtigungen für die SQL Server-Replikationsüberwachung
Wenn ein Abonnentencomputer eine Verbindung zum Computer mit IIS herstellt, wird der Abonnent mithilfe der Authentifizierungsart authentifiziert, die bei der Konfiguration von IIS angegeben wurde. Nach dem Authentifizieren des Abonnenten durch IIS prüft IIS, ob der Abonnent berechtigt ist, die SQL Server-Replikation aufzurufen. Welche Benutzer die SQL Server-Replikation aufrufen dürfen, legen Sie mit den Berechtigungen für replisapi.dll fest. Die ordnungsgemäße Konfiguration der Berechtigungen ist notwendig, damit kein unberechtigter Zugriff auf die SQL Server-Replikation erfolgt.
Führen Sie die folgenden Schritte aus, um die minimalen Berechtigungen für das Konto, unter dem die SQL Server-Replikationsüberwachung ausgeführt wird, zu konfigurieren. Die Schritte in der folgenden Vorgehensweise gelten für Microsoft Windows Server 2008 mit IIS 7.0.
Führen Sie die unten genannten Schritte aus, und stellen Sie zusätzlich sicher, dass die Veröffentlichungszugriffsliste die erforderlichen Anmeldenamen enthält. Weitere Informationen zur Veröffentlichungszugriffsliste finden Sie unter Sichern des Verlegers.
Wichtig Das in diesem Abschnitt erstellte Konto ist das Konto, das während der Synchronisierung eine Verbindung mit dem Verleger und dem Verteiler herstellt. Dieses Konto muss als SQL-Anmeldekonto auf dem Verteilungs- und Veröffentlichungsserver hinzugefügt werden.
Das für die SQL Server-Replikationsüberwachung verwendete Konto muss über die im Thema "Sicherheit für den Merge-Agent" im Abschnitt "Herstellen einer Verbindung mit dem Verleger oder dem Verteiler" beschriebenen Berechtigungen verfügen.
Zusammengefasst muss das Konto folgende Bedingungen erfüllen:
Es muss Mitglied der Veröffentlichungszugriffsliste (PAL) sein.
Es muss einer mit einem Benutzer in der Veröffentlichungsdatenbank verknüpften Anmeldung zugeordnet sein.
Es muss einer mit einem Benutzer in der Verteilungsdatenbank verknüpften Anmeldung zugeordnet sein.
Es muss über Leseberechtigungen für die Momentaufnahmefreigabe verfügen.
So konfigurieren Sie das Konto und die Berechtigungen
Erstellen Sie ein lokales Konto auf dem Computer mit IIS:
Öffnen Sie Server-Manager. Klicken Sie im Startmenü mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie dann auf Verwalten.
Erweitern Sie in Server-Manager den Knoten Konfiguration, und erweitern Sie dann Lokale Benutzer und Gruppen.
Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.
Geben Sie einen Benutzernamen und ein sicheres Kennwort ein. Deaktivieren Sie die Option Benutzer muss Kennwort bei der nächsten Anmeldung ändern.
Klicken Sie auf Erstellen und dann auf Schließen.
Fügen Sie das Konto der IIS_IUSRS-Gruppe hinzu:
Erweitern Sie in Server-Manager den Knoten Konfiguration, erweitern Sie Lokale Benutzer und Gruppen, und klicken Sie dann auf Gruppen.
Klicken Sie mit der rechten Maustaste auf IIS_IUSRS, und klicken Sie dann auf Zur Gruppe hinzufügen.
Klicken Sie im Dialogfeld Eigenschaften von IIS_IUSRS auf Hinzufügen.
Fügen Sie im Dialogfeld Benutzer, Computer oder Gruppen auswählen das in Schritt 1 erstellte Konto hinzu.
Stellen Sie sicher, dass unter Suchpfad der Name des lokalen Computers und nicht eine Domäne angezeigt wird. Wenn der Name des lokalen Computers in diesem Feld nicht anzeigt wird, klicken Sie auf Speicherorte. Wählen Sie im Dialogfeld Speicherorte den lokalen Computer aus, und klicken Sie dann auf OK.
Klicken Sie in den Dialogfeldern Benutzer, Computer oder Gruppen auswählen und Eigenschaften von IIS_IUSRS jeweils auf OK.
Gewähren Sie die mindestens erforderlichen Kontoberechtigungen für den Ordner, der die Datei replisapi.dll enthält:
Klicken Sie in Windows Explorer mit der rechten Maustaste auf den Ordner, den Sie für die Datei replisapi.dll erstellt haben, und klicken Sie dann auf Eigenschaften.
Klicken Sie auf der Registerkarte Sicherheit auf Bearbeiten.
Klicken Sie im Dialogfeld Berechtigungen für <foldername> auf Hinzufügen, um das in Schritt 1 erstellte Konto hinzuzufügen.
Stellen Sie sicher, dass unter Suchpfad der Name des lokalen Computers und nicht eine Domäne angezeigt wird. Wenn der Name des lokalen Computers in diesem Feld nicht anzeigt wird, klicken Sie auf Speicherorte. Wählen Sie im Dialogfeld Speicherorte den lokalen Computer aus, und klicken Sie dann auf OK.
Stellen Sie sicher, dass dem Konto nur die Berechtigungen Lesen, Lesen & Ausführen und Ordnerinhalt auflisten erteilt werden.
Wählen Sie alle Benutzer oder Gruppen aus, die keinen Zugriff auf das Verzeichnis benötigen, klicken Sie auf Entfernen, und klicken Sie dann auf OK.
Erstellen Sie im Internetinformationsdienste-Manager einen Anwendungspool:
Erweitern Sie im Internetinformationsdienste-Manager im Bereich Verbindungen den Knoten für den lokalen Server.
Klicken Sie mit der rechten Maustaste auf Anwendungspools, und klicken Sie dann auf Anwendungspool hinzufügen.
Geben Sie einen Namen für den Anwendungspool ein, behalten Sie die Standardwerte für die verbleibenden Felder bei, und klicken Sie dann auf OK.
Hinweis Wenn Sie mehr als zwei gleichzeitige Synchronisierungsclients erwarten, sollten Sie einen Webgarten erstellen. Weitere Informationen finden Sie unter "Erstellen eines Webgartens" in Konfigurieren der Websynchronisierung.
Ordnen Sie das Konto dem Anwendungspool zu:
Erweitern Sie im Internetinformationsdienste-Manager den Knoten für den lokalen Server, und klicken Sie dann auf Anwendungspools.
Klicken Sie mit der rechten Maustaste auf den von Ihnen erstellten Anwendungspool, und klicken Sie dann auf Anwendungspoolstandardwerte festlegen.
Führen Sie im Dialogfeld Anwendungspoolstandardwerte einen Bildlauf nach unten zum Abschnitt Prozessmodell durch, und klicken Sie dann auf das Feld Identität.
Klicken Sie auf der rechten Seite der Zeile Identität auf die Schaltfläche mit den Auslassungspunkten.
Klicken Sie auf das Optionsfeld Benutzerdefiniertes Konto und dann auf Festlegen.
Geben Sie in den Feldern Benutzername und Kennwort das Konto und das Kennwort aus Schritt 1 ein, und klicken Sie anschließend auf OK.
Klicken Sie auf OK, um das Dialogfeld Identität des Anwendungspools zu schließen, und klicken Sie dann erneut auf OK, um das Dialogfeld Anwendungspoolstandardwerte zu schließen.
Ordnen Sie den Anwendungspool der Replikationswebsite zu:
Erweitern Sie im Internetinformationsdienste-Manager den Knoten für den lokalen Server, und klicken Sie dann auf die Standardwebsite (oder die Websynchronisierungswebsite, wenn sie sich von der Standardwebsite unterscheidet).
Klicken Sie im Bereich Aktionen unter Website verwalten auf Erweiterte Einstellungen.
Klicken Sie im Dialogfeld Erweiterte Einstellungen rechts von Anwendungspool auf die Schaltfläche mit den Auslassungspunkten.
Wählen Sie in der Dropdownliste Anwendungspool den Anwendungspool aus Schritt 4 aus, und klicken Sie dann auf OK.
Klicken Sie erneut auf OK, um die erweiterten Einstellungen zu schließen.
Testen der Verbindung mit replisapi.dll
Führen Sie die Websynchronisierung im Diagnosemodus aus, um die Verbindung mit dem Computer mit IIS zu testen und um sicherzustellen, dass das SSL-Zertifikat (Secure Sockets Layer) ordnungsgemäß installiert ist. Wenn Sie die Websynchronisierung im Diagnosemodus ausführen möchten, müssen Sie auf dem Computer mit IIS als Administrator angemeldet sein.
So testen Sie die Verbindung mit replisapi.dll
Stellen Sie sicher, dass die Netzwerkeinstellungen auf dem Abonnenten ordnungsgemäß eingerichtet wurden:
Klicken Sie in Microsoft Internet Explorer im Menü Extras auf Internetoptionen.
Klicken Sie auf der Registerkarte Verbindungen auf Einstellungen.
Wenn im lokalen Netzwerk kein Proxyserver verwendet wird, deaktivieren Sie die Optionen Automatische Suche der Einstellungen und Proxyserver für LAN verwenden.
Wird ein Proxyserver verwendet, klicken Sie auf Proxyserver für LAN verwenden und Proxyserver für lokale Adressen umgehen und dann auf OK.
Stellen Sie auf dem Abonnenten in Internet Explorer eine Verbindung mit dem Server im Diagnosemodus her, indem Sie an die Adresse für replisapi.dll ?diag anhängen. Beispiel: https://server.domain.com/directory/replisapi.dll?diag.
Hinweis Im oben aufgeführten Beispiel sollte server.domain.com durch den im Abschnitt Serverzertifikate in IIS-Manager aufgeführten genauen Ausgestellt an-Namen ersetzt werden.
Wenn das für IIS angegebene Zertifikat nicht vom Windows-Betriebssystem erkannt wird, wird das Dialogfeld Sicherheitswarnung angezeigt. Dieser Hinweis wird möglicherweise angezeigt, weil das Zertifikat ein Testzertifikat ist oder es von einer Zertifizierungsstelle ausgestellt wurde, die von Windows nicht erkannt wird.
Hinweis Wenn dieses Dialogfeld nicht angezeigt wird, stellen Sie sicher, dass das Zertifikat für den Server, auf den Sie zugreifen, dem Zertifikatsspeicher auf dem Abonnenten als vertrauenswürdiges Zertifikat hinzugefügt wurde. Weitere Informationen zum Exportieren von Zertifikaten finden Sie in der IIS-Dokumentation.
Klicken Sie im Dialogfeld Sicherheitshinweis auf Zertifikat anzeigen.
Klicken Sie auf der Registerkarte Allgemein des Dialogfelds Zertifikat auf Zertifikat installieren.
Schließen Sie den Zertifikatimport-Assistenten ab, und übernehmen Sie dabei die Standardwerte.
Klicken Sie im Dialogfeld Sicherheitswarnung auf Ja.
Klicken Sie im Bestätigungsdialogfeld des Zertifikatimport-Assistenten auf OK.
Schließen Sie das Dialogfeld Zertifikat.
Klicken Sie im Dialogfeld Sicherheitshinweis auf Ja.
Hinweis Die Zertifikate werden für die Benutzer installiert. Dieser Prozess muss für jeden Benutzer ausgeführt werden, der mit IIS synchronisiert werden soll.
Geben Sie im Dialogfeld Verbindung mit <ServerName> herstellen den Anmeldenamen und das Kennwort an, den bzw. das der Merge-Agent zum Herstellen der Verbindung mit dem IIS verwenden soll. Diese Anmeldeinformationen werden auch im Assistenten für neue Abonnements angegeben.
Überprüfen Sie im Internet Explorer-Fenster mitDiagnoseinformationen zur SQL-Websynchronisierung, ob der Wert in jeder Status-Spalte der Seite Erfolg lautet.
Stellen Sie sicher, dass das Zertifikat ordnungsgemäß auf dem Abonnenten installiert ist:
Schließen Sie Internet Explorer, und öffnen Sie das Programm anschließend erneut.
Stellen Sie eine Verbindung mit dem Server im Diagnosemodus her. Wenn das Zertifikat ordnungsgemäß installiert ist, wird das Dialogfeld Sicherheitshinweis nicht angezeigt. Wenn das Dialogfeld angezeigt wird, ist der Merge-Agent nicht in der Lage, eine Verbindung mit dem Computer mit IIS herzustellen. Sie müssen daher sicherstellen, dass das Zertifikat für den Server, auf den Sie zugreifen, dem Zertifikatsspeicher auf dem Abonnenten als vertrauenswürdiges Zertifikat hinzugefügt wurde. Weitere Informationen zum Exportieren von Zertifikaten finden Sie in der IIS-Dokumentation.