Ошибка при запуске сценария perlbrew, хотя apache+suexec

У нас есть сервер под управлением Centos 5.11, Apache 2.2 и Perl по умолчанию. Запуск сценариев через suexec работает "просто отлично", но я установил perlbrew, чтобы я мог установить множество дополнительных модулей, не мешая им.

Я создал простой Perl-скрипт для тестирования:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "perl: ". $^X . "\n";

При запуске через apache + suexec выводит, как и ожидалось:

Hello, world! perl: /usr/bin/perl

Но когда я изменяю строку Шебанга на:

#!/root/perl5/perlbrew/perls/perl-5.22.1/bin/perl

и запустить тот же путь, я получаю внутреннюю ошибку сервера, и журнал ошибок Apache показывает:

suexec failure: could not open log file
fopen: Permission denied
Premature end of script headers: test.cgi

но работает в командной строке нормально:

# ./test.cgi 
Content-type: text/html
Hello, world!
perl: /root/perl5/perlbrew/perls/perl-5.22.1/bin/perl

Я пробовал все виды вещей. Я действительно задавался вопросом, является ли это проблемой "ПУТИ", но документы Apache говорят: "На 2.2 переменная окружения ПУТИ не может быть установлена ​​с помощью Setenv".

Ошибки suexec обычно кажутся вызванными кодировкой dos / unix, но здесь это не проблема.

Может быть проблема в том, как я установил perlbrew? Должен ли он быть другим пользователем (как apache)? другое место (под /var/www)?

Любые другие предложения приветствуются!

1 ответ

Решил это - ваш толчок заставил меня в правильном направлении.

Это была подсказка:

# suexec -V
 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="apache"
 -D AP_LOG_EXEC="/var/log/httpd/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=500
 -D AP_USERDIR_SUFFIX="public_html"

Я переустановил perlbrew, изменив рут:

# export PERLBREW_ROOT=/usr/local/bin/perlbrew
# perlbrew install perl-5.22.1

затем изменил скрипт на:

#!/usr/local/bin/perlbrew/perls/perl-5.22.1/bin/perl

и бинго:

Привет, мир! путь: /usr/local/bin/perlbrew/perls/perl-5.22.1/bin/perl

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