Verwendung von Subversion und Apache

7

Ich habe noch nie eine Art Quellcodeverwaltung verwendet, obwohl ich das Konzept verstehe. Worüber ich verwirrt bin (und vielleicht gerade nicht weiß), welchen Nutzen erziele ich und / oder warum sollte ich Subversion und Apache konfigurieren? Muss ich es mit Apache konfigurieren, um von anderen Computern über ein Netzwerk auf meine Repositories zugreifen zu können? Bitte zögern Sie nicht, weitere Details zur Verfügung zu stellen, die Sie für relevant halten?

Mein Setup ist jetzt ein Laptop (Windows XP Pro) und eine virtuelle Maschine (Windows XP Pro). Auf meiner virtuellen Maschine habe ich Apache 2.2, MySQL 5 und PHP 5. Dieses Setup ist mein Hauptanliegen, obwohl ich froh bin, Beispiele / Situationen zu hören, die von meinem Szenario abweichen.

    
Ryan Rodemoyer 29.10.2008, 19:52
quelle

9 Antworten

2

Es ist nicht notwendig, Subversion mit Apache einzurichten. Ich habe Subversion seit Jahren verwendet und musste dies nie tun (obwohl es Gründe gibt, warum Sie das tun würden, hauptsächlich mit der Authentifizierungsinfrastruktur). Da Sie in einer Windows-Welt sind, habe ich gesehen, dass VisualSVN-Server dringend empfohlen wird und einfach einzurichten und einfach ist geh.

    
Greg Hewgill 29.10.2008, 19:54
quelle
7

Sehen Sie sich den SVNBook Eintrag: Auswählen einer Serverkonfiguration an . Es spricht über die Vor- und Nachteile der verschiedenen Arten des Zugriffs auf einen Subversion-Server.

Das SVN-Protokoll ist am einfachsten einzurichten und zu verwalten, funktioniert aber wahrscheinlich nicht über Unternehmensfirewalls hinweg (Apache wird jedoch über HTTP funktionieren).

    
crashmstr 29.10.2008 19:58
quelle
3

Es kann nützlich sein, wenn der Port 3690 geschlossen werden muss. Außerdem können Benutzer den Code mithilfe eines Browsers durchsuchen, was Vor- und Nachteile hat. Sie brauchen keinen Subversion-Client, um den Code zu sehen, aber ein Web-Browser macht einen kläglichen Repository-Browser.

Die Einrichtung ist nicht allzu schwierig. Ich fand diese Seite nützlich .

Aber wenn Sie es nur in einer lokalen VM-Umgebung verwenden, wäre svnserve für Sie in Ordnung.

    
swilliams 29.10.2008 19:59
quelle
3

Der Vorteil, Ihr SVN-Repository über Apache zu hosten, kommt ins Spiel, wenn Sie ACLs in Ihrem Repository haben wollen.

Sie können die Standardauthentifizierung konfigurieren und die Berechtigungen für ein Verzeichnis pro Verzeichnis (oder pro Datei, wenn Sie dies wünschen) einschränken. Beispielsweise können Sie das Repository so konfigurieren, dass es das Auschecken von Gästen zulässt. Für das Schreiben in das Repository ist jedoch ein bestimmter gültiger Benutzer erforderlich.

Ein Ergebnis der Verwendung von Apache zur Authentifizierung Ihrer Benutzer bedeutet, dass Sie Ihre Benutzer nicht in einem .htpasswd definieren müssen. Apache kann sich in LDAP einklinken, fast jeden Typ von SQL-Server oder sogar Kerberos-Authentifizierung.

Die Verwendung der vereinfachten svnserve kann durchaus ausreichen. Feingranulare Berechtigungen können jedoch nicht angewendet werden, und Sie können sich nicht in einer anderen Benutzerdatenbank für die Authentifizierung einklinken.

Aber aus Ihrer Beschreibung können alle oben genannten Dinge übertrieben sein. Die Vorteile, die Apache bietet, sind für einen einzelnen Benutzer größtenteils nutzlos und sind den Aufwand nicht wert.

    
Kyle Brantley 16.02.2009 06:32
quelle
2

Die Situation, an die Sie denken, ist, wenn Sie das WebDAV-Protokoll verwenden möchten, um auf Ihr SVN-Repository zuzugreifen. In diesem Fall erlauben Sie Apache im Grunde, den Dateizugriff als Vermittler zum SVN selbst zu handhaben (keine direkten Verbindungen zum Repository).

Ich habe gehört, das funktioniert ziemlich gut, aber es gibt mehrere Alternativen. Sieh dir das SVN Buch (check Google) für einen Startpunkt an.

    
Dana the Sane 29.10.2008 19:56
quelle
1

Wir verwenden Subversion in einem kleinen Team (6 Personen) mit dem Visual SVN Repository. Anfangs hatten wir keinen Apache-Webserver, nur IIS, aber jetzt führen wir auch Apache aus, aber es gibt keinen zwingenden Grund, Apache für das Repository zu verwenden.

    
Ken Ray 29.10.2008 20:14
quelle
1

Wenn Sie Apache verwenden, können Sie über WebDAV auf Ihr Repository zugreifen, dh über HTTP auf einem Standard-Port. So können Sie beispielsweise auf Ihr Repository hinter der korporativen Firewall zugreifen / veröffentlichen, die den svnserve -Port nicht zulässt.

    
PW. 29.10.2008 19:58
quelle
1

SVN kann ein Client-Server-System sein, wenn Sie Ihren Code mit anderen Personen teilen möchten. Wenn Sie jedoch an Ihrem Code alleine arbeiten möchten (sogar von mehreren Computern aus!), Benötigen Sie keinen any Server!

Sie können das file: // - Protokoll in fast alle SVN-Clients und ein lokales SVN-Repository einbauen.

Ihr SVN-Repository kann auch von einer Netzwerkfreigabe aus arbeiten. Sie sollten diesen Ansatz jedoch nur dann verwenden, wenn Sie alleine daran arbeiten!     

Peter Parker 29.10.2008 20:17
quelle
0

Sie müssen Apache nicht verwenden. Es gibt einen benutzerdefinierten Server - svnserve.exe kann stattdessen verwendet werden. Es wird standardmäßig auf Port 3690 ausgeführt, kann jedoch bei der Einrichtung des Befehls --port auf einen anderen Port gesetzt werden.

Greg Hewgill hat Ihnen einen Link gegeben, der Ihnen sagt, welche Version des Subversion-Servers und welche verschiedenen Anwendungsfälle zu verwenden sind. Im Grunde läuft es auf svnserve hinaus, wenn Sie keine Authentifizierung benötigen. Verwenden Sie Apache, wenn Sie komplexere Szenarien benötigen.

Ich habe eine kommerzielle Windows-Konsole, die svnserve verarbeitet. Mein Profil hat einen Link, um dieses Dienstprogramm zu sehen. Wenn Sie sich für die Verwendung von Apache entscheiden, sollten Sie den VisualSVN-Server verwenden.

    
Hector Sosa Jr 30.10.2008 00:15
quelle