我正在设置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"
由于
答案 0 :(得分:0)
如果您可以在没有Apache的情况下生活(或者如果您愿意将Apache用作反向代理),您可能会看到Gitblit是否适合您。 Gitblit是为小型工作组编写的集成纯Java Git解决方案。