如何使用git-http-backend解决导致错误500的suexec策略违规?

Luk*_*uke 5 git suexec

我正试图让git-http-backend在我的远程vps上运行而没有运气.我以类似于这个问题的方式调整了httpd.conf ,但是一旦我添加ScriptAlias指令,就会发生错误.

Apache错误日志:

 suexec policy violation: see suexec log for more details
 Premature end of script headers: git-http-backend
Run Code Online (Sandbox Code Playgroud)

Suexec日志

 error: target uid/gid (503/500) mismatch with directory (0/0) or program (0/0) or trusted user (0/10)
Run Code Online (Sandbox Code Playgroud)

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

编辑

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

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

小智 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)
Run Code Online (Sandbox Code Playgroud)

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

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

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

chown -R testsite:testsite </path/to/directory-or-binary>
Run Code Online (Sandbox Code Playgroud)