Im Prinzip funktioniert Gitosis ähnlich wie Gitolite: Man benötigt einen speziellen Benutzer-Account mit SSH-Zugang, über den die entsprechenden Skripte aufgerufen werden. Installiert man Gitosis auf Ubuntu, findet man nach der Installation den Benutzer
»gitosis
«
und das Verzeichnis
»/srv/gitosis
«
. Analog zu Gitolite legt Fedora auch für Gitosis ein Verzeichnis
»/var/lib/gitosis
«
und den gleichnamigen Benutzer an. Im Folgenden soll die manuelle Installation die Vorgehensweise verdeutlichen.
Zuerst checken Sie auf dem Server aus dem Github-Repository die Gitosis-Software aus, etwa im Home-Verzeichnis
»/root
«
des Administrators:
git clone git://eagain.net/gitosis.git
Als Superuser wechseln Sie in das Gitosis-Verzeichnis und führen
»python setup.py install
«
aus, was die Dateien systemweit installiert. Kopieren Sie, wie im Gitolite-Teil beschrieben, Ihren Public Key auf den Server. Dort arbeiten Sie per
»su - git
«
mit der Git-Benutzer-ID weiter und initialisieren Gitosis mit dem Schlüssel:
gitosis-init < /tmp/ofrommel.pub Initialized empty Git repository in /home/git/repositories/gitosis-admin.git/ Reinitialized existing Git repository in/home/git/repositories/gitosis-admin.git/
Erhalten Sie hier eine Fehlermeldung über fehlende Berechtigungen, liegt das vielleicht daran, dass Sie als Root im gleichen Verzeichnis die Gitosis-Distribution ausgecheckt haben, die Sie nun als
»git
«
nicht überschreiben dürfen.
Wie bei Gitolite beschrieben, läuft auch bei Gitolite die Administration über ein spezielles Repository ab. Checken Sie es auf einem Client-Rechner folgendermaßen aus:
git clone git@Server:gitosis-admin.git
Im Verzeichnis
»gitosis-admin
«
befindet sich nun die Konfigurationsdatei
»gitosis.conf
«
und das Verzeichnis
»keydir
«
für die SSH-Schlüssel. Die Konfigurationsdatei, die gegenüber dem Urzustand um eine Gruppe
»webcoders
«
und ein neues Repository
»webprojekt
«
erweitert wurde, ist in
Listing 3
zu sehen. Mit
»git commit -a
«
und
»git push
«
übermitteln Sie die Änderungen an den Git-Server.
Listing 3
gitosis.conf
Um das neue Projekt anzulegen, erzeugen Sie ein neues Verzeichnis mit dem Namen
»webprojekt
«
und wechseln hinein. Führen Sie die beiden folgenden Befehle aus, um das Repository zu initialisieren:
git init git remote add origin git@Server:webprojekt.git
Haben Sie neue Dateien in dem Verzeichnis angelegt, stellen Sie sie mit
»git add
«
unter Versionskontrolle. Um das Repository mit dem Server für alle Branches zu synchronisieren, verwenden Sie wieder das Push-Kommando:
git push origin master:refs/heads/master
Tritt bei der Verwendung von Gitosis ein Fehler auf, können Sie Debugging-Meldungen einschalten, indem Sie in der Konfigurationsdatei
»gitosis.conf
«
im Abschnitt
»[gitosis]
«
die Zeile
»loglevel = DEBUG
«
einfügen (und dann wie gehabt auf den Server pushen).
Mehr Informationen über die Benutzung von Git selbst können Sie dem ADMIN-Artikel [1] entnehmen oder dem online frei verfügbaren Buch "Pro Git" [7] , das übrigens auch je ein Kapitel zu Gitosis und Gitolite enthält. Wer noch eine Ansicht der Repositories im Webbrowser haben möchte, kann als Webfrontend beispielsweise Gitweb verwenden.
Infos