2008-08-20 17 views
8

Ich habe eine VisualSVN Server auf einem Windows-Server installiert, der mehrere Repositories dient.WebSVN mit VisualSVN Server, hat jeder Authentifizierung zu arbeiten?

Da der in den VisualSVN-Server integrierte Web-Viewer ein minimalistischer Subversion-Browser ist, möchte ich WebSVN auf meinen Repositorys installieren.

Das Problem ist jedoch, dass ich nicht scheinen kann, Authentifizierung zu arbeiten. Im Idealfall möchte ich, dass meine aktuelle Repository-Authentifizierung, wie in VisualSVN angegeben, mit WebSVN funktioniert, so dass ich zwar alle Repository-Namen in WebSVN sehen kann, aber nicht ohne die richtigen Anmeldeinformationen.

Durch den Besuch der zwischengespeicherten Kopie des obersten Links auf this google query können Sie sehen, was ich bis jetzt gefunden habe, die vielversprechend aussieht.
(die Haupt-Blog-Seite scheint zerstört worden zu sein, Domäne der obersten Seite Ich beziehe mich ist the-wizzard.de)

Dort fand ich einige PHP-Funktionen, die ich auf einen der PHP-Dateien heften könnte in WebSVN. Ich folgte den Änderungen dort, aber alles, was ich geschafft habe, war WebSVN fragen mich nach einem Benutzernamen und Passwort und egal was ich eingegeben habe, wird es mich nicht reinlassen.

Leider ist PHP und Apache weitgehend schwarze Magie mir.

Also, hat jemand erfolgreich WebSVN mit VisualSVN gehosteten Repositories integriert?

Antwort

3

Ich benutze VisualSVN Server und ich habe gerade Trac installiert. Mein Ziel war es, einen besseren webbasierten Repository-Browser zu bekommen, und Trac ist definitiv einer der besseren, die ich für Subversion gesehen habe. Gehe zu http://www.visualsvn.com/server/trac/ Installation ist wirklich ziemlich einfach. Ja, Trac hat ein Ticket-Tracking und ein Wiki-System, nach dem Sie vielleicht nicht suchen, aber das Repository und der Log-Browser verkaufen es für mich.

Jetzt habe ich festgestellt, dass es möglich ist, die Wiki und Ticket-Tracking-Systeme zu deaktivieren, die mit Trac kommen durch einfach

[components] 
trac.ticket.* = disabled 
trac.wiki.* = disabled 

bis zum Ende der trac.ini Konfigurationsdatei angehängt wird. Dies führt dazu, dass die Startseite des Wikis einen Fehler erzeugt, dass das Wiki-Modul nicht gefunden werden kann. Daher müssen Sie Trac so einrichten, dass es beim Start entweder mit der Zeitleiste (Protokollansicht) oder dem Repository Browser geöffnet wird, indem Sie die trac.ini erneut bearbeiten folgende unter der [trac] Überschrift:

für die Protokolltimeline als Standard

default_handler = TimelineModule 

für das Repository-Browser als Standard

default_handler = BrowserModule 
+0

„Trac-Plug-In nur für veraltete Versionen von VisualSVN Server verfügbar ist und derzeit haben wir Pläne nicht die Plug-in aktualisieren in regelmäßigen Abständen "--- Funktioniert es mit der neuesten Version von VisualSVN? – gbjbaanb

+0

Ich benutze VisualSVN Server v 1.6.3, was ich verstehe, ist die neueste Version von VisualSVN Server. Das Trac-Plugin funktioniert zu diesem Zeitpunkt noch immer wie erwartet. Ich sollte jedoch darauf hinweisen, dass einige der Trac-Setup-Schritte beim Upgrade des VisualSVN-Servers selbst wiederholt werden müssen. –

+0

Ich bin entmutigt von der Tatsache, dass VisualSVN nicht vorhat, seine Bemühungen mit dem Trac-Plugin fortzusetzen, es erwies sich als ein sehr nützliches Werkzeug zur Erweiterung der Zugänglichkeit des Repositories (der WebSpezial-Browser des Standard-VisualSVN-Servers ist viel zu begrenzt) –

0

ich die autho bin r des Artikels, den Sie erwähnt haben. Die Informationen, die ich veröffentlichte, waren nur für WebSVN gedacht, das auf IIS läuft. Es ist mein Verständnis, dass die Software "nur funktionieren" sollte, wenn Sie PHP auf Apache verwenden, obwohl ich es nie in dieser Umgebung eingerichtet habe. Haben Sie versucht, ein "Echo" -Debugging (für den Mangel eines besseren Begriffs) zu machen, um zu sehen, wo genau die Authentifizierung fehlschlägt?

7

Ich habe WebSVN-Authentifizierung mit VisualSVN-Server arbeiten, wenn auch mit einer Menge von Hacking/Versuch-Fehler Anpassung meiner eigenen.

Hier ist, wie ich es tat:

  1. Wenn Sie nicht bereits haben, installieren Sie PHP manuell durch die Zip-Datei herunterladen und die Online-PHP-Handbuch gehen durch Anweisungen installieren. Ich installierte PHP in C: \ PHP

  2. den websvn Ordner C extrahieren: \ Programme \ VisualSVN Server \ htdocs \

  3. die Schritte Gehen Sie durch das websvn Verzeichnis konfigurieren, dh umbenennen configdist.php zu config usw. Meine Repositories befanden sich in C: \ SVNRepositories. Um die Authentifizierungsdatei zu konfigurieren, setzte ich die Zeile config.php so: $ config-> useAuthenticationFile ('C:/SVNRepositories/authz'); // Globale Zugriffsdatei

  4. Fügen Sie den folgenden in C: \ Programme \ VisualSVN Server \ conf \ httpd-custom.conf:

 
# For PHP 5 do something like this: 
LoadModule php5_module "c:/php/php5apache2_2.dll" 
AddType application/x-httpd-php .php 


# configure the path to php.ini 
PHPIniDir "C:/php" 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

<Location /websvn/> 
    Options FollowSymLinks 
    AuthType Basic 
    AuthName "Subversion Repository" 
    Require valid-user 
    AuthUserFile "C:/SVNRepositories/htpasswd" 
    AuthzSVNAccessFile "C:/SVNRepositories/authz" 
    SVNListParentPath on 
    SVNParentPath "C:/SVNRepositories/" 
</Location> 

Das ist für mich gearbeitet, und websvn wird nur Zeigen Sie die Verzeichnisse an, die für einen bestimmten Benutzer autorisiert sind. Damit es richtig funktioniert, müssen Sie allen Benutzern Zugriff auf die Hauptstufe gewähren und dann den Zugriff auf bestimmte Unterverzeichnisse für bestimmte Benutzer deaktivieren. Zum Beispiel habe ich einen Benutzer, der keinen Zugriff auf die Hauptebene hat, aber Zugriff auf eine Unterebene hat. Leider kann diese Person in websvn nichts sehen, auch wenn sie direkt mit der Dateidetails.php für eine Datei verlinkt ist, die er sehen darf. In meinem Fall ist das keine große Sache, weil ich nicht will, dass er auf websvn zugreift, aber es ist etwas, was du wissen willst.

Auch dies legt den Server für eine SSL-Verbindung, also sobald Sie es eingerichtet haben, wird die Adresse sein und https: // Adresse, nicht die regelmäßige http: //.

+0

Danke, ich werde das heute Abend testen :) –

+1

Das ist großartig! Nur ein paar Hinweise auf Ihre Anweisungen. (1) Wahrscheinlich offensichtlich, aber Sie müssen den VisualSVN-Dienst neu starten, nachdem Sie die obigen Schritte ausgeführt haben. (2) Das https vs http hängt davon ab, ob VisualSVN für sicheren (https) Zugriff konfiguriert ist oder nicht. Wenn Sie es für die Standard-HTTP-Konfiguration konfiguriert haben, wirkt sich dies nicht darauf aus, dass Sie weiterhin über HTTP auf SVN und WebSVN zugreifen. Danke, das ist genau das, was ich gesucht habe. –

+0

Weitere Hinweise zu diesen Anweisungen: Ihr Abschnitt "Standort" muss möglicherweise etwas anders sein als der verwendete @ anthony-johnson, wenn Sie andere Authentifizierungseinstellungen verwenden. Kopieren Sie einfach den Abschnitt beginnend mit '' aus 'httpd.conf', und fügen Sie ihn in' httpd-custom.conf' (nach der Einbindung von Anthonys PHP-Konfigurationsabschnitt) ein und ersetzen Sie '/ svn /' durch '/websvn/'. Alles funktioniert gut! Randnotiz, wenn Sie einen Subversion-VisualSVN-WebSVN-Jenkins-Stack konfigurieren, müssen Sie wahrscheinlich auch [this] (http://stackoverflow.com/q/5564014/385094) wissen. – Boinst

1

Ich habe dies mit Windows-Authentifizierung (die eigentlich AuthType VisualSVN ist) arbeiten Der Trick ist, die Svn Auth auskommentieren und ersetzen Sie sie mit der gleichen Art von Auth-Text in der Haupt-Config-Datei gefunden. Danke an Anthony Johnson für die Ausarbeitung aller weiteren Details.

# For PHP 5 do something like this: 
LoadModule php5_module "F:/wamp/bin/php/php5.3.0/php5apache2_2.dll" 
AddType application/x-httpd-php .php 


# configure the path to php.ini 
PHPIniDir "f:/wamp/bin/php/php5.3.0/" 

<IfModule dir_module> 
    DirectoryIndex index.html index.php 
</IfModule> 

#Alias /websvn/ "F:/Program Files/VisualSVN Server/htdocs/websvn-2.3.1/" 

<Location /websvn-2.3.1/> 
    Options FollowSymLinks 

    AuthName "Subversion Repositories" 
    AuthType VisualSVN 
    AuthzVisualSVNAccessFile "F:/Repositories/authz-windows" 
    AuthnVisualSVNBasic on 
    AuthnVisualSVNIntegrated off 
    AuthnVisualSVNUPN Off 
    Require valid-user 


    SVNListParentPath on 
    SVNParentPath "f:/Repositories/" 
</Location> 
0

Wenn Sie einen Web-basierten Repository Browser suchen, die eine funktionsreichere als der Standard ist und Sie VisualSVN Server, aktualisieren Sie dann auf VisualSVN Server 3.2 oder höher.

VisualSVN Server has a rich web interface for Subversion repositories. Im Gegensatz zu WebSVN funktioniert der integrierte Web-Client von VisualSVN Server nicht und erfordert keinen Administrator, um Konfigurationsaufgaben auszuführen.

Sie können die Live-Demo sehen hier: http://demo-server.visualsvn.com/!/

Subversion web user interface in VisualSVN Server

Verwandte Themen