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

235 octets ajoutés ,  il y a 7 ans
Pour qu'Apache prenne en charge les scripts, il est nécessaire d'effectuer un minimum de paramétrage dans la configuration du site.
 
==== ScriptAlias ====
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>.
La directive (de httpd.conf) :
ScriptAlias /cgi-bin/ ''/chemin des scripts/''
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 :
ScriptAlias /cgi-bin/ /var/www/cgi-bin
Exemple Windows, utiliser le format URL (pas d'antislash) :
ScriptAlias /cgi-bin/ "cgi-bin"
 
LeEn fait le chemin <code>/cgi-bin/</code> n'existe pas vraiment, il est dirigé vers <code>/var/www/cgi-bin</code>le chemin des scripts défini par la directive, et cela permet d'écrire des URL comme <code><nowiki>http://serveur/cgi-bin/mon_script</nowiki></code>.
 
==== ExecCGI ====
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>
</Directory>
 
ExemplePar exemple : vous écrivez un script <code>essai.cgi</code>, et vous voulez que <code>/home/httpd/cgi-bin</code> contienne les scripts.
Il faut donc au moins écrire :
<Directory ScriptAlias /cgi-bin /home/httpd/cgi-bin>
<pre>
ScriptAlias /cgi-bin <Directory /home/httpd/cgi-bin>
Options ExecCGI
<Directory /home/httpd/cgi-bin>
</Directory>
Options ExecCGI
</Directory>
</pre>
 
L'appel à un script essai.cgi sera effectué par l'URL : <code><nowiki>http://serveur/cgi-bin/essai.cgi</nowiki></code>
 
==== AddHandler ====
Cette clause permet de choisir les extensions de fichiers qui seront autorisés, ex :
AddHandler cgi-script .cgi .exe .pl .py .vbs
 
===Écrire un programme CGI===