Gitlab - privates Github

Aus Chaostreff Chemnitz

Github gibt es leider nicht für Selfhosting. Es gibt aber mehrere Alternativen, z. B. Gitlab https://about.gitlab.com

Die Installation soll angeblich sehr einfach sein, macht jedoch einige Probleme.

Einrichtung

Nach der Installation müssen noch einige Einstellungen vorgenommen werden. Der FQDN ist hier einzutragen:

vim /etc/gitlab/gitlab.rb

des Weiteren können dort Ports angepasst werden:

# Check and change the external_url to the address your users will type in their browser
external_url 'http://mydomain.de:8080'
redis['port'] = 8001
unicorn['port'] = 8002

danach ist:

gitlab-ctl reconfigure

auszuführen, wodurch u. a. die Datei /opt/gitlab/embedded/service/gitlab-shell/config.yml erzeugt wird.

Dann ist mit folgendem Befehl das System zu initialisieren:

gitlab-rake gitlab:setup RAILS_ENV=production
gitlab-ctl restart

Jetzt sind auch die Links in den Bestätigungs-E-Mails korrekt und Gitlab sollte funktionieren. Für das Webinterface wurde Port 8080 gewählt, da so auf Port 80 weiterhin ein normaler Webservice gehostet werden kann. Die anderen Ports sind ebenfalls anzugeben, da die Standardeinstellung zu Portkonflikten führen kann, welche den Fehler: "502 Gitlab is not responding" hervorrufen können.

Dann im Browser: mydomain.de:8080

user: root
password: 5iveL!fe

Jetzt noch das Passwort ändern, neu einloggen und Nutzer anlegen, danach als Nutzer einloggen und ssh-keys hochladen.

Jetzt mit:

ssh -vvvT git@mydomain.de -i /path/to/my/ssh-key

testen. Falls der Login fehlschlägt, dann muss auf dem Server noch dem Nutzer git ein Passwort gegeben werden mit:

passwd git

dann erst ist der Nutzer nicht mehr gesperrt.

mögliche Probleme

Nach dem Anlegen eines Accounts wird eine E-Mail mit Bestätigungslink versandt. Dort sollte man eigentlich draufklicken können und anschließend ein neues Passwort wählen. Unter Umständen ist der Port nicht oder falsch im Link eingetragen. Das passiert, wenn die falschen Konfigurationsdateien geändert wurden oder die entsprechenden Befehle (reconfigure, restart) nicht ausgeführt wurden. Es ist nur die Konfigurationsdatei /etc/gitlab/gitlab.rb zu ändern.