2013-10-18 73 views
68

我已经安装了,我们正在运行Gitlab v6.0.1的默认安装(我们即将升级)。这是一个“生产”的设置,本指南恰恰以下的信:如何更改正在运行的GitLab安装的URL?

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

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

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

这一切似乎都没问题;但是,因为这对我来说不是一个本地环境,所以我想仔细检查一下我是否已经完成了重命名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 

谢谢!

+8

总括安装用户:这个过程是不同的(HTTP:// stackoverflow.com/a/28005168/119527)。 –

回答

23

你一切正常!

您还可能更改的是电子邮件配置,具体取决于电子邮件服务器是否也是同一台服务器。电子邮件配置位于gitlab.yml,用于GitLab发送的邮件以及管理员电子邮件。

+0

我在想这件事,因为我设置了从我们位于不同域的全球开发人员组电子邮件别名发送的发件人电子邮件(和其他电子邮件)。像:[email protected]。原因是允许开发人员点击回复,以对请求或其他常规电子邮件发表评论。 – eduncan911

+2

回来标记这是一个答案,因为GitLab自上面做出这些更改以来一直正常工作。 – eduncan911

7

其实这并不完全正确。我到达这个页面,试图自己回答这个问题,因为我们正在将生产gitlab服务器从http://过渡到https://大多数东西如上所述工作,但是当您登录到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; 

... 
+0

谢谢爱德华的评论(你发布了这个问题的答案,当它实际上是@Razer上面对不同答案的评论时)。你可能想要编辑你的答案(评论)来说明你为他人提供的版本。但是,自从我发布这个问题以来,我们一直在成功使用GitLab。我们可以浏览整个团队的回购和项目 - 完全通过SSL在我们的企业网络中完全通过SSL。 – eduncan911

+2

我知道,但其他答案被标记为接受的答案。所以我故意不想评论它,因为这没有得到关注。发布另一个答案有点更明显。我使用最新的gitlab-shell 1.8.0和gitlab 6.4 stable。我们也可以完全通过https和ssh工作。但是,我们必须记住,每当我们将指示或URL从网页界面复制并粘贴到git客户端时,都要通过https替换http。 –

+0

这听起来对于你错过了其中一个配置文件中的URL。我们只使用HTTPS并在我原始问题/描述中的“移动”之前故意禁用HTTP。因此,将其仅作为HTTPS使我们能够无缝地按照发布的指示进行移动。但是,如果您运行的是混合模式的http/https环境,则很可能需要编辑一些其他行。 – eduncan911

123

GitLab总括

对于一个综合性的安装,这是一个有点不同。

正确发生在一个综合性的安装是:

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

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


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

不正确路径是:

/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`. 
+0

我在内部服务器上安装了GitLab Omnibus,但可以从互联网上从不同的URL访问。 '/ etc/gitlab/gitlab.rb'中的'external_url'选项是设置URL的正确位置,因此项目Git/HTTP URL将是正确的。 –

+0

另外,在更改之后以及运行gitlab-ctl reconfigure之后,您必须重新启动服务器才能进行nginx重新配置。 – Dejv

+0

你是对的,这是改变这些设置的唯一和最好的地方。剩下的就产生了。 – danger89

0

有这个完全帮我,located here详细的笔记。

乔纳森·莱因哈特已与键位回答,编辑/etc/gitlab/gitlab.rb,改变external_url然后运行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由于通过反向代理达到我所有的东西,这部分潜在显著。

当我通过这个去了,我搞砸的东西了,它有助于找到实际nginx的日志,这导致我在那里:

sudo gitlab-ctl tail nginx