Mercurial für Microsoft IIS konfigurieren
Der Zugriff auf Mercurial-Repositories über Microsoft IIS hat die folgenden Vorteile:
IIS wird mit den meisten Windows-Verteilungen ausgeliefert und erfordert keine zusätzliche Installation.
Für einen zusätzlichen Port für den externen Zugriff ist kein Setup erforderlich.
Es ist kein Setup des SSH-Schlüssels erforderlich.
Auf dieser Seite wird beschrieben, wie Microsoft IIS zum Bereitstellen von Mercurial-Repositories eingerichtet wird.
Dieses Handbuch wurde für Windows Server 2003 erstellt. Die Schritte sind jedoch für andere Windows-Releases sehr ähnlich.
* 
Codebeamer muss installiert und gestartet werden, bevor diese Konfiguration verwendet werden kann.
* 
IIS unterstützt keine dateibasierte Authentifizierung, daher muss die Authentifizierung über LDAP erfolgen.
Mercurial und Python installieren
* 
Wählen Sie die 32-Bit-Version der unten genannten Software aus, auch wenn Sie 64-Bit-Windows ausführen.
Wenn IIS nicht aktiviert ist, gehen Sie zur Systemsteuerung, wählen Sie Hinzufügen/Entfernen aus, klicken Sie auf Windows-Komponenten hinzufügen/entfernen und aktivieren Sie Anwendungsserver.
Laden Sie Python 2.6.6 herunter und installieren Sie es über diese URL: http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi
Verwenden Sie C:\Python26 als Installationsverzeichnis.
Laden Sie die Mercurial-Laufzeit vom nachfolgenden Speicherort herunter. Beachten Sie, dass hiermit kein vollständiger Mercurial-Client installiert wird.
http://mercurial.selenic.com/release/windows/mercurial-1.7.1.win32-py2.6.exe
Installieren Sie die Laufzeit in das gleiche Verzeichnis, in dem Python installiert wurde (C:\Python26).
Laden Sie PyWin herunter, und installieren Sie es (auch in C:\Python26:PyWin).
Laden Sie den ISAPI-wsgi-Handler herunter, und installieren Sie ihn:
http://isapi-wsgi.googlecode.com/files/isapi_wsgi-0.4.2.win32.exe
Klonen Sie das Mercurial-Repository an einen temporären Speicherort. Sie können die mit Mercurial gelieferte ausführbare Datei von Mercurial verwenden:
CBHOME\libexec\hg\hg.exe clone http://selenic.com/repo/hg
(im Befehl ändern Sie CBHOME in das Installationsverzeichnis von Codebeamer).
Navigieren Sie zu dem Verzeichnis, in das Sie das Mercurial-Repository geklont haben. Kopieren Sie hg\contrib\win32\hgwebdir_wsgi.py nach CBHOME\repository.
Bearbeiten Sie diese Zeile beginnend mit hgweb_config in hgwebdir_wsgi.py, und ändern Sie den Pfad wie folgt: hgweb_config = r'CBHOME\repository\scmweb\hgweb_apache.config'
Navigieren Sie in der Befehlszeile zu CBHOME\repository, und führen Sie den folgenden Befehl aus:
C:\Python26\python.exe hgwebdir_wsgi.py
Dadurch wird die Datei _hgwebdir_wsgi.dll generiert, die IIS verwendet.
IIS für Mercurial konfigurieren
IIS-Manager starten: Start > Administrative Tools > Internet Information Services (IIS) Manager
Sie müssen einen neuen Anwendungspool namens Mercurial erstellen.
Klicken Sie dazu mit der rechten Maustaste auf Application Pools, und wählen Sie New > Application Pool aus. Geben Sie im Popup Mercurial als Name ein, und klicken Sie auf OK.
Erstellen Sie dann eine neue Website:
Klicken Sie im linken Baum mit der rechten Maustaste auf "Web Sites", und wählen Sie im Popup-Menü New > Web Site aus:
Folgen Sie den Schritten des Assistenten.
(stellen Sie an dieser Stelle sicher, dass Sie einen Port auswählen, der nicht verwendet wird)
Jetzt wird die Website erstellt. Klicken Sie mit der rechten Maustaste, und wählen Sie Properties. Klicken Sie auf die Registerkarte Home Directory stellen Sie den Anwendungs-Pool auf Mercurial ein:
Wechseln Sie zur Registerkarte Directory Security, klicken Sie auf Edit im Bereich Authentifizierung und Zugriffskontrolle. Deaktivieren Sie anonymen Zugriff, und aktivieren Sie die Standardauthentifizierung. Dadurch können Sie mit den auf dem Server konfigurierten Benutzern auf Repositories zugreifen.
Sie müssen eine neue Handler-Zuordnung erstellen, indem Sie die folgenden Schritte ausführen:
1. Klicken Sie mit der rechten Maustaste auf die neue Mercurial-Webseite im linken Baum.
2. Klicken Sie im Kontextmenü auf Properties.
3. Klicken Sie auf die Registerkarte Home Directory.
4. Klicken Sie auf Configure und wählen Sie dann die Registerkarte Mappings aus.
5. Klicken Sie auf Insert, und legen Sie im Feld Executable die zuvor erstellte Datei CBHOME/repository/_hgwebdir_wsgi.dll fest.
6. Löschen Sie die Option Verify that file exists.
7. Klicken Sie auf OK und dann auf Apply.
Der letzte wichtigste Schritt ist das Hinzufügen einer neuen Webdienst-Erweiterung:
1. Klicken Sie mit der rechten Maustaste auf Web Service Extensions im linken Baum, und wählen Sie Add a new Web Service Extension aus.
2. Geben Sie Mercurial WSGI shim als Namen ein, und klicken Sie auf Add.
3. Durchsuchen Sie im nächsten Fenster die zuvor erstellte _hgwebdir_wsgi.dll, und stellen Sie sicher, dass Sie das Kontrollkästchen Set extension status to Allowed aktivieren.
Starten Sie IIS neu. Sie können Ihre Mercurial-Repositories mit dieser URL durchsuchen:
http://localhost:PORT/hg
Wobei PORT die Port-Nummer ist, die Sie beim Erstellen der Mercurial-Webseite angegeben haben.
War dies hilfreich?