Gitolite unter Ubuntu 20.04 installieren

gitolite ist ein einfaches aber effektives Tool, mit dem man in weniger als einer halben Stunde seinen eigenen, privaten Git Server betreiben kann.

Als Voraussetzung für das Tutorial gilt ein installierter Ubuntu Server (in der Test-Version 20.04 LTE) mit einer fertig eingerichteten SSH-Verbindung über keyfiles.

Als Vorüberlegung:

  • Wir wollen einen Git-Server mit einer unbestimmten Anzahl als Benutzer.
  • Verbindung zum Server über SSH
  • Den Gitolite Benutzer selbst nennen wir git. Das ermöglicht die gewohnte Kommunikation als git@ip-or-hostname

Als erstes verbinden wir uns via SSH mit dem Server. Der Benutzer muss dabei sudo-Rechte besitzen.

# erstellt den GIT Benutzer
sudo adduser git --disabled-login
# Wechseln in den GIT Benutzer
su - git
# Erstellen des Installations-Verzeichnisses
mkdir -p /home/git/bin
# klonen des gitolite repos
git clone https://github.com/sitaramc/gitolite
# gitolite installieren
gitolite/install -ln /home/git/bin

Auf dem lokalen PC erstellt man nun einen SSH-Schlüssel für den gitolite admin user. In unserem Beispiel nehmen wir einen user namens gitolite, allerdings kann man auch direkt seinen eigenen künftigen Benutzer dafür nehmen, wenn man das lieber möchte. Empfehlenswert ist aus verschiedenen Gründen, einen Extra Benutzer dafür zu erstellen.

Beim Erstellen des SSH-Schlüssels für den administrativen Benutzer darf der Schlüssel =keine Passphrase= verwenden! Abgesehen davon wird der Schlüssel wie gewohnt erstellt.

ssh-keygen -t rsa -f ./.ssh/gitolite
scp ./.ssh/gitolite.pub server0:/home/qm-b/gitolite.pub

Jetzt kann man sich wieder auf dem Server anmelden und den Schlüssel an den gewünschten Platz kopieren.

sudo mv ~/gitolite.pub /home/git/
sudo chown git: /home/git/gitolite.pub

Anschließend wechselt man wieder zu dem git Benutzer und schließt die Installation ab.

su - git
bin/gitolite setup -pk ~/gitolite.pub

NOTE

Der Setup Command bringt 2 Fehlermeldungen bei der Installation. Das ist normal und muss nicht weiter beachtet werden.

Als nächstes kann man bereits das Admin Repo klonen, über welches Gitolite weiter konfiguriert und Repos angelegt werden können. Auf dem lokalen PC klont man einfach das Repo:

git clone git@ip-or-hostname:gitolite-admin

Betrete das Repo:

cd gitolite-admin

Kopiere den SSH pub key in das keydir Verzeichnis und benenne es mit dem Benutzernamen.

cp ~/.ssh/my-pub-key.pub keydir/qm-b.pub

Anschließend erstelle dein erstes Repo in der Conf Datei:

vi conf/gitolite.conf