18.06.2009 13:40

Gitosis auf Debian Etch installieren

Git Logo

Wer für geschlossene Projekte nicht auf GitHub zurückgreifen will, kommt gegebenenfalls nicht darum herum auf einem eigenen Server ein Gitosis aufzusetzen. Ich hatte mich in der letzten Zeit damit beschäftigt dies auf einem vServer mit Debian Etch zu tun und bin natürlich über ein paar hilfreiche Tutorials gestolpert und habe das ein oder andere Problem bemerkt.

Git installieren

Bevor das eigentliche Gitosis installiert werden kann, muss erstmal Git auf dem Server bereitstehen. Hier entsteht auch schon die erste Hürde, die in den gefundenen Tutorials nicht erwähnt wird. Für die spätere Installation von Gitosis wird eine aktuellere Git-Version als die direkt verfügbare benötigt. Grund hierfür ist ein Befehl der von der älteren Version nicht unterstützt wird.

Ich habe für die Installation dann auch ein passendes Tutorial gefunden. Weshalb ich im folgenden auch dessen Inhalt wähle und nicht den Standard-Weg über apt-get.

Backports als Source hinzufügen

Die Datei /etc/apt/sources.list wird um folgendes ergänzt:

#git deb http://www.backports.org/debian etch-backports main contrib non-free

Einstellungen setzen

Nun werden in der Datei /etc/apt/preferences die Einstellungen für das Package git-core ergänzt:

Package: git-core Pin: release a=etch-backports Pin-Priority: 999

GPG-Key, Quellen, Installation

Zuerst muss der GPG-Key von Backports hinzugefügt werden:
wget -O - http://backports.org/debian/archive.key | apt-key add -

Dann das Update der Sourcen durchführen:
aptitude update

und zuletzt die eigentliche Installation starten:
aptitude install git-core

Bei erfolgreicher Installation dürfte eine Versionsabfrage mit git --Version zu folgendem Output führen: git version 1.5.6.5

Gitosis installieren

Wenn Git selbst läuft, kann sich an die Installation des eigentlichen Gitosis-Servers gemacht werden. Hier lassen sich dann wieder so ziemlich alle Tutorials problemlos nutzen. Ich habe mich auf die bei Vince Wadhwani und Garry Dolley verlassen können.

Gitosis vorbereitung

Erstmal wird direkt mit Git das Gitosis-Repository von einem öffentlichen Server gezogen:

cd ~/src git clone git://eagain.net/gitosis.git

Nun muss die Installation von Gitosis angestoßen werden, die geschieht mit Hilfe der Python Setuptools, sind diese nicht auf dem System vorhanden, können sie mittels sudo apt-get install python-setuptools nachinstalliert werden.

Sind die Tools vorhanden bzw. installiert, wird wie folgendes ausgeführt:

cd gitosis sudo python setup.py install

System-User anlegen

Nun wird ein User benötigt über den sämtliche Aufgaben laufen werden. Dieser wird mit

sudo adduser \ --system \ --shell /bin/sh \ --gecos 'git version control' \ --group \ --disabled-password \ --home /home/git \ git

auf dem System angelegt. In diesem Fall heißt der User git. Wer ihn lieber gitosis nennen möchte, muss in den letzten beiden Zeilen das git durch gitosis ersetzen.

Ersten User im Gitosis anlegen

Um den eigenen User anzulegen wird zuerst mal ein öffentlicher SSH-Key vom eigenen System benötigt. Dieser wird mittels des Keygenerators im System erzeugt:

ssh-keygen -t rsa

Nach der Kopie auf den Server wird der Key dann dem gitosis hinzugefügt:

sudo -H -u git gitosis-init /tmp/id_rsa.pub

Nun kann mittels folgender Zeilen gitosis-admin als lokales Repository gezogen werden:

git clone git@SERVERNAME:gitosis-admin.git

Ab diesem Moment lässt sich das gitosis über das lokale Repository steuern. Dazu müssen nur die gewünschten Änderungen commited und auf den Server gepusht werden.

Quellen

Weitersagen

Keine Kommentare

  1. Schreibe den ersten Kommentar!