Difference between revisions of "Svn"
(→Nieuwe repo toevoegen) |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[category:sysop]] | [[category:sysop]] | ||
[[category:software]] | [[category:software]] | ||
− | Op de vm- | + | Op de vm-svn staan alle svn-repos zoals bijv de webcie-svn. |
− | + | == Svn en websvn installeren == | |
+ | === Subversion === | ||
+ | Om op een machine met yum subversion te installeren doe je | ||
+ | yum install subversion | ||
+ | Dit zorgt voor oa een bestand /etc/httpd/conf.d/subversion.conf. Hierin horen alle repositories geconfigureert te staan. De repositories staan standaard in /var/www/svn/. | ||
+ | |||
+ | === IPA/Kerberos === | ||
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 19: | Line 25: | ||
KrbMethodNegotiate On | KrbMethodNegotiate On | ||
KrbMethodK5Passwd On | KrbMethodK5Passwd On | ||
− | KrbAuthRealms | + | KrbAuthRealms A-ESKWADRAAT.NL |
Krb5KeyTab /etc/httpd/krb5.keytab | Krb5KeyTab /etc/httpd/krb5.keytab | ||
Require valid-user | Require valid-user | ||
Line 38: | Line 44: | ||
restorecon -Rvv /var/lib/svn | restorecon -Rvv /var/lib/svn | ||
</pre> | </pre> | ||
+ | === LDAP === | ||
+ | Installeer svn, websvn en de bijbehorende modules om het goed met kerberos te laten werken: | ||
+ | <pre> | ||
+ | yum install subversion websvn mod_authz_ldap | ||
+ | </pre> | ||
+ | Zorg ervoor dat het bestand /etc/httpd/conf.d/websvn.conf er als volgt uit ziet: | ||
+ | <pre> | ||
+ | Alias /websvn /usr/share/websvn/ | ||
− | === Nieuwe repo toevoegen | + | <Directory /usr/share/websvn/> |
+ | Options MultiViews Indexes FollowSymLinks Includes ExecCGI | ||
+ | DirectoryIndex wsvn.php | ||
+ | AuthType Basic | ||
+ | AuthBasicProvider ldap | ||
+ | AuthLDAPURL ldap://ldap/ou=mensjes,ou=accounts,dc=a-eskwadraat,dc=nl?uid | ||
+ | AuthName 'WebSVN' | ||
+ | Require valid-user | ||
+ | </Directory> | ||
+ | </pre> | ||
+ | en restart de httpd: | ||
+ | <pre> | ||
+ | service httpd restart | ||
+ | </pre> | ||
+ | Maak de map /var/lib/svn aan en zet de selinux-context goed: | ||
+ | <pre> | ||
+ | mkdir /var/lib/svn | ||
+ | restorecon -Rvv /var/lib/svn | ||
+ | </pre> | ||
+ | |||
+ | == 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> | ||
<Location /websvn/wsvn/*reponaam*> | <Location /websvn/wsvn/*reponaam*> | ||
Require user user1@AESKWADRAAT user2@AESKWADRAAT ... | Require user user1@AESKWADRAAT user2@AESKWADRAAT ... | ||
+ | </Location> | ||
+ | </pre> | ||
+ | en voeg je aan /etc/httpd/conf.d/subversion.conf toe | ||
+ | <pre> | ||
+ | <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> | ||
+ | </pre> | ||
+ | en voor ldap | ||
+ | <pre> | ||
+ | <Location /svn/*reponaam*> | ||
+ | DAV svn | ||
+ | SVNPath /var/lib/svn/*reponaam* | ||
+ | Options MultiViews Indexes FollowSymLinks Includes ExecCGI | ||
+ | AuthType Basic | ||
+ | AuthBasicProvider ldap | ||
+ | AuthLDAPURL ldap://ldap/ou=mensjes,ou=accounts,dc=a-eskwadraat,dc=nl?uid | ||
+ | AuthName 'WebSVN' | ||
+ | Require ldap-group cn=... | ||
</Location> | </Location> | ||
</pre> | </pre> | ||
Line 60: | Line 122: | ||
<pre> | <pre> | ||
$config->addRepository("reponaam", "file:///var/lib/svn/repodir"); | $config->addRepository("reponaam", "file:///var/lib/svn/repodir"); | ||
+ | </pre> | ||
+ | |||
+ | == SVN Checkout maken == | ||
+ | Om nu een checkout van een repository *reponaam* te maken voer je het volgende uit: | ||
+ | <pre> | ||
+ | svn co http://*svnserver*/svn/*reponaam* | ||
</pre> | </pre> |
Latest revision as of 21:08, 31 October 2016
Op de vm-svn staan alle svn-repos zoals bijv de webcie-svn.
Contents
Svn en websvn installeren
Subversion
Om op een machine met yum subversion te installeren doe je
yum install subversion
Dit zorgt voor oa een bestand /etc/httpd/conf.d/subversion.conf. Hierin horen alle repositories geconfigureert te staan. De repositories staan standaard in /var/www/svn/.
IPA/Kerberos
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 A-ESKWADRAAT.NL 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
LDAP
Installeer svn, websvn en de bijbehorende modules om het goed met kerberos te laten werken:
yum install subversion websvn mod_authz_ldap
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 Basic AuthBasicProvider ldap AuthLDAPURL ldap://ldap/ou=mensjes,ou=accounts,dc=a-eskwadraat,dc=nl?uid AuthName 'WebSVN' Require valid-user </Directory>
en restart de httpd:
service httpd restart
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 voor ldap
<Location /svn/*reponaam*> DAV svn SVNPath /var/lib/svn/*reponaam* Options MultiViews Indexes FollowSymLinks Includes ExecCGI AuthType Basic AuthBasicProvider ldap AuthLDAPURL ldap://ldap/ou=mensjes,ou=accounts,dc=a-eskwadraat,dc=nl?uid AuthName 'WebSVN' Require ldap-group cn=... </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
Om nu een checkout van een repository *reponaam* te maken voer je het volgende uit:
svn co http://*svnserver*/svn/*reponaam*