设置Apache2通过别名(或符号链接)提供git repos

时间:2017-07-17 02:17:12

标签: git apache http

我有一台运行Apache2的服务器来提供git存储库。

回购的实际位置是在域驱动器(备份等)上 - 而不是实际Web服务器上的文件夹。

我可以在网络服务器上安装域驱动器并设置所有者/组等:如果我将mountpoint放在webroot中(比如/ var / www / html / domain_mount /),那么我可以通过URL引用repos没有问题。

但是,因为域驱动器上还有很多其他与代码无关的东西,所以我只想将别名(或符号链接)配置到git repos的位置。

理想情况下,我还希望将域驱动器安装在通常位置以实现一致性(/ media / username / domain_mount)。

  1. Apache(或它是git?)不提供别名的git repos - 我该如何实现?
  2. Apache配置有:

    Alias /git/fa.git /var/www/html/git/domain_drive/path/to/repository.git
    

    error.log显示:

    Not a git repository: '/var/www/html/git/fa.git'
    
    1. 一旦我有了这个工作,我认为如何配置Apache从webroot外部服务(指令?)会更加明显 - 是否有任何问题(1)我应该考虑到这些?
    2. N.B。我在配置Apache时遵循了这里的一般步骤:

      https://git-scm.com/book/en/v2/Git-on-the-Server-Smart-HTTP

      http://www.codepool.biz/git-server-ssh-http-ubuntu.html

1 个答案:

答案 0 :(得分:1)

最终,我能够使用符号链接获得有效的配置 - 它可以在克隆和推送中运行。

此人的帖子非常有帮助:

How to set up git over http?

启用符号链接后我也重新访问了符号链接选项(来自@ 1615903的提醒 - 谢谢),然后对权限进行了一些故障排除。

最后一个难题是将用户和组设置的域驱动器安装到Apache的。

我之前刚刚使用群组装载,继续使用官方git-scm手册中的ddlETCsc2建议。似乎这还不足以获得稳健的行为......