Vincent Lammens

↶ Terug

Apache mod_dav_svn tutorial

Datum: 2020/10/25

Voor Apache is er een module mod_dav_svn, welke het mogenlijk maakt om SVN repositories te hosten op apache. Hoe je apache installeert zie je in deze post.

mod_dav_svn installeren

Om mod_dav_svn te installeren op een ubuntu/debian systeem kan je je gewoon apt install libapache2-mod-svn gebruiken.

Om mod_dav_svn aan te zetten gebruik je a2enmod mod_dav_svn

SVN repositories aanmaken

maak een map waar je je svn repositories wilt bijhouden. In die map kan je om een repository aan te maken het volgende commando gebruiken:

svnadmin create reponaam

mod_dav_svn configureren

Eens mod_dav_svn ins geïnstalleert en ingeschakeld kan je een virtualhost aanpassen, bv /etc/virtualhost/000-default.conf en er het volgende in te zetten:

<IfModule dav_svn_module>
<IfModule authz_svn_module>
<Location /repos>
    DAV svn
    SVNParentPath /pad/naar/svn/repomap
    AuthType Basic
    AuthName "Welcome to the SVN server"
    AuthUserFile /pad/naar/htaccess
    AuthzSVNAccessFile /pad/naar/authz

    Require valid-user
</Location>
</IfModule>
</IfModule>

pas hier de paden aan naar wens.

het htaccess bestand bevat de gebruikers en hun wachtwoorden. je kan de apache entries genereren met

htpasswd -B /pad/naar/htaccess user

hierna word je om een wachtwoord gevraagd en word de gebruiker aangemaakt.

het autz bestand bevat de rechten van alle gebruikers. hieronder een voorbeeld:

[groups]
groepnaam = user, user2

[reponaam:/]
user = rw
@groepnaam = r

het [groups] stuk maakt groepen aan, deze kan je later referenen door de naam van de groep te gebruiken met een @ ervoor.

het [reponaam:/] gedeelte is de toegang tot het repository met de naam ‘reponaam’. mensen die kunnen lezen hebben enkel ‘r’, mensen die kunnen lezen/schrijven hebben ‘rw’.

De repositories openen

als je met je svn client (of met je browser) naar http://<ip>/repos/reponaam gaat word je gevraagd voor in te loggen. eens ingelogd zal je het repository kunnen zien (en met je svn-client kunnen beheren).

Zo. Zo installeer je apache mod_svn.