Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
software:gitolite [2012/10/08 16:09] mhoffmann [Verwaltung Nutzer] |
software:gitolite [2012/10/11 10:23] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Installation Gitolite Versionsverwaltungsserver ====== | ||
- | Gitolite ist ein Versionsverwaltungsserver der auf GIT basiert und eine denkbar einfache Konfiguration besitzt. | ||
- | Da die komplette Konfiguration über ein eigenes GIT-Repository läuft benötigt man kein Webinterface und hat sogar eine Versionsverwaltete Konfiguration. | ||
- | |||
- | ===== Vorbereitungen ===== | ||
- | //Diese Anleitung bezieht sich auf Ubuntu 12.04 LTS. Ubuntu 10.04 hat Gitolite noch nicht in den Paketquellen! | ||
- | // | ||
- | Für die Installation von Gitolite braucht man folgendes: | ||
- | - Server mit konfiguriertem SSH-Zugang (am besten über den Standardport und mit PublicKey-Authentifizierung). | ||
- | - GIT-Client auf dem lokalen Rechner | ||
- | - Unter Linux einfach über den Paketmanager installieren | ||
- | - Bei MacOS über Portierungsprogramme wie "Homebrew" oder "Macports" installieren | ||
- | - Unter Windows am besten GIT mit GitBash installieren. | ||
- | - SSH PublicKey des eigenen Rechners im richtigen Format (Mit Putty-PublicKeys funktioniert das nicht) | ||
- | - Ein bisschen Ahnung wie GIT funktioniert. | ||
- | |||
- | Zunächst solltet ihr den PublicKey auf den Server ziehen und dort irgendwo im Homeverzeichnis ablegen, ein Eintrag in die Datei **/home/[USER]/.ssh/authorized_keys** reicht nicht! | ||
- | Wie ihr SSH-Keys erstellt hängt vom Client ab, meistens jedoch kann man die SSH-Keys über die Shell (Bei Linux und Mac) mit dem Befehl ''ssh-keygen'' erstellen. | ||
- | |||
- | ===== Gitolite Installation ===== | ||
- | Gitolite kann einfach mit dem Befehl | ||
- | <code> | ||
- | sudo apt-get install gitolite | ||
- | </code> | ||
- | installiert werden. | ||
- | Dabei werden noch einige Pakte benötigt, wie bspw. git-core etc., welche aber automatisch mitinstalliert werden. | ||
- | |||
- | ===== Grundkonfiguration ===== | ||
- | Die Konfiguration von Gitolite ist unter Ubuntu ebenfalls recht einfach. Bei der Installation wird Gitolite einige Warnmeldungen anzeigen, dass noch kein Admin-key eingetragen ist, das soll nun behoben werden. | ||
- | Eingerichtet wird Gitolite über den Paketmanager mit | ||
- | <code> | ||
- | sudo dpkg-reconfigure gitolite | ||
- | </code> | ||
- | Dann werdet ihr einige Dinge gefragt: | ||
- | - An welchem Ort die Gitrepositories liegen sollen. Hierbei solltet ihr einen ordentlichen Pfad wählen, wie bspw **/srv/gitolite**. Fall noch nicht vorhanden wird der Paketmanager diesen Pfad erstellen. | ||
- | - Wie soll der Nutzer heißen, mit dem auf die Repositories zugegriffen werden soll. Nehmt hier bitte keinen User, der produktiv genutzt wird, also kein Admin- oder Nutzerkonto. Am besten eignet sich **gitolite**, da dieser Nutzername auch bei jedem Clone eines Repositories genutzt werden muss | ||
- | - Den Speicherort des SSH-PublicKeys den man vorher hochgeladen hat. Bitte auf entsprechende Leserechte achten! | ||
- | |||
- | Nach diesem drei Punkten ist Gitolite in der Regeln konfiguriert und man kann nun Anfangen die Repository-konfiguration zu beginnen. | ||
- | |||
- | ===== Verwaltung von Nutzern und Repositories ===== | ||
- | ==== Checkout admin-repo ==== | ||
- | |||
- | Wie bereits erwähnt erfolgt die produktive Konfiguration über ein eigenes Repository. | ||
- | Dieses müsst ihr euch auf den Rechner klonen dessen SSH-Key ihr als admin-key eingetragen habt. | ||
- | Der Clone funktioniert über git mit dem Befehl: | ||
- | <code> | ||
- | git clone [Gitoliteuser]@adresse.des.servers:gitlolite-admin.git | ||
- | </code> | ||
- | |||
- | Die Authentifizierung erfolgt über den SSH-Schlüssel, das Repository wird geklont. | ||
- | Wird auf dem Server SSH nicht auf dem Standardport genutzt so muss der Clone-Befehl wie folgt lauten: | ||
- | <code> | ||
- | git clone ssh://[Gitoliteuser]@adresse.des.servers:[SSHPort]/gitolite-admin.git | ||
- | </code> | ||
- | |||
- | Das Admin-Repository hat zwei Verzeichnisse die für bestimmte Zwecke verwendet werden: | ||
- | * keydir: Hier werden alle SSH-keys abgelegt, die für die Zugangskontrolle gebraucht werden | ||
- | * config: Dieses Verzeichnis besitzt nur die Datei **gitolite.conf** die für die Verwaltung genutzt wird. | ||
- | ==== Verwaltung Nutzer ==== | ||
- | Die Zugangsverwaltung für gitolite erfolgt wie für GIT üblich mit SSH-keys. | ||
- | |||
- | Pro Nutzer können beliebig viele SSH-Schlüssel für verschiedene Computer eingetragen werden. | ||
- | Die SSH-PublicKeys der Nutzer werden im Verzeichnis "keydir" abgelegt. | ||
- | |||
- | Das Konzept ist denkbar einfach: Man nehme an, dass der Nutzer "**hans**" zwei keys hat, einen für den **Desktop**, einen für den **Laptop**. Die beiden Schlüssel werden dann im keydir als **hans@desktop** und **hans@laptop** abgelegt. | ||
- | ==== Verwaltung Repos ==== | ||
- | ==== Upload Config ==== | ||
- | |||
- | {{tag>git versionsverwaltung}} | ||
- | |||
- | |||
- | |||
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.