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.