SVN via Apache

Subversion als Revisionssystem ist ja zwischenzeitlich ein alter Hut, da besteht dank zB. git kein Zweifel. Dennoch müssen auch die Anwender ein neues Revisionssystem annehmen – dies ist leider im Tagesgeschäft problematisch, denn was man kennt, mag man auch.
Ich stelle hier kurz die Herangehensweise zusammen, um SVN Repositorys über den Apache2 erreichbar zu machen.

1. apache2, libapache2-svn, subversion und websvn installieren
Websvn Hinweis:

Hinweis zu den Zugriffsrechten
Wegen einer Limitierung des Datenbankformats benötigt das
’svnlook‘-Kommando Lese-/Schreibzugriff auf das Depot (um Sperren u.ä.
zu erstellen). Sie müssen dem Benutzer, unter dem Ihr Webserver läuft,
Lese-/Schreibzugriff auf alle Ihre Depots geben.

Dieses Problem kann umgangen werden, indem SVN-Depots mit der Option
–fs-type=fsfs erstellt werden. Vorhandene Datenbank-Depots können mit
den svnadmin dump/load-Kommandos in das FSFS-Format konvertiert werden.

Darauf wird später noch eingegangen.
Nachfolgend definiere ich den Stammpfad /daten/svn und gebe sonst keine weiteren Pfade an!!

2. Anlegen der Repositorys
Im Beispiel verwende ich /daten/svn als Stammpfad, das heisst in diesem Ordner werden die einzelnen Projekte angelegt.

sudo mkdir -p /daten/svn/test1
sudo svnadmin create /daten/svn/test1
chown -R www-data.www-data /daten/svn/test1

Da das Repository an www-data übergeben wurde, muss der obige Hinweis von WebSVN nicht beachtet werden.

3. Zugriffssteuerung
Eine Authentifizierung über htaccess realisiert genügt den Ansprüchen des Zugriffsschutzes.
In /daten/svn generiert man mittels htpasswd (die entsprechenden Optionen sind überschaubar, daher nicht aufgeführt) eine Datei namens .svn-dav-passwd, in welcher die Benutzer aufgenommen werden.

5. Apache Config
In diesem Beispiel lege ich einen eigenen VHost für den SVN an, der ServerName lautet hier svn.net.home
Zudem soll die WebSVN Oberfläche ebenfalls nur mittels Authentifizierung erreichbar sein.
Innerhalb vom Directory Direktiv der /etc/apache2/conf.d/websvn fügt man folgende Zeilen ein:

# only authenticated should access
Require valid-user

#how to authenticate a user
AuthType Basic
AuthName „MySVN“
AuthUserFile /daten/svn/.svn-dav-passwd

Unter /etc/apache2/sites-available erstellt man eine svn.net.home.conf mit folgendem Inhalt:

ServerName svn.net.home

DAV svn
SVNParentPath /daten/svn
SVNListParentPath On
# für WebDAV Gebrauch mit dem Windows-Arbeitsplatz
SVNAutoversioning On
# only authenticated should access
Require valid-user
#how to authenticate a user
AuthType Basic
AuthName „MySVN“
AuthUserFile /daten/svn/.svn-dav-passwd

CustomLog /var/log/apache2/access_svn.log „%t %u %{SVN-ACTION}e“ env=SVN-ACTION
ErrorLog /var/log/apache2/error_svn.log

Diesen Host muss man nun noch aktivieren, ein

a2enmod svn.net.home.conf

und

apache2ctl restart

und schon sind die SVN Repositorys wie definiert erreichbar.

Viel Spass beim Commiten!

GParted – Extended record needed

Um Partitionen auf Festplatten zu Resizen oder zu verschieben, greife ich gerne auf das Opensource Tool GParted bzw die erhältliche Live-CD zurück. Diese funktioniert einwandfrei, wenn man genau weiss was man tut!
Heute hat zum ersten Mal GParted beim Resizen einer logischen NTFS Partition den Dienst mit folgender Meldung verweigert:

Extended record needed (1048>1024),not yet supported.
Please try less free space.

Der Wert x >1024 kann variieren, wie ich durch Versuchsläufe feststellen konnte.

Zuerst dachte ich an ein „schmutziges“ NTFS Logfile, manuelles ntfsfix brachte allerdings keine Besserung. Nun gut, selbiges führt wohl auch GParted zurecht zu Beginn einer Modifikation durch.

Platz war ebenfalls reichlich auf der zu verkleinernden Partition vorhanden – dies konnte also nicht das Problem sein.

Durch Verändern der abzutrennenden Größe konnte zumindest der Zahlenwert variieren – jedoch immer „> 1024“ – somit also auch kein befriedigendes Ergebnis.

Erst eine Defragmentierung des betroffenen Laufwerkes unter Windows brachte den gewünschten Effekt und die Partition konnte nach belieben, wie gewohnt, modifiziert werden.

Die GParted Live-CD sollte zusammen mit der CloneZilla Live-CD zur Standardausrüstung eines jeden Administrators gehören.