Serveur Apache HTTP Version 2.4

| Description: | Ex�cution des scripts CGI | 
|---|---|
| Statut: | Base | 
| Identificateur�de�Module: | cgi_module | 
| Fichier�Source: | mod_cgi.c | 
Tout fichier pris en compte par le gestionnaire
    cgi-script sera trait� en tant que script CGI et
    ex�cut� par le serveur, sa sortie �tant renvoy�e au client. Les
    fichiers sont associ�s � ce gestionnaire soit parce qu'ils poss�dent
    un nom contenant une extension d�finie par la directive AddHandler, soit parce qu'ils se
    situent dans un r�pertoire d�fini par une directive ScriptAlias.
Comme introduction � l'utilisation des scripts CGI avec Apache, voir notre tutoriel Les contenus dynamiques avec CGI.
Il est recommand� d'utiliser le module mod_cgid
    � la place de mod_cgi lorsqu'on utilise un module MPM
    multi-thread� sous Unix. Vus de l'utilisateur, les deux modules
    sont pratiquement identiques.
� des fins de compatibilit� ascendante, le gestionnaire
    cgi-script sera aussi activ� pour tout fichier poss�dant le type
    MIME application/x-httpd-cgi. L'utilisation du type
    MIME magic est obsol�te.
Le serveur va d�finir les variables d'environnement CGI comme d�crit dans la Sp�cification CGI, de la mani�re suivante :
AcceptPathInfo est
      explicitement d�finie � off. Par d�faut, si la
      directive AcceptPathInfo n'est pas d�finie,
      mod_cgi acceptera des informations de chemin (en
      ajoutant /infos/chemin apr�s le nom du script dans l'URI), alors
      que le serveur de base retournera une erreur 404 NOT FOUND pour
      les requ�tes contenant des informations de chemin suppl�mentaires.
      Ne pas d�finir la directive AcceptPathInfo
      a le m�me effet sur les requ�tes avec mod_cgi que
      de la d�finir � On.HostnameLookups est d�finie �
      on (elle est � off par d�faut), et si
      une recherche DNS inverse sur l'adresse IP de l'h�te client
      aboutit effectivement � un nom d'h�te.IdentityCheck
      est d�finie � on, et si l'h�te client supporte le
      protocole ident. Notez que l'on ne peut accorder une confiance
      aveugle au contenu de cette variable car il peut �tre ais�ment
      falsifi�, et si un mandataire s'intercale entre le client et le
      serveur, il est totalement inutilisable.Le d�bogage des scripts CGI �tait difficile par le pass�, principalement parce qu'il n'�tait pas possible d'�tudier la sortie (sortie standard et erreurs) des scripts dont l'ex�cution �chouait. Les directives qui suivent permettent une journalisation plus d�taill�e des erreurs.
Lorsqu'il est configur�, le journal des erreurs CGI enregistre la sortie de tout programme CGI dont l'ex�cution ne s'effectue pas correctement. Un script CGI dont l'ex�cution �choue provoque la journalisation d'une grande quantit� d'informations. Les deux premi�res lignes poss�dent toujours le format suivant :
        %% [date] requ�te
        %% �tat HTTP nom du script CGI
      
Si le script CGI n'a pas pu d�marrer, le fichier journal contiendra les deux lignes suppl�mentaires suivantes :
        %%erreur
        message d'erreur
      
Par contre, si l'erreur provient du renvoi par le script d'informations incorrectes dans les en-t�tes (d� souvent � une bogue du script), les informations suivantes sont journalis�es :
        %requ�te
        Tous les en-t�tes de requ�te HTTP re�us
        Les entit�s POST ou PUT (s'il en existe)
        %r�ponse
        Tous les en-t�tes g�n�r�s par le script CGI
        %stdout
        la sortie standard CGI
        %stderr
        la sortie d'erreurs standard CGI
      
(Les parties %stdout et %stderr seront absentes si le script n'a rien envoy� sur la sortie standard ou la sortie d'erreurs).
| Description: | Chemin du fichier journal des erreurs du script CGI | 
|---|---|
| Syntaxe: | ScriptLog chemin fichier | 
| Contexte: | configuration du serveur, serveur virtuel | 
| Statut: | Base | 
| Module: | mod_cgi,mod_cgid | 
La directive ScriptLog permet de d�finir
    le chemin du fichier journal des erreurs du script CGI. Si cette
    directive n'est pas d�finie, aucune journalisation des erreurs n'est
    effectu�e. Si elle est d�finie, toute erreur CGI sera enregistr�e
    dans le fichier dont le nom est fourni en argument. S'il s'agit d'un
    chemin de fichier relatif, il est consid�r� par rapport au
    r�pertoire d�fini par la directive ServerRoot.
    
ScriptLog logs/cgi_log
Ce journal sera ouvert par l'utilisateur sous lequel les
    processus enfants s'ex�cutent, c'est � dire l'utilisateur sp�cifi�
    par la directive du serveur User. Ceci implique que le
    r�pertoire dans lequel se trouve le journal doit �tre accessible en
    �criture pour cet utilisateur, ou bien que le fichier est cr��
    manuellement et accessible en �criture pour cet utilisateur. Si vous
    placez le journal du script dans votre r�pertoire principal des
    journaux, ne modifiez JAMAIS les permissions de ce
    dernier afin de le le rendre accessible en �criture par
    l'utilisateur sous lequel les processus enfants s'ex�cutent.
Notez que l'on ne doit activer la journalisation des scripts qu'� des fins de d�bogage lors de l'�criture de scripts CGI, et non de mani�re permanente sur un serveur en production. Elle n'est pas optimis�e en terme de performances et d'efficacit�, et peut pr�senter des probl�mes de s�curit� si on l'utilise dans un cadre autre que celui pour lequel elle a �t� con�ue.
| Description: | Taille maximale des requ�tes PUT ou POST qui seront enregistr�es dans le journal du script | 
|---|---|
| Syntaxe: | ScriptLogBuffer octets | 
| D�faut: | ScriptLogBuffer 1024 | 
| Contexte: | configuration du serveur, serveur virtuel | 
| Statut: | Base | 
| Module: | mod_cgi,mod_cgid | 
Cette directive permet de limiter la taille du corps de toute entit� PUT ou POST qui sera enregistr�e dans le journal, afin de pr�venir une croissance trop importante et trop rapide du fichier journal due � la r�ception de corps de requ�te de grandes tailles. Cette directive permet de modifier cette taille maximale, dont la valeur par d�faut est de 1024 octets.
| Description: | Taille maximale du fichier journal des scripts CGI | 
|---|---|
| Syntaxe: | ScriptLogLength octets | 
| D�faut: | ScriptLogLength 10385760 | 
| Contexte: | configuration du serveur, serveur virtuel | 
| Statut: | Base | 
| Module: | mod_cgi,mod_cgid | 
La directive ScriptLogLength permet de
    d�finir la taille maximale du fichier journal des scripts CGI. Comme
    le fichier journal accumule une grande quantit� d'informations par
    erreur CGI (tous les en-t�tes de la requ�te, toutes les sorties du
    script), il peut vite atteindre une grande taille. En limitant la
    taille du fichier, cette directive permet d'�viter les probl�mes que
    causerait sa croissance sans limites. Lorsque le fichier a atteint
    cette taille maximale, plus aucune information n'y est
    enregistr�e.