Не могу получить новый экземпляр 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, что разрешено запускать скрипт fastcgi как apache (что, похоже, происходит в системе 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>

Я могу запустить fastgcgi-скрипт от имени пользователя root, и он работает. (После этого я изменяю владельца и членство в группе на всем дереве / opt / rt4 обратно на apache: apache.)

Я даже удалил все дерево / opt / rt4 и попытался переустановить его из исходного кода, и он все еще не работает.

Может кто-нибудь сказать мне, что мне здесь не хватает?

2 ответа

Решение

Существует не лекарство от проблемы, как задать вопрос на публичном форуме.

В моем случае на сервере CentOS 6 есть директива /etc/httpd/conf.d/fastcgi.conf:

# wrap all fastcgi script calls in suexec
FastCgiWrapper On

Закомментируйте вторую строку, и она работает, предположительно, путем отключения безопасности suexec. Что в долгосрочной перспективе, вероятно, является неправильным решением проблемы.

Вы не упоминаете, как вы установили fastcgi, но в документации по веб-развертыванию есть примечание, что некоторые дистрибутивы также необходимы:

FastCgiIpcDir /tmp

Многим пользователям также повезло с mod_fcgid, который доступен в виде пакета через EPEL.

Настройки SELinux также могут иногда вызывать проблемы с разрешениями и требовать специальных настроек, если вы хотите оставить его полностью включенным.

Другие вопросы по тегам