Différences entre les versions de « Apache/CGI »

56 octets ajoutés ,  il y a 7 ans
intro plus pédagogue
m
(intro plus pédagogue)
 
==Scripts CGI==
Un programmeLe CGI peut({{w|Common êtreGateway écritInterface}}) est une norme permettant à Apache d'exécuter des programmes écrits en n'importe quel langage ([[Bash]], [[C]], [[Java]], [[Perl]], [[PHP]], bash[[Python]]...), du moment qu'il est exécutable et qu'il respecte certaines contraintes d'entrées/sortie.
 
===Configurer l'accès aux scripts CGI===
Pour qu'Apache prenne en charge les scripts, il est nécessaire d'effectuer un minimum de paramétrage dans la configuration du site.
 
La directive <code>ScriptAlias /cgi-bin/ ''/chemin des scripts/''</code> (de httpd.conf) précise le nom du répertoire où Apache est autorisé à exécuter des scripts CGI<ref>http://httpd.apache.org/docs/current/fr/howto/cgi.html</ref>.
 
Exemple Unix :
Le chemin <code>/cgi-bin</code> n'existe pas vraiment, il est dirigé vers <code>/var/www/cgi-bin</code>, et cela permet d'écrire des URL comme <code><nowiki>http://serveur/cgi-bin/mon_script</nowiki></code>.
 
La clause suivante active l'option <code>ExecCGI</code> dans <code>/var/www/cgi-bin</code>, ce qui autorise Apache à exécuter les scripts sur le serveur :
<Directory /var/www/cgi-bin>
Options ExecCGI
 
===Écrire un programme CGI===
Le CGI (Common Gateway Interface) n'est pas un langage, c'est une norme.
Un programme CGI peut être écrit en n'importe quel langage (C, Java, PHP, bash...), du moment qu'il est exécutable et qu'il respecte certaines contraintes d'entrées/sortie.
 
La contrainte principale concerne la sortie du programme.
Si un programme CGI génère des données sur sa sortie standard, il doit les précéder d'un header http permettant de les identifier.