1

我安装了 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 权限的问题

因此,我尝试使用 chowningmyproject.git文件夹apache:apache。那没用我想也许目录的父母也必须由 apache 用户访问,所以我尝试在/myproject.git/home/zenna/repositories/myproject.git 创建一个符号链接。那也没用

论坛里有人建议:

您使用在 gitosis 存储库中具有公共证书的用户运行脚本/服务器,但 apache/passenger 用户没有。简单的解决方案……为您的乘客用户创建一个证书。将其添加到 gitosis 服务器并在 gitosis.conf 中分配权限。我给了我的 apache 用户对整个目录和其中的所有文件/文件夹的读取权限。

但是,我运行 apache 用户sudo /usr/sbin/apachectl start

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

谢谢

4

3 回答 3

0

试试 /home/zenna/repositories/myproject.git/.git 还要确保 Apache 用户可以读取它。

于 2010-07-31T18:41:16.190 回答
0

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

因此,不要使用 gituser@domain:myproject.git,而是使用 /home/gituser/repositories/myproject.git

于 2010-08-09T03:33:15.080 回答
0

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

于 2010-08-17T11:13:16.777 回答