2016-01-09 1 views
1

Mon serveur est
CentOS7
Apache 2.4
SELinux activé.Perl/CGI ne fonctionne pas pour/home/user/cgi mais travaillant pour/var/www/cgi-bin

Perl/CGI travaille pour /var/www/cgi-bin mais ne fonctionne pas pour /home/user/cgi répertoire.

-journal des erreurs affiche les erreurs suivantes pour test.pl:

[Fri Jan 08 19:53:05.725795 2016] [cgi:error] [pid 7311] [client *:33769] End of script output before headers: test.pl 
[Fri Jan 08 19:54:10.981964 2016] [cgi:error] [pid 7314] [client *:33770] End of script output before headers: test.pl

perl -w test.pl montre aucune erreur sur la ligne de commande.

paramètres SELinux pour/home/user/cgi est

drwxr-xr-x. 4 unconfined_u:object_r:httpd_sys_script_exec_t:s0 user user 83 Jan 8 20:05 . 
drwxr-xr-x. 11 unconfined_u:object_r:user_home_dir_t:s0 user user 4096 Jan 7 12:08 .. 
-rwxr-xr-x. 1 unconfined_u:object_r:httpd_sys_script_exec_t:s0 user user 90 Jan 8 20:05 test.pl

Contenu de test.pl

#!/usr/bin/perl 

print "Content-type: text/html; charset=utf-8\n\n"; 
print "Hello\n\n";

httpd.conf

 
Options Indexes FollowSymLinks Includes ExecCGI 
AddHandler cgi-script .cgi .pl 
Require all granted 
DirectoryIndex index.pl index.cgi 

Lien vers httpd options liées sebool : sebool Apprécions grandement l'aide ...

+1

Y a-t-il quelque chose dans le journal des erreurs Apache? (Peut-être quelque chose comme '/ var/log/apache2/error.log'). –

+0

Je n'ai rien vu concernant cette erreur dans/var/log/httpd/error_log. Néanmoins, voici le lien vers le contenu du journal. Peut-être que j'ai raté quelque chose! : [link] (http://business-impact-solutions.com/error_log_2016-08-01.txt) – bislinks

+1

peut-être que c'est l'ancien tampon de fichiers? essayez de mettre $ | = 1; avant l'une des instructions d'impression dans votre script. – Doggerel

Répondre

0

Je l'ai eu.

Le problème a été causé par cette ligne:

SuexecUserGroup "#1000" "#1000"

Problème résolu une fois que je supprimé cette directive.