У меня проблема с запуском FastCgiServer под apache2. Когда я определяю виртуальный хост с настроенным статическим fcgi-сервером, я получаю ошибку от suexec:
command not in docroot (/var/www-blah/dispatcher.fcgi)
Что верно, потому что docroot — это /var/www
. Но когда я использую динамический fastcgi, сгенерированный AddHandler
магией, я также использую suexec
и та же проблема не возникает — даже несмотря на то, что скрипт находится в /home/.../public_html/dispatcher.fcgi
.
Что заставляет его suexec
работать там правильно? И как мне воспроизвести это поведение на виртуальном хосте?
Обновлять:На самом деле, я переместил свои вещи из /var/www-blah
в /var/www/blah
, так что они находятся под docroot и работают. Думаю, у suexec есть какое-то обнаружение public_html.
Что все еще не работает, так это динамический fastcgi с suexec в /var/www/...
. Даже если скрипт принадлежит правильному пользователю, suexec не показывает никаких ошибок и, похоже, не запускается (скрипт работает как www-data)
решение1
suexec выполняет программы только в пределах корневого каталога документов Apache. См.модель безопасности suexec, особенно пункт 13.