slackware 13. Апач 2.2.15. Document root /srv/www/htdocs/. В её корне есть рабочий на php сайт. Решил изучить wakaba, она на перле. Создал папку htdocs/board распаковал. Прочитал требования. Модуль suexec. Пересобрал апач c этим модулем
-D AP_DOC_ROOT="/srv/www/htdocs"
-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=1000
-D AP_USERDIR_SUFFIX="no"Мой английский плох поэтому возможно я неправильно понял руководство на сайте апача. Так же не использовал ранее виртуальные хосты. Апач запускается apache apache. Suexec владелец рут, группа апач. htdocs вся со всеми файлами принадлежит xxxx : xxxx. Апач входит в группу xxxx.
NameVirtualHost *:80
<VirtualHost *:80>
SuexecUserGroup xxxx xxxx
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/srv/www/htdocs"
ServerName ...
ErrorLog "/var/log/httpd/error_log"
CustomLog "/var/log/httpd/access_log" common
<Directory />
Options Indexes FollowSymlinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .pl
</VirtualHost>Создал test.pl проверил perl -c. Пробую запустить.
В error логе апача suEXEC mechanism enabled
[Sun Jul 25 23:29:32 2010] [error] [client 127.0.0.1] suexec policy violation: see suexec log for more details
[Sun Jul 25 23:29:32 2010] [error] [client 127.0.0.1] Premature end of script headers: test.plСмотрю лог suexec:
[2010-07-25 23:29:32]: uid: (1001/xxxx) gid: (1000/xxxx) cmd: test.pl
[2010-07-25 23:29:32]: (13)Permission denied: exec failed (test.pl)Скрипт принадлежит xxxx. Права 0755.
http://httpd.apache.org/docs/2.2/suexec.html
"...14. Is the directory NOT writable by anyone else?..."
>http://httpd.apache.org/docs/2.2/suexec.html
>"...14. Is the directory NOT writable by anyone else?..."Да, я не указал.
/srv/www/htdocs/ 755
/srv/www/htdocs/board 755
Запись нигде не разрешена.
>/srv/www/htdocs/board 755Кому принадлежит эта дира?
>>/srv/www/htdocs/board 755
>
>Кому принадлежит эта дира?htdocs вся со всеми файлами принадлежит xxxx : xxxx.
выше писал. Там рекурсивный chown прошелся.