Gitolite: Unterschied zwischen den Versionen

Aus
KKeine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:IPKG-Apps]]
== Gitolite auf der DS ==
== Gitolite auf der DS ==
[http://github.com/sitaramc/gitolite Gitolite] erleichtert die Rechtevergabe bzw. die Zugangskontrolle zum Versionsverwaltungssystem [http://git-scm.com/ git] auf der DS.
[http://github.com/sitaramc/gitolite Gitolite] erleichtert die Rechtevergabe bzw. die Zugangskontrolle zum Versionsverwaltungssystem [http://git-scm.com/ git] auf der DS.
Zeile 4: Zeile 5:
== Installation ==
== Installation ==
=== Voraussetzungen ===
=== Voraussetzungen ===
* [[Die_Kommandozeile|Zugang auf die Kommandozeile (Shell)]]
* [[Die Kommandozeile|Zugang auf die Kommandozeile (Shell)]]
* [[Der_Editor_vi|Umgang mit einem Editor z.B. vi]]
* [[Vergleich von Texteditoren|Umgang mit einem Editor z.B. vi]]
* [[IPKG|Paketverwaltung ipkg muss installiert sein]]
* [[IPKG|Paketverwaltung ipkg muss installiert sein]]
* [[Ssh_mit_Zertifikaten_absichern|Login auf die Shell als '''root''' mit SSH Keys]]
* [[Ssh_mit_Zertifikaten_absichern|Login auf die Shell als '''root''' mit SSH Keys]]
Zeile 15: Zeile 16:
$ ipkg install git
$ ipkg install git
</pre>
</pre>
Zusätzlich sollte mktemp installiert werden, da das gitolite setup dieses benötigt
<pre>
$ ipkg install mktemp
</pre>
=== Neuen Benutzer anlegen + Zugang zur Kommandozeile aktivieren===
=== 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.
# Legt im DSM einen neuen Benutzer, der als Zugang zum git-Server dienen soll, an und aktiviert den home-Ordner.
Zeile 20: Zeile 27:
## Loggt euch dazu als root auf eurer DS ein und führt dieses Kommando aus: <pre> $ vi /etc/passwd </pre>
## Loggt euch dazu als root auf eurer DS ein und führt dieses Kommando aus: <pre> $ vi /etc/passwd </pre>
## Jetzt ändert ihr die Zeile <pre> EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/sbin/nologin </pre> auf <pre> EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/bin/ash </pre> und speichert die Datei ab.
## Jetzt ändert ihr die Zeile <pre> EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/sbin/nologin </pre> auf <pre> EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/bin/ash </pre> und speichert die Datei ab.
=== 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 <pre>/volume1/homes/EUER_BENUTZER/EUER_KEY.pub </pre>
=== Sonstige hilfreiche Kommandos ===
=== Sonstige hilfreiche Kommandos ===
# Um Problemen bei der späteren Verwendung des git-Servers vorzubeugen, erstellen wir auf der DS einen Symbolic Link auf die git-Tools <pre> $ ln -s /opt/bin/git* /usr/bin/ </pre>
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
 
<pre>
$ ln -s /opt/bin/git* /usr/bin/
$ ln -s /opt/bin/coreutils-mktemp /usr/bin/mktemp
</pre>
 
=== Gitolite herunterladen + installieren ===
=== Gitolite herunterladen + installieren ===
# Klont euch nun das gitolite-Repository auf euren Rechner <pre> $ git clone http://github.com/sitaramc/gitolite.git </pre>
# Loggt euch auf der DS als EUER_BENUTZER ein <pre> $ ssh EUER_BENUTZER@IP_zur_DS </pre> oder <pre> $ ssh root@IP_zur_DS </pre> <pre> $ su - git </pre>
# Wechselt nun in diesen Ordner <pre> $ cd gitolite </pre>
# Erstellt in eurem Home die Datei .profile mit folgendem Inhalt <pre> export HOME=/volume1/homes/EUER_BENUTZER </pre> <pre> export PATH=$HOME/bin:$PATH </pre>
# Um Gitolite auf der DS zu installieren müsst ihr dieses Kommando (auf eurem Rechner) aufrufen <pre> $ exec ./src/gl-easy-install EUER_BENUTZER IP_zur_DS ADMIN_in_den_Repositorys </pre> (gibt es bei aktuellen Gitlolite Versionen nicht mehr!)
# Lesst diese neue .profile ein <pre> $ source .profile </pre>
# Folgt nun den Ausgaben auf der Kommandozeile bis zu dem Punkt wo ihr die Datei "gitolite.rc" bearbeiten könnt. Ändert dann den Eintrag <pre> $GIT_PATH=""; </pre> <pre> # $GIT_PATH="/opt/bin/"; </pre> auf <pre> # $GIT_PATH=""; </pre> <pre> $GIT_PATH="/opt/bin/"; </pre> und speichert die Datei ab
# Erstellt das Verzeichnis ~/bin <pre> $ mkdir $HOME/bin </pre>
# Nun folgt den Ausgaben auf der Kommandozeile bis zum Schluss
# Klont euch nun das gitolite-Repository und installiert Gitolite <pre> $ git clone http://github.com/sitaramc/gitolite.git </pre> <pre> $ gitolite/install -ln </pre>
# Führt das Gitolite Setup aus und gebt dabei den zuvor übertragenden Public Key eurer Workstation mit an <pre> $ gitolite setup -pk EUER_KEY.pub </pre>


== Verwendung von Gitolite ==
== Verwendung von Gitolite ==
Die Verwendung von [http://github.com/sitaramc/gitolite Gitolite] auf der DS unterscheidet sich nicht von anderen Systemen, daher könnt ihr in der [http://github.com/sitaramc/gitolite/tree/pu/doc Gitolite-Dokumentation] nachlesen wie ihr [http://github.com/sitaramc/gitolite Gitolite] benutzen könnt.
Die Verwendung von [http://github.com/sitaramc/gitolite Gitolite] auf der DS unterscheidet sich nicht von anderen Systemen, daher könnt ihr in der [http://github.com/sitaramc/gitolite/tree/pu/doc Gitolite-Dokumentation] nachlesen wie ihr [http://github.com/sitaramc/gitolite Gitolite] benutzen könnt.

Aktuelle Version vom 1. Februar 2014, 18:51 Uhr

Gitolite auf der DS

Gitolite erleichtert die Rechtevergabe bzw. die Zugangskontrolle zum Versionsverwaltungssystem git auf der DS.

Installation

Voraussetzungen

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

  1. Legt im DSM einen neuen Benutzer, der als Zugang zum git-Server dienen soll, an und aktiviert den home-Ordner.
  2. Für diesen Benutzer müsst ihr nun den Zugang zur Kommandozeile aktivieren.
    1. Loggt euch dazu als root auf eurer DS ein und führt dieses Kommando aus:
       $ vi /etc/passwd 
    2. Jetzt ändert ihr die Zeile
       EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/sbin/nologin 
      auf
       EUER_BENUTZER:x:1028:100::/var/services/homes/EUER_BENUTZER:/bin/ash 
      und speichert die Datei ab.

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

  1. Loggt euch auf der DS als EUER_BENUTZER ein
     $ ssh EUER_BENUTZER@IP_zur_DS 
    oder
     $ ssh root@IP_zur_DS 
     $ su - git 
  2. Erstellt in eurem Home die Datei .profile mit folgendem Inhalt
     export HOME=/volume1/homes/EUER_BENUTZER 
     export PATH=$HOME/bin:$PATH 
  3. Lesst diese neue .profile ein
     $ source .profile 
  4. Erstellt das Verzeichnis ~/bin
     $ mkdir $HOME/bin 
  5. Klont euch nun das gitolite-Repository und installiert Gitolite
     $ git clone http://github.com/sitaramc/gitolite.git 
     $ gitolite/install -ln 
  6. 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.