Gitolite
Gitolite auf der DS
Gitolite erleichtert die Rechtevergabe bzw. die Zugangskontrolle zum Versionsverwaltungssystem git auf der DS.
Installation
Voraussetzungen
- Zugang auf die Kommandozeile (Shell)
- Umgang mit einem Editor z.B. vi
- Paketverwaltung ipkg muss installiert sein
- Login auf die Shell als root mit SSH Keys
- SCP muss installiert sein
Git installieren
Erstmal müsst ihr das Paket git auf eurer DS installieren.
$ ipkg update $ ipkg install git
Zusätzlich sollte mktemp installiert werden, da das gitolite setup dieses benötigt
$ ipkg install mktemp
Neuen Benutzer anlegen + Zugang zur Kommandozeile aktivieren
- Legt im DSM einen neuen Benutzer, der als Zugang zum git-Server dienen soll, an und aktiviert den home-Ordner.
- Für diesen Benutzer müsst ihr nun den Zugang zur Kommandozeile aktivieren.
- Loggt euch dazu als root auf eurer DS ein und führt dieses Kommando aus:
$ vi /etc/passwd
- Jetzt ändert ihr die Zeile
EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/sbin/nologin
aufEUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/bin/ash
und speichert die Datei ab.
- Loggt euch dazu als root auf eurer DS ein und führt dieses Kommando aus:
Public Key erzeugen und übertragen
Legt euch ein Pulic Key eines Benutzers eurer Workstation an (falls ihr nicht schon einen habt) und übertragt diesen zur DS und legt ihn in das Home des Git-Users
/volume1/homes/EUER_BENUTZER/EUER_KEY.pub
Sonstige hilfreiche Kommandos
Um Problemen bei der Gitolite Installation und der späteren Verwendung vorzubeugen, erstellen wir auf der DS einen Symbolic Link auf die git-Tools und mktemp
$ ln -s /opt/bin/git* /usr/bin/ $ ln -s /opt/bin/coreutils-mktemp /usr/bin/mktemp
Gitolite herunterladen + installieren
- Loggt euch auf der DS als EUER_BENUTZER ein
$ ssh EUER_BENUTZER@IP_zur_DS
oder$ ssh root@IP_zur_DS
$ su - git
- Erstellt die Datei .profile
$ vi ~/.profile
mit folgendem Inhaltexport HOME=/volume1/homes/EUER_BENUTZER
export PATH=$HOME/bin:$PATH
- Lesst diese neue .profile ein
$ source .profile
- Erstellt das Verzeichnis ~/bin
$ mkdir $HOME/bin
- Klont euch nun das gitolite-Repository
$ git clone http://github.com/sitaramc/gitolite.git
- Wechselt nun in diesen Ordner
$ cd gitolite
- Installiert Gitolite
$ gitolite/install -ln
- Führt das Gitolite Setup aus und gebt dabei den zuvor übertragenden Public Key eurer Workstation mit an
$ gitolite setup -pk EUER_KEY.pub
Verwendung von Gitolite
Die Verwendung von Gitolite auf der DS unterscheidet sich nicht von anderen Systemen, daher könnt ihr in der Gitolite-Dokumentation nachlesen wie ihr Gitolite benutzen könnt.