如何更改工作的GitLab安装的URL?

我已经安装,我们正在运行Gitlab v6.0.1(我们即将升级)的默认安装。 这是一个“生产”的设置,按照这个指导正是为了这封信:

https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

现在,我们如何安全地更改工作安装的URL?

显然我们的url很长,我们已经提出了一个新的url。 我编辑了一些configuration文件,“应用程序状态检查”报告一切正常。 我已经重新启动服务器,以确保事情仍然有效。 我可以通过我们原来的SSL访问Nginx。 我可以浏览gitlab网站,创build一个回购等,我可以分叉和提交就好了。

这一切似乎都没有问题。 但是,因为这不是我的本地环境,我想仔细检查一下,我已经做了所有重命名一个gitlab网站。

我编辑的文件是:

/etc/hosts 127.0.0.1 localhost 10.0.0.10 wake.domain.com wake 10.0.0.10 git.domain.com git /home/git/gitlab/config/gitlab.yml production: &base gitlab: host: git.domain.com /home/git/gitlab-shell/config.yml gitlab_url: "https://git.domain.com" ^- yes, we are on SSL and that is working, even on new url /etc/nginx/sites-available/gitlab server { server_name git.domain.com 

谢谢!

你做的一切都正确!

你也可能改变的是电子邮件configuration,取决于电子邮件服务器是否也是同一台服务器。 GitLab发送的邮件和admin-email的电子邮件configuration位于gitlab.yml中。

GitLab Omnibus

对于Omnibus安装,它有点不同。

Omnibus安装中的正确位置是:

 /etc/gitlab/gitlab.rb external_url 'http://gitlab.example.com' 

最后,您需要执行sudo gitlab-ctl reconfiguresudo gitlab-ctl restart以便应用更改。


我正在改变错误的地方,他们被吹走了。

不正确的path是:

 /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml /var/opt/gitlab/.gitconfig /var/opt/gitlab/nginx/conf/gitlab-http.conf 

请注意这些警告:

 # This file is managed by gitlab-ctl. Manual changes will be # erased! To change the contents below, edit /etc/gitlab/gitlab.rb # and run `sudo gitlab-ctl reconfigure`. 

其实这并不完全正确。 我到达了这个页面,自己试着回答这个问题,因为我们正在将生产gitlab服务器从http://https://而且大多数东西的工作方式如上所述,但是当您login到https://server一切看起来都不错…除了当你浏览到一个项目或存储库,并显示ssh和http说明…它说“http”和它显示的说明也说“http”。

我发现了一些更多的东西要编辑:

 /home/git/gitlab/config/gitlab.yml production: &base gitlab: host: git.domain.com # Also edit these: port: 443 https: true ... 

 /etc/nginx/sites-available/gitlab server { server_name git.domain.com; # Also edit these: listen 443 ssl; ssl_certificate /etc/ssl/certs/somecert.crt; ssl_certificate_key /etc/ssl/private/somekey.key; ... 

这里有详细的说明,完全帮助我, 位于这里 。

编辑/etc/gitlab/gitlab.rb ,改变external_url ,然后运行sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart

不过,我需要进一步去,我上面链接的文档解释了它。 所以我最终结果如下:

 external_url 'https://gitlab.toilethumor.com' nginx['ssl_certificate'] = "/www/ssl/star_toilethumor.com-chained.crt" nginx['ssl_certificate_key'] = "/www/ssl/star_toilethumor.com.key" nginx['proxy_set_headers'] = { "X-Forwarded-Proto" => "http", "CUSTOM_HEADER" => "VALUE" } 

上面,我明确地声明了我的SSL好东西在这个服务器上的位置。 那当然是

 sudo gitlab-ctl reconfigure sudo gitlab-ctl restart 

另外,当你将总包转换为https时,绑定的nginx将仅在端口443上提供。由于我所有的东西都是通过反向代理服务器访问的,所以这部分内容可能很重要。

当我经历这个,我搞砸了一些东西,它有助于find实际的nginx日志,这导致我在那里:

 sudo gitlab-ctl tail nginx