无法启动 RT 的新实例

无法启动 RT 的新实例

我正在尝试将 RT 4.0.1 实例(具有本地代码定制)从 CentOS 4 服务器移植到 CentOS 6 服务器。

我的问题似乎是无法启动 fastcgi 脚本。

apache 启动时出现以下错误:

[Mon Mar 25 12:37:37 2013] [warn] FastCGI: server "/opt/rt4/sbin/rt-server.fcgi" (uid 48, gid 48) restarted (pid 1504) suexec policy violation: see suexec log for more details
[Mon Mar 25 12:37:37 2013] [warn] FastCGI: server "/opt/rt4/sbin/rt-server.fcgi" (pid 1504) terminated by calling exit with status '107'
[Mon Mar 25 12:37:38 2013] [warn] FastCGI: server "/opt/rt4/sbin/rt-server.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds

suexec.log的内容:

[2013-03-25 12:37:37]: uid: (apache/apache) gid: (apache/apache) cmd: rt-server.fcgi
[2013-03-25 12:37:37]: cannot run as forbidden uid (48/rt-server.fcgi)

suexec.log 意味着我需要

  • 告诉 suexec 它被允许以 apache 身份运行 fastcgi 脚本(这似乎是在 C4 系统上发生的事情);或者
  • 弄清楚如何告诉 suexec 以不同的用户身份运行 fastcgi 脚本

今天我的谷歌能力很弱,我找不到任何一个问题的答案。

站点定义的内容:

FastCgiServer /opt/rt4/sbin/rt-server.fcgi -processes 5 -idle-timeout 180

<VirtualHost *:80>
ServerName arrtee.$MYDOMAIN

   AddDefaultCharset UTF-8

   # Pass through requests to display images
   Alias /NoAuth/images/ /opt/rt4/share/html/NoAuth/images/
   ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/

   DocumentRoot "/opt/rt4/share/html"
   <Location />
        Order allow,deny
        Allow from all

        Options +ExecCGI
        AddHandler fastcgi-script fcgi
   </Location>
</VirtualHost>

我可以以 root 身份运行 fastgcgi 脚本,它可以正常工作。(之后,我将整个 /opt/rt4 树上的所有权和组成员身份更改回 apache:apache。)

我甚至删除了整个 /opt/rt4 树并尝试从源代码重新安装,但仍然不起作用。

有人能告诉我这里缺少什么吗?

答案1

你没有提到如何安装 fastcgi,但网络部署文档一些发行版还需要:

FastCgiIpcDir /tmp

许多用户也很幸运地使用了 mod_fcgid,它可以通过以下方式作为软件包获得:电力供应处

如果您想让 SELinux 设置完全启用,有时也会导致权限问题,并且需要特殊设置。

答案2

没有什么比在公共论坛上提问更能解决问题的了。

就我而言,在 CentOS 6 服务器上,有一条指令/etc/httpd/conf.d/fastcgi.conf

# wrap all fastcgi script calls in suexec
FastCgiWrapper On

注释掉第二行,它就可以工作了,大概是通过禁用 suexec 安全性来实现的。从长远来看,这可能是解决问题的错误方法。

相关内容