Назад | Перейти на главную страницу

Ошибки при работе apache с fcgi и suexec

У меня есть сервер Debian 6, и я ранее использовал Apache с mod_php, но решил переключиться на использование fcgi, поскольку Wordpress каким-то образом вызывал сбой Apache. В конфигурационном файле Apache моего сайта есть следующее:

Options +ExecCGI
AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php

SuexecUserGroup "#1001" "#1003"

Все работает нормально, если я не включаю SuexecUserGroup, но, очевидно, затем он запускает сценарий как www-data вместо пользователя и группы выше. Когда я включаю эту строку, я получаю ошибку 500, и в моем suexec.log файл:

[2013-05-22 16:00:12]: command not in docroot (/usr/lib/cgi-bin/php5)

Все было установлено с помощью пакетов, поэтому я даже не знаю, где находится docroot является.

Вот моя информация о suexec:

# /usr/lib/apache2/suexec -V
 -D SUEXEC_CONFIG_DIR=/etc/apache2/suexec/
 -D AP_GID_MIN=100
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100

И разрешения для моего файла php5, если это имеет к нему какое-либо отношение:

# ls -l /usr/lib/cgi-bin/php5
-rwxr-xr-x 1 root root 7769160 Mar  4 08:25 /usr/lib/cgi-bin/php5

Корень документа в сообщении об ошибке - это suexec корень документа. По соображениям безопасности вы не можете напрямую использовать FCGIWrapper команды, которые не содержатся в вашем каталоге suexec. По умолчанию это /var/www/, однако при использовании apache2-suexec-custom, вы можете изменить это на любой каталог, который хотите, изменив первую строку в /etc/apache2/suexec/www-data файл.