Difference between revisions of "Svn"
(14 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 10: | Line 16: | ||
Zorg ervoor dat het bestand /etc/httpd/conf.d/websvn.conf er als volgt uit ziet: | Zorg ervoor dat het bestand /etc/httpd/conf.d/websvn.conf er als volgt uit ziet: | ||
<pre> | <pre> | ||
+ | Alias /websvn /usr/share/websvn/ | ||
+ | |||
<Directory /usr/share/websvn/> | <Directory /usr/share/websvn/> | ||
Options MultiViews Indexes FollowSymLinks Includes ExecCGI | Options MultiViews Indexes FollowSymLinks Includes ExecCGI | ||
Line 17: | 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 | ||
</Directory> | </Directory> | ||
+ | </pre> | ||
+ | en restart de httpd: | ||
+ | <pre> | ||
+ | service httpd restart | ||
</pre> | </pre> | ||
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: | 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: | ||
Line 27: | Line 39: | ||
chown apache:apache /etc/httpd/krb5.keytab | chown apache:apache /etc/httpd/krb5.keytab | ||
</pre> | </pre> | ||
− | Maak de map /var/ | + | Maak de map /var/lib/svn aan en zet de selinux-context goed: |
<pre> | <pre> | ||
− | mkdir /var/ | + | mkdir /var/lib/svn |
− | restorecon -Rvv /var/ | + | 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/ | ||
− | === | + | <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> | <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: | |
− | + | <pre> | |
− | + | <Location /websvn/wsvn/*reponaam*> | |
− | + | Require user user1@AESKWADRAAT user2@AESKWADRAAT ... | |
− | + | ||
− | + | ||
− | + | ||
− | Require | + | |
</Location> | </Location> | ||
</pre> | </pre> | ||
− | en | + | en voeg je aan /etc/httpd/conf.d/subversion.conf toe |
<pre> | <pre> | ||
− | service httpd | + | <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> | ||
+ | </pre> | ||
+ | en reload httpd | ||
+ | <pre> | ||
+ | service httpd reload | ||
</pre> | </pre> | ||
Maak nu de nieuwe repo aan: | Maak nu de nieuwe repo aan: | ||
<pre> | <pre> | ||
− | cd /var/ | + | 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. | ||
− | + | 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> | ||
− | + | $config->addRepository("reponaam", "file:///var/lib/svn/repodir"); | |
</pre> | </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> |
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*