Я пытаюсь трансплантировать экземпляр 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 подразумевает, что мне нужно либо
Мой гугл-фу сегодня слаб, я не могу найти ответа ни на один вопрос.
Содержание определения сайта:
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-script как root, и он работает. (После этого я меняю владельца и членство в группе во всем дереве / opt / rt4 обратно на apache: apache.)
Я даже удалил все дерево / opt / rt4 и попытался переустановить из исходного кода, но он все еще не работает.
Может кто-нибудь сказать мне, что мне здесь не хватает?
Вы не упоминаете, как вы установили fastcgi, но есть примечание в документы веб-развертывания что некоторым дистрибутивам также нужны:
FastCgiIpcDir /tmp
Многим пользователям также повезло с mod_fcgid, который доступен в виде пакета через EPEL.
Настройки SELinux также могут иногда вызывать проблемы с разрешениями и требовать специальных настроек, если вы хотите оставить его полностью включенным.
Нет лекарства от такой проблемы, как вопрос на публичном форуме.
В моем случае на сервере CentOS 6 есть директива в /etc/httpd/conf.d/fastcgi.conf
:
# wrap all fastcgi script calls in suexec
FastCgiWrapper On
Закомментируйте вторую строку, и она работает, предположительно, отключив безопасность suexec. Что в конечном итоге, вероятно, является неправильным решением проблемы.