Я запускаю сервер с Apache 2.2.3 (был 2.0.55), который несет скрипты Perl для пользователей (всего 755) в:
/home/username/webapps/cgi-bin/
их блок VirtualHost содержит:
SuexecUserGroup username groupname
(то же самое в этом случае)
После обновления сервера до версии 2.2.3 скрипты теперь возвращают 500, а журналы показывают известную ошибку:
suexec policy violation
После долгих поисков, пробуя различные другие предложения (их слишком много, чтобы перечислить), я застрял.
Я добавил этот блок в etc/apache2/common.conf
и перезагрузил apache, но без изменений.
<Directory /home/*/webapps/cgi-bin/>
AllowOverride All
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
На сервере работает несколько сайтов, но только пара использует Perl-скрипты.
/usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
/usr/sbin/apache2 -v
Server version: Apache/2.2.3