¿Cómo configurar Gitlab-omnibus con un servidor web no incluido?

11

Instalar en pc

  1. Instalé el gitlabpaquete a través del paquete omnibus en debian 7(versión 7.8.1-omnibus-1_amd64.deb);
  2. cambiar la configuración como se describe en Uso de un servidor web no incluido
  3. ejecute el comando de reconfiguración: sudo gitlab-ctl reconfigure(completo sin error).

Nginx

No tengo nginx'config' para este gitlab, excepto por lo que el paquete podría haber creado con el siguiente /etc/gitlab/gitlab.rbarchivo:

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

Registros

/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

En acces.log recibí cientos de solicitudes /.

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"

Pregunta

Al intentar contactar el servicio localmente links2o externamente, recibí un error 502 Bad Gateway.

  • ¿Necesito crear una configuración personalizada de nginx?
Édouard Lopez
fuente

Respuestas:

9

Continuando explorando, encuentro el /var/opt/gitlab/directorio y resuelvo esto haciendo:

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
fuente
I marcaría esto como la RESPUESTA funciona la medida de lo que puedo decir, ̶ y no hay mejor práctica / solución proporciona 404 errores incluso en inicio de sesión. ¿Es un error de mi parte?
GCon
1
Sí, fue un error de mi parte. ¡Trabajos!
GCon
1
Tenga en cuenta que esto ya no funciona por completo, ya que obtendrá un unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52error.
00500005
Lo siguiente corrige el problema de formato de registro sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/ysudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby
2

En cuanto a gitlab 8, ya no podemos hacer un enlace simbólico al gitlab-http.conf predeterminado porque el servidor web del paquete no se instalará cuando lo configuremos nginx['enable'] = false.

Simplemente descargue las configuraciones correctas del servidor web desde el repositorio de recetas de GitLab y cambie YOUR_SERVER_FQDNcon su nombre de dominio preferido.

Consulte aquí para obtener instrucciones detalladas sobre cómo instalar gitlab utilizando un servidor web no incluido.

Euph0rix
fuente
1

Para garantizar que el usuario sea accesible, su usuario de Nginx (generalmente www-data o nginx) debe agregarse al grupo gitlab-www:

sudo usermod -aG gitlab-www nginx

o

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

Si vinculó gitlab-http.conf y luego obtuvo:

formato de registro desconocido "gitlab_access" en /etc/nginx/sites-enabled/gitlab-http.conf

Simplemente agregue las log_formatdirectivas de /var/opt/gitlab/nginx/conf/nginx.confa su configuración global 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"';
  ...
}
Frederic Seiler
fuente