【发布时间】:2016-06-04 15:56:05
【问题描述】:
我正在运行一个带有 redmine-git-hosting 插件的 redmine 服务器来控制 git repos。存储库目录指向安装在/srv/share 的单独硬盘驱动器。现在设置正在更改,我正在尝试将存储库移动到另一台服务器上的 nfs 共享。
挂载工作正常,我只是将 fstab 文件中的条目从 /etc/sdb1 替换为 ip:/share。现在我事先遇到了一些权限问题,因为 redmine(用户 www-data)和 gitolite(用户 git)同时访问了驱动器,所以我在整个驱动器上运行了 chmod -R 777 来处理这个问题。
我将 Windows NFS 服务器设置为相同的 umask(那里是 000,由于某种原因它被颠倒了),实际上两个用户都可以读取和写入驱动器。但是现在尝试使用 redmine 创建一个新的存储库时,会弹出错误 500。无用的日志条目显示Rugged::NetworkError (unpacking the sent packfile failed on the remote):
现在服务器上已经配置了 git repos,当我尝试向其中一个提交内容时,会弹出以下错误
Total 3 (delta 0), reused 0 (delta 0)
POST git-receive-pack (397 bytes)
remote: fatal: error when closing sha1 file: Permission denied
有什么想法可以在这里做什么吗?
nfs 客户端、redmine 和 git 服务器:ubuntu 服务器 14.04.4 LTS
nfs 服务器:Windows Server 2012R2 上的 haneWin nfs 服务器
【问题讨论】:
-
关于 ssh,请确保 .ssh 的父文件夹和 ssh 文件夹本身没有任何写入属性。
chmod 700用于 .ssh 本身(在服务器和客户端上) -
我使用https访问git
-
好的,我把 sha1 误读为 ssh!
-
在 chmod 之后,可能是 chown? stackoverflow.com/a/692062/6309
-
或者至少一个
git config core.sharedRepository true
标签: git ubuntu redmine nfs gitolite