Wie richte ich Gitlab-omnibus mit einem nicht gebündelten Webserver ein?

11

Installieren

  1. Ich habe das gitlabPaket über das Omnibus-Paket auf debian 7(Version 7.8.1-omnibus-1_amd64.deb) installiert .
  2. Ändern Sie die Einstellungen wie unter Verwenden eines nicht gebündelten Webservers beschrieben
  3. Führen Sie den Befehl recfigure aus: sudo gitlab-ctl reconfigure(ohne Fehler abgeschlossen).

Nginx

Ich habe keine nginxKonfiguration für dieses Gitlab erhalten, außer dem, was das Paket möglicherweise mit der folgenden /etc/gitlab/gitlab.rbDatei erstellt hat:

external_url 'http://git.mydomain.fr'
web_server['external_users'] = ['www-data']
nginx['enable'] = false
ci_nginx['enable'] = false

Protokolle

/var/log/nginx/gitlab_error.log

2015/02/28 14:29:16 [alert] 4137#0: *14738 768 worker_connections are not enough while connecting to upstream, client: x.x.128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream
: "http://x.x.128.194:80/", host: "git.mydomain.fr"

/var/log/nginx/gitlab_access.log

Im acces.log habe ich Hunderte von Anfragen erhalten /.

x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"
x.x.128.194 - - [28/Feb/2015:14:29:16 +0100] "GET / HTTP/1.0" 500 186 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0"

Frage

Beim Versuch, den Serve lokal über links2oder extern zu kontaktieren, ist eine Fehlermeldung aufgetreten 502 Bad Gateway.

  • Muss ich eine benutzerdefinierte Nginx-Konfiguration erstellen?
Édouard Lopez
quelle

Antworten:

9

Wenn ich weiter erforsche, finde ich das /var/opt/gitlab/Verzeichnis und löse dieses Problem:

sudo ln -s /var/opt/gitlab/nginx/conf/gitlab-http.conf /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-{available,enabled}/gitlab-http.conf
sudo service nginx reload
Édouard Lopez
quelle
Ich würde Mark dies als ̶a̶n̶s̶w̶e̶r̶.̶ Es funktioniert so weit ich kann Ihnen sagen, ̶ und es gibt keine bessere Praxis / Lösung gibt 404 - Fehler auch bei der Anmeldung. Ist es ein Fehler an meinem Ende?
GCon
1
Ja, es war ein Fehler an meinem Ende. Funktioniert!
GCon
1
Beachten Sie, dass dies nicht mehr vollständig funktioniert, da eine unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52Fehlermeldung angezeigt wird.
00500005
Das folgende behebt das Protokollformatproblem sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/undsudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby
2

Für gitlab 8 können wir keine Symlink mehr zur Standard-gitlab-http.conf erstellen, da der Bundle-Webserver beim Festlegen nicht installiert wird nginx['enable'] = false.

Laden Sie einfach die richtigen Webserver-Konfigurationen aus dem GitLab- Rezept- Repository herunter und ändern Sie sie YOUR_SERVER_FQDNmit Ihrem bevorzugten Domain-Namen.

Siehe hier zum Detail Anweisungen , wie nicht-gebündelten Web-Server installieren Gitlab verwenden.

Euph0rix
quelle
1

Um sicherzustellen, dass Benutzer zugänglich sind, sollte Ihr Nginx-Benutzer (normalerweise www-data oder nginx) zur Gruppe gitlab-www hinzugefügt werden:

sudo usermod -aG gitlab-www nginx

oder

sudo usermod -aG gitlab-www www-data
Mohsen Beiranvand
quelle
1

Wenn Sie gitlab-http.conf symlinked und dann bekommen haben:

unbekanntes Protokollformat "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf

Fügen Sie einfach die log_formatAnweisungen von /var/opt/gitlab/nginx/conf/nginx.confzu Ihrer globalen Nginx-Konfiguration hinzu:

http {
  ...
  log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_ci_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  log_format gitlab_mattermost_access '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';
  ...
}
Frederic Seiler
quelle