Ob für die eigenen Konfigurationsdateien, Softwareprojekte oder für Webseiten bzw. Blogs bieten sich Versionsverwaltungen an. Eine, von Linus Torvalds entwickelte, Möglichkeit zu Versionsverwaltung – Git – hat sich mittlerweile fest etabliert.Möchte man nicht auf Plattformen wie GitHub oder BitBucket setzen und hat einen vServer oder Ähnliches zur Verfügung, bietet es sich geradezu an seine Projekte etc. selbst zu Hosten.

Dabei wird die Einrichtung in zwei Schritte gegliedert:
- Einrichten der Server-Schnittstelle „gitolite“ (machen wir hier)
- Einrichten des Webfrontends „gitlist“ (gibt es noch einen Post zu)
Gitolite #
Gitolite ist ein Fork bzw. eine Weiterentwicklung des Projektes gitosis und ist in der Lage mehrere Repositories zu verwalten und verfügt obendrein noch über eine Rechte- und Benutzerverwaltung in Form einer Konfigurationsdatei. Die Authentifizierung erfolgt dabei über SSH und Private- bzw. Public-Keys.
Vorbereitung #
Da die Installation von gitolite git benötigt, sollte das entsprechende Paket auch installiert sein.
|
|
Weiterhin wird zur sauberen Trennung, ein separater Nutzer eingerichtet.
|
|
Daraufhin wechselt man den Benutzer, nimmt die Umgebung mit und wechselt in das Benutzerverzeichnis des soeben erstellten Benutzers.
|
|
Da für die Authentifizierung ein SSH-Publickey (s.o.) benötigt wird, muss dieser zunächst erzeugt werden. Sicherlich kann auch ein bestehender Key verwendet werden, jedoch sollte man hinsichtlich sauberer Trennung einen separaten Key erstellen.
|
|
Installation #
Zur Installation bleibt eigentlich nicht viel zu sagen. Der aktuelle Stand wird ausgecheckt und über die mitgelieferten Skripte installiert.
|
|
Je nach Konfiguration, kann es sein das der letzte Befehl scheitert. Warum? Ganz einfach er kann den entsprechenden Befehl nicht finden, da nicht jede Distribution per Default das bin-Verzeichnis im Home an den PATH anhängt. Schnelle Abhilfe schafft ein entsprechender export oder ein Aufruf mit vollem Pfad.
|
|
Soweit so gut, ist man soweit gekommen, ist eigentlich alles Nötige erledigt und gitolite funktioniert.
Abschluss #
In einer lokalen Shell kann nun das Repository für die Konfiguration ausgecheckt werden und Benutzer sowie Repositories hinzugefügt werden.
|
|
Daraufhin erhält man einen neuen lokalen Ordner „gitolite-admin“. Darin befinden sich die Ordner keydir und conf. Möchte man einen neuen Public-Key hinzufügen, so kopiert man diesen als Datei in den Ordner keydir und für innerhalb der Konfiguration im Ordner conf die entsprechenden Einträge hinzu. Dabei sieht die Konfiguration schematisch so aus:
|
|
Dabei entsprechen @entwickler und @admins Gruppen, welche das hinzufügen von Benutzern recht komfortabel gestalten. Möchte man alle Nutzer hinzufügen bietet gitolite die Gruppe @all an. Die Zeile „repo meinprojektrepo“ stellt dabei ein Repository dar und definiert die Zugriffsrechte der Benutzer auf das Repository. Möchte man weitere Repositories erstellen, fügt man einfach weitere Abschnitte hinzu und gitolite wird die entfernten Repositories mit dem nächsten push erstellen und entsprechend einrichten.
|
|
So das war es eigentlich. Da der Post relativ lang geworden ist, werde ich den Part über gitlist später in einem weiteren Post erläutern. Sollten Fehler oder Fragen existieren, bitte einfach melden.