Subversion Server unter Debian

Dezember 13th, 2008 | Tags: , , , ,
Anzeige

Aus aktuellem Anlass (Eine Semesterarbeit im Fach WebAnwendungen (Java Beans und so)) habe ich einen SVN Server aufgesetzt um bequemer mit meinen drei Projektmitgliedern zusammenarbeiten zu können. Ich habe davür zwei Quellen verwendt, die ich hier zusammenfügen möchte.

Was macht Subversion?

Subversion ist eine Versionsverwaltung. Nützlich, beispielsweise, wenn man mit mehreren Personen an einem Projekt arbeitet und die Arbeiten auch den anderen Mitgliedern zur Verfügung gestellt werden sollen. Jetzt könnte man nach jeder Änderung eine Mail an die Mitglieder senden, um die Änderungen zu verteilen (Glaubt mir das wird nur lästig) oder man verwendet diese Versionskontrolle, die Änderungen zum Server hochläd. (auch einschecken genannt) Die anderen Mitglieder laden beim nächsten mal die Änderungen herunter (checken das Projekt aus) und haben den aktuellen Stand bei sich. Eine weitere feine Sache ist das sperren von Dateien, an denen man gerade exklusiv arbeiten muss. So werden Überschneidungen vermieden.

Nun los mit der Installation

Wie fast immer ist die installation unter Debian / Ubuntu denkbar einfach. Eine Subversion Version ist in den Quellen enthalten und kann bequem per

sudo aptitude install subversion

installiert werden.

Einrichten eines Projektes unter subversion

Nach der installation richtet man sich einen Order ein in dem das Projekt abgelegt werden soll. Tipp von mir, da man mehrere Projekte parallel verwalten lassen kann sollte eine gewisse Struktur hinterlegt werden (ich meine damit einen Oberordner). Beispielsweise könnte eine Struktur die folgende sein:
/svn/projekt1

sudo mkdir -p /svn/projekt1

Nun muss subversion einige Dateien und Daten in diesem Verzeichnis anlegen. Dies wird mit dem Befehl

sudo svnadmin create /svn/projekt1

Der nächste Schritt ist dem Ordner ein paar Rechte zu verpassen damit man nicht immer mit rootrechten rumwerkeln muss

addgroup subversion                  # Benutzergruppe anlegen
chgrp -R subversion /svn/projekt1/   # Gruppe subversion für alle Dateien setzen
chmod -R o-rwx /svn/projekt1/        # Alle anderen dürfen nix
chmod -R g+rw /svn/projekt1/         # Gruppenmitglieder dürfen auch schreiben
chmod g+s /svn/projekt1/db           # Sicher stellen, dass Logfiles
                                     # geschrieben werden können.

Original übernommen von [2]

Nun den Benutzern auch die Gruppenzugehörigkeit erteilen

sudo adduser $USER subversion

Fein jetzt haben wir das Projek angelegt und auch nen bissel mit den Rechten rumgespielt, nun muss nur noch der Server gestartet werden und fertig isser.

Oder doch nicht?

Da müssen ja noch Benutzer drauf zugreifen können.

Die Datei /svn/projekt1/conf/svnserve.conf enthält noch ein paar Sachen, die eingestellt werden müssen.
Folgende Zeilen müssen auskommentiert werden:

anon-access = read
auth-access = write
password-db = passwd

Und am besten macht ihr aus anon-access = read noch ein anon-access = none sonst können anonyme Benutzer eure Daten ansehen (zwar nicht verändern aber lesen.

Nun noch die Benutzer einrichten und fertig

Die Datei /svn/projekt1/conf/passwd sollte bereits bestehen (wenn nicht einfach mit touch anlegen) Aber um sicher zu gehen ändern wir noch die Zugriffsrechte auf diese Datei:

chmod 600 /svn/projekt1/conf/passwd

Die Datei hat in etwa den aufbau

[user]
Benutzername = PASSWORT

so tragt ihr auch im KLARTEXT die Benutzernamen und Passwörter ein

Noch durchstarten und da ist er

Beim starten des subversion-Servers gibt es einige Parameter. Um alle zu verstehen am besten mal man svnserve bemühen. Wichtig sind folgende (finde ich).

Sollte mal etwas mit dem Standart SVN Port 3690 sein einfach die option
–listen-port=port
nutzen (port = der neue Port)

Und nun soll das ganze als server (deamon) laufen also startet man das ganze mit

svnserve -d [--listen-port=1234567]

und schon läuft er.

Und was ist jetzt mit den Clients?

Clients gibt es einige, und ich will auch (noch) nicht darauf eingehen. Aber für Windows laufe ich ganz gut mit Tortoise

Quellen:

[1] http://www.gpcom.de/support/svn
[2] http://www.linux-fuer-alle.de/doc_show.php?docid=230&catid=3

Ach noch was:

Ich bin mir sicher ich habe einiges nicht gesagt und vielen ist auch anders machbar… aber bei mir geht es so und das reicht(e) mir!

Weiter lesen


Keine Kommentare
Kommentieren