Git
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"; our $strict_export = true;
en restart de httpd
service httpd restart
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.