Difference between revisions of "Git"
(→Nieuwe git-repo aanmaken) |
|||
Line 1: | Line 1: | ||
[[category:sysop]] | [[category:sysop]] | ||
− | === | + | === Git en gitweb initialiseren === |
− | + | Installeer als eerste git en gitweb en de benodigde mod_auth_kerb voor htaccess: | |
<pre> | <pre> | ||
− | + | yum install git-core gitweb mod_auth_kerb | |
</pre> | </pre> | ||
− | + | Zet vervolgens de kerberos-authenticatie erbij in /etc/httpd/conf.d/git.conf: | |
<pre> | <pre> | ||
− | + | <Location /git> | |
− | + | ||
− | < | + | |
Options Indexes FollowSymLinks Includes ExecCGI | Options Indexes FollowSymLinks Includes ExecCGI | ||
− | |||
− | |||
− | |||
AuthType Kerberos | AuthType Kerberos | ||
AuthName "Kerberos Login" | AuthName "Kerberos Login" | ||
Line 21: | Line 16: | ||
Krb5KeyTab /etc/httpd/krb5.keytab | Krb5KeyTab /etc/httpd/krb5.keytab | ||
Require valid-user | Require valid-user | ||
− | </ | + | </Location> |
+ | </pre> | ||
+ | Je moet er natuurlijk ook wel voor zorgen dat de juiste kerberos-keytab-file aanwezig is. Maak daarvoor op de ipaserver de http-service voor de gitserver aan en haal dan de keytab binnen op de gitserver: | ||
+ | <pre> | ||
+ | ipa-getkeytab -s <ipa-server> -p HTTP/<gitserver> -k /etc/httpd/krb5.keytab | ||
+ | chown apache:apache /etc/httpd/krb5.keytab | ||
+ | </pre> | ||
+ | Als laatste moet er in de gitweb.conf bijgezet worden dat de lijst van repos afhangt van de user die inlogt op gitweb. Zet het volgende erbij in /etc/gitweb.conf: | ||
+ | <pre> | ||
+ | use CGI; | ||
+ | my $user = $ENV{'REMOTE_USER'}; | ||
+ | our $projects_list = "/var/lib/git/" . "$user"; | ||
+ | </pre> | ||
+ | Dit zegt dat er in de map /var/lib/git per user wat bij een repo kan een bestandje 'user@AESKWADRAAT' is waar de repos van die user in staan. | ||
+ | |||
+ | === Nieuwe git-repo aanmaken === | ||
+ | Maak een directory aan voor je repo in /var/lib/git/ en initialiseer een nieuwe gitrepo hierin: | ||
+ | <pre> | ||
+ | cd /var/lib/git | ||
+ | mkdir *repo* | ||
+ | cp *repo* | ||
+ | git init | ||
</pre> | </pre> | ||
+ | Vervolgens kan je voor iedere user die bij die git-repo moet kunnen de regel *repo*/.git *owner*+<owner-email> in het bestandje user@AESKWADRAAT zetten. |
Revision as of 19:14, 17 April 2013
Git en gitweb initialiseren
Installeer als eerste git en gitweb en de benodigde mod_auth_kerb voor htaccess:
yum install git-core gitweb mod_auth_kerb
Zet vervolgens de kerberos-authenticatie erbij in /etc/httpd/conf.d/git.conf:
<Location /git> 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>
Je moet er natuurlijk ook wel voor zorgen dat de juiste kerberos-keytab-file aanwezig is. Maak daarvoor op de ipaserver de http-service voor de gitserver aan en haal dan de keytab binnen op de gitserver:
ipa-getkeytab -s <ipa-server> -p HTTP/<gitserver> -k /etc/httpd/krb5.keytab chown apache:apache /etc/httpd/krb5.keytab
Als laatste moet er in de gitweb.conf bijgezet worden dat de lijst van repos afhangt van de user die inlogt op gitweb. Zet het volgende erbij in /etc/gitweb.conf:
use CGI; my $user = $ENV{'REMOTE_USER'}; our $projects_list = "/var/lib/git/" . "$user";
Dit zegt dat er in de map /var/lib/git per user wat bij een repo kan een bestandje 'user@AESKWADRAAT' is waar de repos van die user in staan.
Nieuwe git-repo aanmaken
Maak een directory aan voor je repo in /var/lib/git/ en initialiseer een nieuwe gitrepo hierin:
cd /var/lib/git mkdir *repo* cp *repo* git init
Vervolgens kan je voor iedere user die bij die git-repo moet kunnen de regel *repo*/.git *owner*+<owner-email> in het bestandje user@AESKWADRAAT zetten.