【问题标题】:gitsosis, redmine, passenger: 'not a git repository' errorgitsosis,redmine,乘客:“不是 git 存储库”错误
【发布时间】:2010-07-29 15:56:00
【问题描述】:

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

所以我尝试用apache:apache chowning myproject.git 文件夹。那没有用 我想也许 apache 用户也必须可以访问该目录的父目录,所以我尝试在 /myproject.git 创建一个指向 /home/zenna/repositories/myproject.git 的符号链接。那也没用

论坛中有人建议:

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

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

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

谢谢

【问题讨论】:

    标签: git centos redmine gitosis passenger


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 用户可能与nobody不同。 "如果启用了用户切换支持,那么 Phusion Passenger 将默认将 Web 应用程序作为文件 config/environment.rb 的所有者的主要组运行"modrails.com/documentation/…
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-30
        • 2013-03-04
        • 1970-01-01
        相关资源
        最近更新 更多