Eu instalei o GitLab usando o instalador do Omnibus. Ele está atualmente funcionando corretamente usando o Nginx (com o qual o GitLab é empacotado) em execução na porta 81. Alterei da porta 80 para a porta 81 porque tenho o Apache em execução na porta 80. Também tenho o Tomcat instalado e em execução na porta 8080, então alterei a porta Unicorn para 8081. Tudo isso funciona corretamente. Abaixo estão as configurações que eu mudei:
/etc/gitlab/gitlab.rb
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#configuring-the-external-url-for-gitlab
external_url 'http://mysite.example.net:81'
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#tcp-ports-for-gitlab-services-are-already-taken
unicorn['port'] = 8081
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#storing-git-data-in-an-alternative-directory
git_data_dir "/mnt/tank/gitlab"
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: mysite.example.net
port: 81
https: false
Infelizmente eu preciso do GitLab para rodar na porta 80. Já experimentei várias configurações de host virtual do Apache. O único sucesso que tive foi que eu posso digitar a URL
http://mysite.example.com/gitlab
e receber um erro 404, mas vejo que a URL muda para
http://mysite.example.com/users/sign_in
. O redirecionamento fez com que o
gitlab
fosse removido, mas se eu o colocasse de volta para obter o URL
http://mysite.example.com/gitlab/users/sign_in
, eu veria a página de login do GitLab, embora tudo esteja levantado porque nenhuma das imagens está correta. A configuração que usei para alcançar esses resultados está abaixo:
/etc/gitlab/gitlab.rb
# https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#configuring-the-external-url-for-gitlab
external_url 'http://mysite.example.com'
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#tcp-ports-for-gitlab-services-are-already-taken
unicorn['port'] = 8081
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#storing-git-data-in-an-alternative-directory
git_data_dir "/mnt/tank/gitlab"
#https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#using-a-non-bundled-web-server
nginx['enable'] = false
web_server['external_users'] = ['www-data']
/etc/apache2/apache2.conf
ServerName mysite.example.com
ProxyRequests Off
<Proxy *>
Order Allow,Deny
Allow from all
</Proxy>
# transmission
ProxyPass /transmission http://localhost:9091/transmission
ProxyPassReverse /transmission http://localhost:9091/transmission
# gitlab
ProxyPass /gitlab http://localhost:8081
ProxyPassReverse /gitlab http://localhost:8081
/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: mysite.example.com
port: 80
https: false