Difference between revisions of "Svn"

From A-Eskwiki
Jump to: navigation, search
(Svn en websvn installeren)
(Nieuwe repo toevoegen)
Line 42: Line 42:
 
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>
Alias /*repodir* /var/www/svn/*repodir*
+
<Location /websvn/wsvn/*reponaam*>
 
+
         Require user user1@AESKWADRAAT user2@AESKWADRAAT ...
<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>
 
</Location>
 
</pre>
 
</pre>
en restart httpd
+
en reload httpd
 
<pre>
 
<pre>
service httpd restart
+
service httpd reload
 
</pre>
 
</pre>
 
Maak nu de nieuwe repo aan:
 
Maak nu de nieuwe repo aan:
 
<pre>
 
<pre>
cd /var/www/svn
+
cd /var/lib/svn
 
svnadmin create *repodir*
 
svnadmin create *repodir*
 
</pre>
 
</pre>
 
Zet ook de user en de groep van de repo goed.
 
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:
+
Zorg er nu voor dat de repo in het websvn overzicht staat. Voeg hiervoor toe aan /etc/websvn/config.php de volgende regel:
 
<pre>
 
<pre>
Require user 'user1'@AESKWADRAAT 'user2'@AESKWADRAAT ...
+
$config->addRepository("reponaam", "file:///var/lib/svn/repodir");
 
</pre>
 
</pre>
Vergeet niet om na dit alles de httpd te restarten!
 
 
Voila! Alles is klaar!
 

Revision as of 01:10, 18 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 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");