我安装了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
这是否意味着我必须为root创建一个公钥并将root添加到我的gitosis.conf中?试图通过redmine,root访问存储库的实际用户是什么?阿帕奇?乘客?
由于
答案 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 用户可以读取目录(包括其所有父目录)。