Comment configurer Gitlab-omnibus avec un serveur Web non fourni?

11

Installer

  1. J'ai installé le gitlabpackage via le package omnibus sur debian 7(version 7.8.1-omnibus-1_amd64.deb);
  2. modifier les paramètres comme décrit dans Utilisation d'un serveur Web non fourni
  3. exécutez la commande de reconfiguration: sudo gitlab-ctl reconfigure(terminée sans erreur).

Nginx

Je n'ai eu aucune nginxconfig pour ce gitlab sauf pour ce que le paquet aurait pu créer avec le /etc/gitlab/gitlab.rbfichier suivant :

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

Journaux

/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

Dans acces.log, j'ai reçu des centaines de demandes /.

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"

Question

Lorsque links2j'ai essayé de contacter le serveur localement en utilisant ou en externe, j'ai eu une erreur 502 Bad Gateway.

  • dois-je créer une configuration nginx personnalisée?
Édouard Lopez
la source

Réponses:

9

En continuant à explorer, je trouve le /var/opt/gitlab/répertoire et je résous ce problème:

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
la source
Ì marqueraient thıs que les Réponse. Elle dispose en får à ma connaissance, ̶ DÉCLARATION NI pratique exemplaire / 404 erreurs Donne SOLution même lors de la connexion. Est-ce une erreur de ma part?
GCon
1
Oui, c'était une erreur de ma part. Travaux!
GCon
1
Notez que cela ne fonctionne plus complètement, car vous obtiendrez une unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52erreur.
00500005
Ce qui suit résout le problème du format de journal sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/etsudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby
2

En ce qui concerne gitlab 8, nous ne pouvons plus créer de lien symbolique vers le gitlab-http.conf par défaut car le serveur Web de bundle ne sera pas installé lorsque nous définirons nginx['enable'] = false.

Téléchargez simplement les bonnes configurations de serveur Web à partir du référentiel de recettes GitLab et modifiez-les YOUR_SERVER_FQDNavec votre nom de domaine préféré.

Voir ici pour des instructions détaillées sur la façon d'installer gitlab à l'aide d'un serveur Web non fourni.

Euph0rix
la source
1

Pour vous assurer que l'utilisateur est accessible, votre utilisateur Nginx (généralement www-data ou nginx) doit être ajouté au groupe gitlab-www:

sudo usermod -aG gitlab-www nginx

ou

sudo usermod -aG gitlab-www www-data
Mohsen Beiranvand
la source
1

Si vous avez créé un lien symbolique vers gitlab-http.conf, puis obtenu:

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

Ajoutez simplement les log_formatdirectives de /var/opt/gitlab/nginx/conf/nginx.confà votre configuration globale de nginx:

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"';
  ...
}
Frédéric Seiler
la source