Archive

Archive for October, 2009

Einrichtung des Subversion Clients und Initialisierung des Projekts

October 14th, 2009 Sebastian Förster No comments

Im meinem letzten Beitrag habe ich die Einrichtung des Subversion Servers vorgestellt.

In diesem Beitrag möchte ich das ganze nun testen und mein erstes Projekt in das Archiv übertragen.
Als Client nutze ich unter Windows Vista Tortoise SVN. Er ist leicht zu bedienen und quatscht auch auf deutsch.

Wenn Tortoise installiert ist, findet man im Kontextmenü den Eintrag TortoiseSVN –> Projektarchiv

Hier muss ich jetzt den Pfad zu meinem Server eintragen:


svn://forestsoft.de

Nach Bestätigung der Eingabe erhalte ich die Abfrage nach dem Benutzer und das Passwort.
Die Daten eingeben und wir können das Projekt in das Archiv importieren.
Dazu klickt man auf das Verzeichnis welches die Projektdaten enthält und wählt im Tortoise Menü Import.

Die Menüstruktur soll folgendermaßen aussehen:

projektname
+- branches
+- tags
+- trunk

In trunk sollen die Dateien und Verzeichnisse des Projekts. Also trage ich als url des Projekttarchivs folgendes ein:
svn://forestsoft.de/projektname/trunk

Nachdem alle Dateien hochgeladen wurden kann die lokale Kopie gelöscht werden und ein Checkout durchgeführt werden. Somit hat man das Projekt mit den Informationen der Versionverwaltung auf dem Rechner.

Categories: Subversion Tags:

Einrichten eines Subversion Servers auf einem Debian Linux System

October 13th, 2009 Sebastian Förster No comments

Für meine zukünftigen Projekte möchte ich phpUnderControl in Verbindung mit Subversion einsetzen. Die Installation ist im folgenden beschrieben.

apt-get install subversion

Wenn alles korrekt installiert wurde kann man ein Projektarchiv anlegen.

svnadmin create /var/repos

Das Verzeichnis sieht nun so aus:

root@lvps:/var/repos# ls -l
total 7.0K
-rw-r--r-- 1 root root  379 Oct  8 12:13 README.txt
drwxr-xr-x 2 root root 1.0K Oct  8 12:13 conf
drwxr-xr-x 2 root root 1.0K Oct  8 12:13 dav
drwxr-sr-x 2 root root 1.0K Oct  8 12:13 db
-r--r--r-- 1 root root    2 Oct  8 12:13 format
drwxr-xr-x 2 root root 1.0K Oct  8 12:13 hooks
drwxr-xr-x 2 root root 1.0K Oct  8 12:13 locks

Als nächstes brauchen wir einen Server der auf dieses Archiv zugreift damit wir Projektdaten einpflegen können.

man svnserv

Laut Dokumentation kann er als Standalone Prozess oder auf Abruf als Intetd Dienst gestartet werden. Da phpUnderControl in einem definierten Intervall auf das Archiv zugreift entscheide ich mich, den Server als Standalone Prozess zu starten.

Damit der Server nicht als root läuft lege ich einen Benutzer svn an.

adduser svn

Danach deaktiviere ich die Loginmöglichkeit über SSH

passwd -l svn

Das Verzeichnis /var/repos wird dem Benutzer und der Gruppe svn zugewiesen

chown -R svn:svn /var/repos

Nun die Konfiguration des Servers.

root@lvps:/var/repos# cd conf/
root@lvps:/var/repos/conf# vi svnserve.conf

In der Datei entferne ich das Kommentarzeichen vor general und ändere folgende Zeilen:

[general]
anon-access = none
auth-access = write
password-db = passwd
realm = forestsoft
 
[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256

Hinweis: SASL muss vom SVN Server unterstützt werden. Bei älteren Linux Distributionen kann es sein das es nicht mit einkompliert ist.
Herausfinden kann man das folgendermaßen:

root@lvps:/var/repos# svnserve --version
[....]
Cyrus SASL authentication is available.

Damit der SASL weiss wie authentifiziert werden soll brauchen wir eine Konfigurationsdatei im Verzeichnis /usr/lib/sasl2.

root@lvps:/var/repos/conf# vi /usr/lib/sasl2/svn.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: DIGEST-MD5
sasldb_path: /usr/lib/sasl2/svndb

Und die dazugehörige sasldb:

root@lvps:/var/repos/conf# saslpasswd2 -c -f /usr/lib/sasl2/svndb -u forestsoft benutzername

Hierbei ist forestsoft der realm der in der /var/repos/conf/svnserve.conf angegeben worden ist.

Jetzt starte ich den Server Prozess als Benutzer svn

su svn
svnserve -d -r /var/repos
exit

Kurzer Check ob alles geklappt hat:

root@lvps:/var/repos/conf# ps aux | grep svn
svn      22323  0.0  0.0  2792 1276 pts/2    T    12:56   0:00 svnserve -d -r /var/repos
root     22466  0.0  0.0  1540  492 pts/2    S+   12:59   0:00 grep svn

Prozess läuft also und der Server ist nun bereit Anfragen entgegen zu nehmen.

Im nächsten Teil richte ich den Client ein und übertrage mein Projekt.

Mit apt-get eine bestimmte Version einer Bibliothek installieren

October 12th, 2009 Sebastian Förster No comments

Da mein Subversion aus dem Debian Archiv kein Sasl unterstützt muss ich das mir das Paket selbst bauen.

Leider ist im Laufe der Zeit die Paketverwaltung durcheinander gekommen.
Auf meinem Server ist die SASL Version 2.1.22.dfsg1-8 installiert.
In den Archiven auf die ich jetzt Zugriff habe sind jedoch nur Pakete der Version 2.1.19.dfsg1-0sarge2.

Um explizit diese Version zu installieren gibt man apt-get folgendes an:

apt-get install libsasl2=2.1.19.dfsg1-0sarge2

Damit wird die gewünschte Version installiert.

Categories: Server Tags: , , ,