Difference between revisions of "Svn"

From A-Eskwiki
Jump to: navigation, search
Line 3: Line 3:
 
Op de vm-gitsvn staan alle svn-repos zoals bijv de Sysop-svn.
 
Op de vm-gitsvn staan alle svn-repos zoals bijv de Sysop-svn.
  
=== Svn en websvn installeren ===
+
== Svn en websvn installeren ==
 
Installeer svn, websvn en de bijbehorende modules om het goed met kerberos te laten werken:
 
Installeer svn, websvn en de bijbehorende modules om het goed met kerberos te laten werken:
 
<pre>
 
<pre>
Line 39: Line 39:
 
</pre>
 
</pre>
  
=== Nieuwe repo toevoegen ===
+
== Nieuwe repo toevoegen ==
 
Om een repo toe te voegen voeg je aan het bestand /etc/httpd/conf.d/subversion.conf het volgende toe:
 
Om een repo toe te voegen voeg je aan het bestand /etc/httpd/conf.d/subversion.conf het volgende toe:
 
<pre>
 
<pre>

Revision as of 11:46, 22 April 2013

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>

en restart de httpd:

service httpd restart

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/lib/svn aan en zet de selinux-context goed:

mkdir /var/lib/svn
restorecon -Rvv /var/lib/svn

Nieuwe repo toevoegen

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

<Location /websvn/wsvn/*reponaam*>
        Require user user1@AESKWADRAAT user2@AESKWADRAAT ...
</Location>

en voeg je aan /etc/httpd/conf.d/subversion.conf toe

<Location /svn/*reponaam*>
  DAV svn
  SVNPath /var/lib/svn/*reponaam*
  Options MultiViews Indexes FollowSymLinks Includes ExecCGI
  AuthType Kerberos
  AuthName "Kerberos Login"
  KrbMethodNegotiate On
  KrbMethodK5Passwd On
  KrbAuthRealms AESKWADRAAT
  Krb5KeyTab /etc/httpd/krb5.keytab
  Require user user1@AESKWADRAAT ...
</Location>

en reload httpd

service httpd reload

Maak nu de nieuwe repo aan:

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

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

Zorg er nu voor dat de repo in het websvn overzicht staat. Voeg hiervoor toe aan /etc/websvn/config.php de volgende regel:

$config->addRepository("reponaam", "file:///var/lib/svn/repodir");

SVN Checkout maken