为了自动为我的所有git存储库服务,http.conf是什么?
例如,如果我有如下目录结构(名为git的中央目录中的许多项目):
/./htdocs/git/project1 1
/./htdocs/git/project2 2
/./htdocs/git/project3 3
为了避免重复每个项目,我需要写些什么:
<Location /git/project1>
DAV on
AuthType Basic
AuthName "Git"
AuthUserFile /../htdocs/git/project1/passwd.git
Require valid-user
</Location>奖金问题:
有没有一种方法可以让repos位于apache的htdocs之外,并将请求重定向到那里?(比如使用DocumentRoot)
备注:
所有repos都是裸的,因为它们是中央repos ( Trac使用的)。
发布于 2009-06-05 13:00:36
如果可能的话,我建议使用SSH来共享您的存储库--它将提供更好的安全性,并且通常工作得更好,因为HTTP在Git术语中是一个“愚蠢”的协议。这也意味着您可以使用标准的文件系统权限来控制访问,还可以运行钩子脚本等等。HTTP是Git的最低公共分母协议,我认为您最好使用其他东西。
如果您由于某种原因而无法使用HTTP,那么pgs的回答就是方法。
发布于 2009-06-05 12:12:47
如果您的所有存储库都可以使用相同的AuthUserFile,那么就可以了,但我不认为这是您所要求的。您可能需要在外部生成多个位置部分,比如使用一些perl代码,并让apache重新读取配置文件。
你考虑过使用gitosis或git守护进程吗?
关于你的奖金问题,比如:
alias /git /path/to/repository/root
<Directory "/path/to/repository/root">
...
</Directory>https://serverfault.com/questions/20419
复制相似问题