{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

{{< /details >}}

虽然您应该在自己的(子)域上安装极狐GitLab,但有时由于各种原因,这并不可能。在这种情况下,极狐GitLab 也可以安装在相对 URL 下,例如 https://example.com/gitlab

本文档描述了如何在相对 URL 下运行极狐GitLab 源码安装。如果您使用的是官方 Linux 软件包,步骤不同。如果您是第一次安装极狐GitLab,请结合安装指南使用此指南。

相对 URL 的嵌套深度没有限制。例如,您可以在 /foo/bar/gitlab/git 下提供极狐GitLab,而不会遇到任何问题。

更改现有极狐GitLab 安装的 URL 会更改所有远程 URL,因此您必须在指向极狐GitLab 实例的任何本地存储库中手动编辑它们。

您必须更改以下配置文件列表以从相对 URL 提供极狐GitLab:

  • /home/git/gitlab/config/initializers/relative_url.rb
  • /home/git/gitlab/config/gitlab.yml
  • /home/git/gitlab/config/puma.rb
  • /home/git/gitlab-shell/config.yml
  • /etc/default/gitlab

完成所有更改后,您必须重新编译资产并重启极狐GitLab

相对 URL 要求

如果您使用相对 URL 配置极狐GitLab,则必须重新编译资产(包括 JavaScript、CSS、字体和图像),这可能会消耗大量 CPU 和内存资源。为避免内存不足错误,您的计算机上应至少有 2 GB 的可用 RAM,我们建议 4 GB 的 RAM 和四个或八个 CPU 内核。

有关更多信息,请参阅要求文档。

在极狐GitLab 中启用相对 URL

{{< alert type=”note” >}}

不要对您的 Web 服务器配置文件进行有关相对 URL 的任何更改。相对 URL 支持由极狐GitLab Workhorse 实现。

{{< /alert >}}


在按照以下步骤在极狐GitLab 中启用相对 URL 之前,假设如下:

  • 极狐GitLab 在 /gitlab 下提供服务
  • 极狐GitLab 安装的目录是 /home/git/

确保遵循以下所有步骤:

  1. 可选。如果资源不足,您可以通过以下命令暂时释放一些内存来关闭极狐GitLab 服务:

    sudo service gitlab stop
    
  2. 创建 /home/git/gitlab/config/initializers/relative_url.rb

    cp /home/git/gitlab/config/initializers/relative_url.rb.sample \
       /home/git/gitlab/config/initializers/relative_url.rb
    

    并更改以下行:

    config.relative_url_root = "/gitlab"
    
  3. 编辑 /home/git/gitlab/config/gitlab.yml 并取消注释/更改以下行:

    relative_url_root: /gitlab
    
  4. 编辑 /home/git/gitlab/config/puma.rb 并取消注释/更改以下行:

    ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"
    
  5. 编辑 /home/git/gitlab-shell/config.yml 并在以下行中追加相对路径:

    gitlab_url: http://127.0.0.1/gitlab
    
  6. 确保已按照安装指南中的说明复制了提供的 systemd 服务或 init 脚本和默认文件。然后,编辑 /etc/default/gitlab 并在 gitlab_workhorse_options 中设置 -authBackend 设置为:

    -authBackend http://127.0.0.1:8080/gitlab
    

    {{< alert type=”note” >}}

    如果您使用的是自定义 init 脚本,请确保根据需要编辑上述极狐GitLab Workhorse 设置。

    {{< /alert >}}

  7. 重启极狐GitLab 以使更改生效。

在极狐GitLab 中禁用相对 URL

要禁用相对 URL:

  1. 删除 /home/git/gitlab/config/initializers/relative_url.rb

  2. 从上面的第 2 步开始,按照相同的步骤设置不包含相对路径的极狐GitLab URL。