Howto: Installation von git und gitolite auf Ubuntu 10.04

22 Mar 2011

Git ist ein mächtiges verteiltes Versionsverwaltungssystem. Und Github ist heute für viele Entwickler der Hosting-Dienst der Wahl für Softwareentwicklungs-projekte. Warum git so toll ist wird auf dieser Seite ausführlich beschrieben. Manchmal nutzt man aber doch lieber einen eigenen Server um seine Projekte zu hosten. Dies bringt aber auch immer einen gewissen Administrationsaufwand mit sich. Mit gitolite gibt es allerdings ein einfaches Administrationstool, welches auch selbst die Vorteile des Versionsverwaltungssystem nutzt, denn es ist selbst ein Repository. Mit dieser Anleitung besitzt man in 5 Minuten ein Git-Server und kann anschließend in Sekunden neue Repositorys aufsetzen. In diesem Beispiel verwende ich einen Client (gitclt), welcher auf  einen Server (gitsrv) zugreift, auf welchem später gitolite laufen soll. Beide nutzen Ubuntu 10.04 als Betriebssystem. Der erste Schritt beinhaltet natürlich die Installation von git auf dem Server und natürlich auch dem Client. gitadmin@gitsrv: sudo aptitude install git-core Mittels git lädt man sich die neuste Version von gitolite herunter - d.h. man klont das Repository. gitadmin@gitsrv: git clone git://github.com/sitaramc/gitolite gitolite-source Die Installation erfolgt mittels einfacher Skripte, die gitolite gleich mitbringt. gitadmin@gitsrv: cd gitolite-source gitadmin@gitsrv: sudo mkdir -p /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks gitadmin@gitsrv: sudo src/gl-system-install /usr/local/bin /usr/local/share/gitolite/conf /usr/local/share/gitolite/hooks Nun kopiert man den public-Key des Nutzers, welcher später die Repositorys verwalten soll, vom Client auf den Server. oliver@gitclt: scp .ssh/id_dsa.pub gitadmin@gitsrv:/tmp/oliver.pub Wieder zurück auf dem Server konfiguriert man gitolite und weist ihm den gerade kopierten public-Key als Schlüssel des Administrators zu. gitadmin@gitsrv: gl-setup /tmp/oliver.pub Das war auch schon alles. Die weitere Administration geschieht über gitolite bzw. das gitolite-Repository. oliver@gitclt: git clone gitadmin@gitsrv:gitolite-admin Um ein neues Repo hinzuzufügen fügt man einfach ein paar Zeilen in die Konfigurationsdatei gitolite-admin/conf/gitolite.conf hinzu. repo neues_repo RW+ = @all Und schiebt das ganze zurück ins gitolite-Repository oliver@gitclt: cd gitolite-admin oliver@gitclt: git commit -m "Repo neues_repo hinzugefügt" conf/gitolite.conf oliver@gitclt: git push oliver@gitclt: cd .. Und schon kann man sein neues Repository klonen. oliver@gitclt: git clone gitadmin@gitsrv:neues_repo Einfach oder? Neue Nutzer fügt man ebenfalls sehr einfach hinzu. Man kopiert einfach den Public-Key des Nutzers in das Schlüsselverzeichnis von gitolite. oliver@gitclt: cd gitolite-admin oliver@gitclt: cp ~/Downloads/nutzer2.pub keydir/ oliver@gitclt: git add keydir/nutzer2.pub oliver@gitclt: git commit -m "Nutzer2 hinzugefügt" keydir/nutzer2.pub oliver@gitclt: git push oliver@gitclt: cd .. Dies sollte für einen ersten Einstieg in git und gitolite reichen. Weitere Konfigurationsmöglichkeiten findet man in der Doku zu gitolite. Hello gitty.
git gitolite howto ubuntu
comments powered by Disqus