我正在尝试在我的网络服务器上设置一个git repo。 因为我不想给每个人ssh访问权限,所以我想使用http-backend。
以下是我使用的lighttpd的配置:
$HTTP["host"] =~ "git.domain.org" {
alias.url += ( "/git" => "/usr/lib/git-core/git-http-backend")
# prevent a request to "/git" from causing a 500 error (no PATH_INFO)
url.rewrite-once = ( "^/git$" => "/git/" )
$HTTP["url"] =~ "^/git/" {
# turn on CGI unconditionally for this URL
cgi.assign = ( "" => "" )
setenv.add-environment = (
"GIT_PROJECT_ROOT" => "/home/<username>/git/",
"GIT_HTTP_EXPORT_ALL" => ""
)
}
}
尝试克隆(git clone http://git.domain.org/git/test.git)时,会出现以下错误:
fatal: http://git.domain.org/git/test.git/info/refs not valid: is this a git repository?
响应回购放在/home/username/git/test.git。
任何想法如何解决这个问题? 当我尝试在租用的网络服务器上执行此操作时,我没有超级用户访问权限。
答案 0 :(得分:0)
如果您正在运行opensuse,因为您的gitroot不在/ srv / git中,您需要更新apparmor以允许读取您的gitrepo。
编辑/etc/apparmor.d/usr.share.git-web.gitweb.cgi 并将/ home / username / git和/ home / username / git / **添加到现有列表中。