Installation und Einrichtung von Gitosis

Installation von git, gitosis und gitweb über aptitude als Benutzer root auf birgit:

aptitude install git-core gitosis gitweb

Bei der Installation von gitosis wird unter Debian der Systembenutzer gitosis mit /srv/gitosis als Heimatverzeichnis angelegt.

Auf nora ein SSH-Schlüsselpaar für den Benutzer florian erstellen:

ssh-keygen -t rsa

Öffentlichen Schlüssel auf den Server birgit, der später als zentrales Repository fungieren soll kopieren:

scp .ssh/id_rsa.pub birgit:/tmp

Auf birgit Gitosis mit dem eben kopiertem Public-Key initialisieren:

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

Dies erzeugt die folgende Ausgabe:

Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/

Durch die Initialisierung sind in /srv/gitosis die folgenden Verzeichnisse entstanden:

  1. /srv/gitosis/repositories, welches die von gitosis verwalteten Repositories beinhaltet, es enthält bereits gitosis-admin.git, das Repository, welches zur Verwaltung von gitosis selbst dient.
  2. /srv/gitosis/gitosis/, welches die noch leere Datei projects.list enthält, die in den nächsten Schritten pro Zeile durch Leerzeichen getrennt Repository und Eigentümer enthalten wird.

Als Benutzer florian auf nora das Repository gitosis-admin klonen:

git clone gitosis@birgit:gitosis-admin.git

Das durch das Klonen entstandene Verzeichnis gitosis-admin/ hat den folgenden Inhalt:

  • gitosis.conf, die zentrale Konfigurationsdatei für gitosis
  • Das Verzeichnis keydir, welches die öffentichen Schlüssel zur Authentifizierung an gitosis enthält.
    Durch die Initialisierung von gitosis ist in keydir bereits der öffentiche Schlüssel florian@nora.pub vorhanden.