在 Apache 上安装 GitLab 作为子目录

在 Apache 上安装 GitLab 作为子目录

我有一个现有的 Ubuntu LAMP 服务器,已设置好并与我的域配合使用。我想在我的 Apache 安装上安装 GitLab,并且我希望能够像子目录一样访问它(例如 example.com/gitlab)。

大多数教程都是针对 Ubuntu 16.04 的,似乎不适用于 18.04。我尝试了很多教程,但始终无法让 GitLab 在 Apache 上运行。

有任何想法吗?

答案1

首先,根据安装说明安装 GitLab,但请确保将其安装在相对 URL 下。请注意,GitLab 建议在根 URL 处安装,但这会阻止它在您现有 Web 服务器的“URL 空间”内运行。

一旦你的 GitLab 实例启动并运行,请说http://internal.domain:1234/gitlab,你让你的 Apache 成为代理。在 Apache 配置中添加Location如下部分:

<Location /gitlab>
    ProxyPass http://internal.domain:1234/gitlab
    ProxyPassReverse http://internal.domain:1234/gitlab
</Location>

由于你的 Apache 将终止 https 连接,如果 GitLab 使用 http,你需要告诉 GitLab 以下信息:

    RequestHeader set X-Forwarded-Proto https
    RequestHeader set X-Forwarded-Ssl on

请注意,您还需要将ssh流量从公共 IP 转发到 GitLab 服务器。否则git clone 'git@...'无法工作,并且您只能使用git clone https://...

相关内容