Svn

From A-Eskwiki
Revision as of 00:54, 18 April 2013 by Pepijno (Talk | contribs)

Jump to: navigation, search

Op de vm-gitsvn staan alle svn-repos zoals bijv de Sysop-svn.

Svn en websvn installeren

Installeer svn, websvn en de bijbehorende modules om het goed met kerberos te laten werken:

yum install subversion websvn mod_auth_kerb mod_dav_svn

Zorg ervoor dat het bestand /etc/httpd/conf.d/websvn.conf er als volgt uit ziet:

Alias /websvn /usr/share/websvn/

<Directory /usr/share/websvn/>
   Options MultiViews Indexes FollowSymLinks Includes ExecCGI
   DirectoryIndex wsvn.php
   AuthType Kerberos
   AuthName "Kerberos Login"
   KrbMethodNegotiate On
   KrbMethodK5Passwd On
   KrbAuthRealms AESKWADRAAT
   Krb5KeyTab /etc/httpd/krb5.keytab
   Require valid-user
</Directory>

Zorg er nu voor dat je svn-server met kerberos-credentials kan gebruiken. Maak in de ipaserver de service HTTP/"svnserver" aan. Voer dan op de svnserver het volgende uit:

ipa-getkeytab -s <ipa-server> -p HTTP/<svnserver> -k /etc/httpd/krb5.keytab
chown apache:apache /etc/httpd/krb5.keytab

Maak de map /var/www/svn aan en zet de selinux-context goed:

mkdir /var/www/svn
restorecon -Rvv /var/www/svn

Nieuwe repo toevoegen

Om een repo toe te voegen voeg je aan het bestand /etc/httpd/conf.d/subversion.conf het volgende toe:

Alias /*repodir* /var/www/svn/*repodir*

<Location /*repodir*>
        Options Indexes FollowSymLinks Includes ExecCGI
        AuthType Kerberos
        AuthName "Kerberos Login"
        KrbMethodNegotiate On
        KrbMethodK5Passwd On
        KrbAuthRealms AESKWADRAAT
        Krb5KeyTab /etc/httpd/krb5.keytab
        Require valid-user
</Location>

en restart httpd

service httpd restart

Maak nu de nieuwe repo aan:

cd /var/www/svn
svnadmin create *repodir*

Zet ook de user en de groep van de repo goed.

Als je ervoor wilt zorgen dat alleen bepaalde users bij de repo kunnen moet je Require valid-user vervangen door:

Require user 'user1'@AESKWADRAAT 'user2'@AESKWADRAAT ...

Vergeet niet om na dit alles de httpd te restarten!

Voila! Alles is klaar!