Como configurar o Gitlab-omnibus com um servidor Web não empacotado?

11

Instalar

  1. Eu instalei o gitlabpacote através do pacote omnibus em debian 7(versão 7.8.1-omnibus-1_amd64.deb);
  2. altere as configurações conforme descrito em Usando um Servidor da Web Não Incluído no Pacote
  3. execute o comando reconfigure: sudo gitlab-ctl reconfigure(completo sem erro).

Nginx

Não obtive nginx'config para este gitlab, exceto pelo que o pacote pode ter criado com o seguinte /etc/gitlab/gitlab.rbarquivo:

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

Histórico

/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

No acces.log, recebi centenas de solicitações /.

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"

Questão

Ao tentar entrar em contato com o serviço localmente links2ou externamente, recebi um erro 502 Bad Gateway.

  • preciso criar uma configuração personalizada do nginx '?
Édouard Lopez
fonte

Respostas:

9

Continuando a explorar, localizo o /var/opt/gitlab/diretório e resolvo isso:

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
fonte
Gostaria de marcar este como o ̶a̶n̶s̶w̶e̶r̶.̶ Ele funciona tanto quanto eu posso dizer, ̶ E não há melhor prática / solução oferece 404 erros, mesmo no início da sessão. É um erro do meu lado?
GCon
1
Sim, foi um erro do meu lado. Trabalho!
GCON
1
Observe que isso não funciona mais completamente, pois você receberá um unknown log format "gitlab_access" in /etc/nginx/sites-enabled/gitlab-http.conf:52erro.
00500005 14/03
Os seguintes corrige o problema formato de log sudo ln -s /var/opt/gitlab/nginx/conf/nginx.conf /etc/nginx/sites-available/esudo ln -s /etc/nginx/sites-{available,enabled}/nginx.conf
solidgumby
2

Quanto ao gitlab 8, não podemos vincular mais o gitlab-http.conf padrão porque o servidor da Web do pacote não será instalado quando configuramos nginx['enable'] = false.

Basta baixar as configurações corretas do servidor Web no repositório de receitas do GitLab e alterar YOUR_SERVER_FQDNcom o seu nome de domínio preferido.

Veja aqui para obter instruções detalhadas sobre como instalar o gitlab usando um servidor da Web não empacotado.

Euph0rix
fonte
1

Para garantir que o usuário esteja acessível, seu usuário Nginx (geralmente www-data ou nginx) deve ser adicionado ao grupo gitlab-www:

sudo usermod -aG gitlab-www nginx

ou

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

Se você vinculou o gitlab-http.conf e obteve:

formato de log desconhecido "gitlab_access" em /etc/nginx/sites-enabled/gitlab-http.conf

Basta adicionar as log_formatdiretivas de /var/opt/gitlab/nginx/conf/nginx.confsua configuração global do 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
fonte