gitsosis,redmine,passenger:'not a git repository'错误

时间:2010-07-29 15:56:00

标签: git centos redmine gitosis passenger

我安装了gitosis和redmine,并在CentOS上通过apache / passenger运行它。问题是我无法通过redmine访问存储库。错误是“在存储库中找不到条目或修订。

我的存储库存储在

/home/zenna/repositories/myproject.git

错误(在apache日志中找到)是"fatal: Not a git repository: '/home/zenna/repositories/myproject.git'"

它显然是一个存储库,因为它与WeBrick服务器一起工作正常。我认为这可能是apache / passenger权限的问题

所以我尝试使用myproject.git chowning apache:apache文件夹。那没用 我想也许apache用户也可以访问目录的父母,所以我尝试在/myproject.git创建一个符号链接到/home/zenna/repositories/myproject.git。这不起作用

论坛中有人建议:

  

您运行脚本/服务器w /用户   在gitosis有一个公共证书   回购,但apache /乘客用户   没有。简单的解决方案......创造一个   您的乘客用户证书。添加它   到gitosis服务器并分配   gitosis.conf中的权限。我给了我   apache用户的读权限   整个direstory和所有文件/   内的文件夹。

但是,我使用sudo /usr/sbin/apachectl start

运行apache用户

这是否意味着我必须为root创建一个公钥并将root添加到我的gitosis.conf中?试图通过redmine,root访问存储库的实际用户是什么?阿帕奇?乘客?

由于

3 个答案:

答案 0 :(得分:0)

尝试/home/zenna/repositories/myproject.git/.git同时确保Apache用户可以读取它。

答案 1 :(得分:0)

如果myproject.git是一个裸仓库并且与redmine位于同一台服务器上,那么请输入myproject.git的完整文件路径。

所以代替gituser @ domain:myproject.git,使用/home/gituser/repositories/myproject.git

答案 2 :(得分:0)

当使用乘客时,实际用户是 nobody ,因此必须确保 nobody 用户可以读取目录(包括其所有父目录)。