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>
Où 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>