我已经设置好,我们正在运行GitLab v6.0.1的默认安装(我们即将升级)。这是一个"生产"设置,按照本指南正确写入字母:
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
现在,我们如何安全地更改正在运行的安装的网址?
显然我们的网址很长,而且我们提供了一个新的网址。我编辑了许多配置文件和"应用程序状态检查"报告一切正常。我重新启动了服务器,以确保一切正常。
我可以通过原始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 a new URL
/etc/nginx/sites-available/gitlab
server {
server_name git.domain.com
答案 0 :(得分:149)
对于Omnibus安装,它有点不同。
Omnibus安装中的正确位置为:
/etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
最后,您需要执行sudo gitlab-ctl reconfigure
和sudo 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`.
答案 1 :(得分:28)
你做的一切都正确!
您还可以更改电子邮件配置,具体取决于电子邮件服务器是否也是同一服务器。电子邮件配置位于gitlab.yml,用于GitLab发送的邮件以及admin-email。
答案 2 :(得分: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;
...
答案 3 :(得分:1)
有关于此的详细说明完全帮助了我,located here。
Jonathon Reinhart已经回答了关键位,要编辑 /etc/gitlab/gitlab.rb ,修改 external_url ,然后运行sudo gitlab-ctl reconfigure; sudo gitlab-ctl restart
< / p>
但是我需要更进一步,上面链接的文档解释了它。所以我最终得到的结果如下:
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