Wie installiert man einen Gitblit Server unter Ubuntu, so dass dieser automatisch die Benutzer von Linux über PAM einbindet und automatisch beim Hochfahren gestartet wird?
Ganz einfach. Befolge folgende Schritte und du hast in kürzester Zeit einen Gitblit Server am Start.
Vorbedingungen
- Java 8 oder äquivalente JVM ist installiert.
- Du verfügst über sudo Rechte
- Du hast auf den Ubuntu Server/Rechner Zugriff über ssh oder ein Terminal
Anleitung
Download und Installation
Lade das Gitblit GO für Linux/OSC unter Gitblit herunter. Aktuell (Stand Oktober 2016) ist das der Download Link: http://dl.bintray.com/gitblit/releases/gitblit-1.8.0.tar.gz
Lade es über wget herunter:
user@host:~$ wget http://dl.bintray.com/gitblit/releases/gitblit-1.8.0.tar.gzKopiere den Tar-Ball in das Verzeichnis opt:
user@host:~$ sudo cp gitblit-1.8.0.tar.gz /opt/Wechsle in das opt Verzeichnis:
user@host:~$ cd /optEntpacke den Tar-Ball:
user@host:/opt$ sudo tar -xvf gitblit-1.8.0.tar.gzSymlink erstellen:
user@host:/opt$ sudo ln -s /opt/gitblit-1.8.0 /opt/gitblitgitblit user die Rechte an dem Gitblit Verzeichnis sowie dem Symlink geben:
user@host:/opt$ sudo chown -R gitblit:gitblit /opt/gitblit-1.8.0
user@host:/opt$ sudo chown -R gitblit:gitblit /opt/gitblitBenutzer korrekt einrichten
Für den Gitblit Server Dienst muss ein “gitblit” Benutzer eingerichtet werden, da das Service Script so einen Benutzer erwartet.
Dabei befolgt man nachfolgende Schritte.
Benutzer als System Benutzer anlegen:
user@host:/opt$ sudo adduser --system --shell /bin/bash --home /opt/gitblit/data gitblitEine Gitblit Gruppe anlegen:
user@host:/opt$ sudo addgroup gitblitDen Benutzer der Gitblit Gruppe zuweisen:
user@host:/opt$ sudo addgroup gitblit gitblitFür PAM Authentication Gitblit User zu Gruppe shadow hinzufügen:
user@host:/opt$ sudo addgroup gitblit shadowDienst einrichten
Damit der Gitblit Server automatisch hochfährt sollte man ihn noch als Dienst einrichten.
In das Verzeichnis /opt/gitblit/ wechseln:
user@host:/opt$ cd /opt/gitblitDort das Skript install-service-ubuntu.sh ausführen:
user@host:/opt/gitblit$ sudo ./install-service-ubuntu.shDamit wird der Gitblit Server als Dienst eingerichtet.
Konfiguration von Gitblit
Wie Gitblit auf PAM zugreifen kann wird sehr gut unter http://gitblit.com/setup_authentication.html dokumentiert.
Wie die SSH Zertifikate eingerichtet werden können wird sehr gut unter http://gitblit.com/setup_go.html beschrieben. Einziger Nachteil ist hier, dass man ein X-Windows braucht.
Kurzanleitung für PAM
Unter /etc/pam.d/ eine Datei gitblit anlegen:
user@host:/opt$ sudo vim /etc/pam.d/gitblitFolgenden Inhalt hinzufügen:
1
2
3
# PAM configuration for the gitblit service
# Standard Un*x authentication.
@include common-auth
Das neue PAM Config File in den gitblit.properties (Zeile 31, 32) referenzieren:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#
# GITBLIT.PROPERTIES
#
# Define your custom settings in this file and/or include settings defined in
# other properties files.
#
# Include Gitblit's 'defaults.properties' within your configuration.
#
# NOTE: Gitblit will not automatically reload "included" properties. Gitblit
# only watches the 'gitblit.properties' file for modifications.
#
# Paths may be relative to the ${baseFolder} or they may be absolute.
#
# COMMA-DELIMITED
# SINCE 1.7.0
include = defaults.properties
#
# Define your overrides or custom settings below
#
server.storePassword = <passwort>
git.packedGitLimit = 150m
web.siteName = <Host Name>
server.certificateAlias = <Vollqualifizierter Host Name im Netz>
# Authentication
realm.authenticationProviders = pam
realm.pam.serviceName = gitblit
Server Starten
Den Server dann starten mit folgendem Befehl:
user@host:/opt$ sudo /etc/init.d/gitblit startTrouble Shooting
Log File Analyse des Gitblit Servers mit dem less Befehl:
user@host:/opt$ less /opt/gitblit/data/logs/gitblit.logLog File Analyse des Ubuntu Dienstes:
user@host:/opt$ less /var/log/syslog