在Windows上的Apache上为每个git repo设置用户访问权限

时间:2011-08-10 10:59:19

标签: apache git

我正在设置git repos,以便在Windows上由Apache提供服务。 Httpd.conf非常简单 - 它将请求转发给git-http-backend并告诉Apache只允许对经过身份验证的用户进行访问。它工作正常。但是,我们需要为每个仓库指定不同的AuthUserFile - RepoOne.git用户usersOneGroup,用于RepoTwo.git usersTwoGroup。

我尝试在Directory(DirectoryMatch等)指令中指定不同的文件夹,但无法使其正常工作。有没有办法设置它?如果是这样的话?

相关的httpd.conf部分(主要从this post借用):

<Directory />
    AuthType Basic
    AuthName "git repos"
    AuthUserFile "c:\CommittersPasswords"
    Require valid-user
</Directory>

SetEnv GIT_PROJECT_ROOT C:/Repositories
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch \
        "(?x)^/(.*/(HEAD | \
                        info/refs | \
                        objects/(info/[^/]+ | \
                                 [0-9a-f]{2}/[0-9a-f]{38} | \
                                 pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
                        git-(upload|receive)-pack))$" \
                        "C:/Program Files (x86)/git/libexec/git-core/git-http-backend.exe/$1"

由于

1 个答案:

答案 0 :(得分:0)

如果您可以在没有Apache的情况下生活(或者如果您愿意将Apache用作反向代理),您可能会看到Gitblit是否适合您。 Gitblit是为小型工作组编写的集成纯Java Git解决方案。