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 alsgit@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