Comment configurer Gitlab-omnibus avec un server Web non groupé?

Installer

  1. J'ai installé le package gitlab via le package omnibus sur debian 7 (version 7.8.1-omnibus-1_amd64.deb );
  2. modifiez les parameters comme décrit dans Utilisation d'un server Web non groupé
  3. exécutez la command de reconfiguration: sudo gitlab-ctl reconfigure (complet sans erreur).

Nginx

Je n'ai pas de configuration nginx pour ce gitlab à l'exception de ce que le package aurait pu créer avec le file suivant /etc/gitlab/gitlab.rb :

 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: xx128.194, server: git.mydomain.fr, request: "GET / HTTP/1.0", upstream : "http://xx128.194:80/", host: "git.mydomain.fr" 

/var/log/nginx/gitlab_access.log

Dans access.log, j'ai reçu des centaines de requests sur / .

 xx128.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" xx128.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" xx128.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"xx128.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" xx128.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" 

Question

Lorsque vous essayez de contacter le service localement à l'aide de links2 ou à l'extérieur, j'ai une erreur 502 Bad Gateway .

  • Dois-je créer une configuration nginx personnalisée?

En continuant d'explorer, je trouve le directory /var/opt/gitlab/ et résolvez ceci:

 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 

Pour s'assurer que les users sont accessibles, votre user Nginx (habituellement www-data ou nginx) devrait être ajouté au groupe gitlab-www:

 sudo usermod -aG gitlab-www nginx 

ou

 sudo usermod -aG gitlab-www www-data 

Si vous avez symbolisé gitlab-http.conf et obtenu:

format de journal inconnu "gitlab_access" dans /etc/nginx/sites-enabled/gitlab-http.conf

Ajoutez simplement les directives log_format de /var/opt/gitlab/nginx/conf/nginx.conf à votre configuration 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"'; ... } 

En ce qui concerne gitlab 8, nous ne pouvons pas créer un lien symbolique avec le gitlab-http.conf par défaut car le server Web du package ne sera pas installé lorsque nous définissons nginx['enable'] = false .

Il suffit de download les configurations du server Web correct dans le repository de recettes de GitLab et de modifier YOUR_SERVER_FQDN avec votre nom de domaine préféré.

Consultez ici les instructions détaillées sur la façon d'installer gitlab en utilisant un server Web non groupé.