5

我试图让 git-http-backend 在我的远程 vps 上工作,但没有运气。我已经以类似于 on this question的方式调整了 httpd.conf ,但是一旦我添加了 ScriptAlias 指令,就会发生错误。

阿帕奇错误日志:

 suexec policy violation: see suexec log for more details
 Premature end of script headers: git-http-backend

执行日志

 error: target uid/gid (503/500) mismatch with directory (0/0) or program (0/0) or trusted user (0/10)

任何人都可以评论通常如何解决 suexec 问题吗?

编辑

主要问题似乎是不允许 Web 服务器运行 cgi 脚本。

目前关于配置 suexec 的文档超出了我的范围。我现在选择禁用它,它允许 Web 服务器运行这些脚本。我现在可以成功推送到 repo。我发现这篇文章很有帮助。

4

3 回答 3

5

我在设置 moinmoin 时遇到了这个错误。我怀疑这是您需要注意的两行(在我的情况下是):

[2014-09-18 17:17:18]: uid: (1009/testsite) gid: (1006/testsite) cmd: moin.cgi
[2014-09-18 17:17:18]: target uid/gid (1009/1006) mismatch with directory (0/0) or program (0/0)

第一行说明一个进程——在这种情况下由 testsite:testsite 拥有——正在尝试执行命令(moin.cgi)。

然后它检查调用进程的用户ID/组ID,看它是否匹配要执行的命令,当它失败时触发第二个输出(0/0表示root/root)。

简单地调用 chown 应该可以解决它:

chown -R testsite:testsite </path/to/directory-or-binary>
于 2014-09-18T16:26:12.370 回答
1

好吧,很明显,你找到了自己的路……

我今天连续花了 7 个小时试图解决这个问题,联系了我的主人(godaddy)3 次。万事胜意...

我决定将 SUEXEC “关闭”,然后在我的服务器上重新安装 Apache(全新安装)。最后,当我的一天即将结束时,我终于开始工作了......

于 2014-04-16T01:25:16.263 回答
-1

我在 suexec 指令中将 /var/www/ 目录分配给我的用户,它可以工作..!

于 2016-11-14T19:43:50.677 回答