2 votes

Exécution de cgi binaire sur apache2

Comment faire pour qu'apache2 exécute les binaires en tant que cgi. J'ai une page de test qui, lorsque j'y accède, renvoie le code d'erreur 500 Internal Server Error, et il y a un message d'erreur.

  "End of script output before headers" 

erreur dans /var/log/apache2/error.log .

Ce n'est pas un script, c'est un exécutable elf.

1voto

Bvandorp Points 11

Según Documentation Apache :

Tout d'abord, toute sortie de votre programme CGI doit être précédée d'une balise en-tête MIME-type. Il s'agit d'un en-tête HTTP qui indique au client quelle sorte de contenu qu'il reçoit. La plupart du temps, cela ressemblera à :

Content-type : text/html

Deuxièmement, votre sortie doit être en HTML, ou dans un autre format qu'un ordinateur peut utiliser. navigateur sera capable d'afficher. La plupart du temps, il s'agira de HTML, mais occasionnellement vous pouvez écrire un programme CGI qui sort une image gif ou tout autre contenu non-HTML.

Je suppose que votre programme (exécutable elf) n'imprime pas l'en-tête http avant le contenu.


UPDATE

Afin d'exécuter un programme CGI dans votre répertoire personnel /var/www vous devriez ajouter :

<Directory /var/www>
    Options +ExecCGI
    AddHandler cgi-script .bin
</Directory>

AddHandler permet l'exécution du programme gci pour tous les fichiers se terminant par .bin extension en /var/www répertoire.

Une autre possibilité consiste à créer votre cgi-bin et mettez-y votre exécutable. Dans ce cas, ajoutez dans votre fichier de configuration apache :

<Directory /var/www/mycgi-bin>
    Options ExecCGI
    SetHandler cgi-script
</Directory>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X