我有一个现有的 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://...
。