我已经设置了lighttpd和gitweb。创建了一个空存储库,如下所示:
$server> git --version
git version 1.7.11.7
$server> git --bare init p1
$server> cd p1
$server> git update-server-info
$server> cd ..
$server> chown -R lighttpd:lighttpd p1
在浏览器中我可以浏览此存储库,但是当我尝试从命令行克隆它时,我得到:
$> git clone https://example.com/git/project.git p1
Cloning into 'p1'...
fatal: https://example.com/git/project.git/info/refs?service=git-upload-pack not found: did you run git update-server-info on the server?
而且,也许有帮助,这是我的lighttpd配置
alias.url += (
"/static/gitweb.css" => "/var/www/git/static/gitweb.css",
"/static/git-logo.png" => "/var/www/git/static/git-logo.png",
"/static/git-favicon.png" => "/var/www/git/static/git-favicon.png",
"/static/gitweb.js" => "/var/www/git/static/gitweb.js",
"/git" => "/var/www/git/gitweb.cgi"
)
我确实运行了'git update-server-info',但没有成功! 有什么建议 ?
答案 0 :(得分:0)
有时它是git
可执行路径问题。可以在this question找到解决方案。
此外,如果您有权访问lighttpd服务器日志,请检查error.log并验证该URL是否正确。如果服务器conf使用重定向,则还必须使用正确的别名来访问git repos。这是对this question的回答的建议。本主题也在this question处理。
此github info webpage指出服务器(由http服务器使用)与客户端之间的git版本差异可能会导致此类问题。 This webpage描述了如何在ubuntu服务器上将git升级到最新的稳定版本(如果您使用的是LTS,则非常有用)。
Sitaram添加了一些关于如何正确设置here的文档。
我在apache设置方面遇到了类似的问题,但尚未找到解决方案。