Come configurare Gitlab-omnibus con un web server non in bundle?


11

Installare

  1. Ho installato il gitlabpacchetto tramite il pacchetto omnibus su debian 7(versione 7.8.1-omnibus-1_amd64.deb);
  2. modificare le impostazioni come descritto in Utilizzo di un server Web non in bundle
  3. eseguire il comando reconfigure: sudo gitlab-ctl reconfigure(completo senza errore).

nginx

Non ho ricevuto alcuna nginxconfigurazione per questo gitlab, tranne per quello che il pacchetto avrebbe potuto creare con il seguente /etc/gitlab/gitlab.rbfile:

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

logs

/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

Nel acces.log ho ricevuto centinaia di richieste /.

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"

Domanda

Quando links2ho provato a contattare il servizio localmente utilizzando o esternamente ho ricevuto un errore 502 Bad Gateway.

  • devo creare una configurazione personalizzata di nginx?

Risposte:


9

Continuando ad esplorare trovo la /var/opt/gitlab/directory e risolvo questo facendo:

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

Vorrei segnaliamo come la Risposta: Si lavora, per quanto posso dire, ̶ e non c'è una migliore pratica / soluzione offre 404 errori anche al momento del login. È un errore da parte mia?
GCon

1
Sì, è stato un errore da parte mia. Lavori!
GCon,

1
Nota, questo non funziona più completamente, poiché otterrai un unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52errore.
00500005

Quanto segue risolve il problema del formato del registro sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/esudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgum

2

Per quanto riguarda gitlab 8, non possiamo più ricollegare a gitlab-http.conf predefinito perché il webserver del bundle non verrà installato quando impostiamo nginx['enable'] = false.

Scarica le giuste configurazioni del web server dal repository delle ricette GitLab e cambia YOUR_SERVER_FQDNcon il tuo nome di dominio preferito.

Vedi qui per istruzioni dettagliate su come installare gitlab usando un web server non in bundle.


1

Per garantire che l'utente sia accessibile, l'utente Nginx (di solito www-data o nginx) deve essere aggiunto al gruppo gitlab-www:

sudo usermod -aG gitlab-www nginx

o

sudo usermod -aG gitlab-www www-data

1

Se hai collegato simbolicamente gitlab-http.conf e hai ottenuto:

formato di registro sconosciuto "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf

Aggiungi le log_formatdirettive dalla /var/opt/gitlab/nginx/conf/nginx.conftua configurazione nginx globale:

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"';
  ...
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.