Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_cgid

Description: | Exécution des scripts CGI par l'intermédiaire d'un démon CGI externe
Statut: | Base
Identificateur de Module: | cgid_module
Fichier Source: | mod_cgid.c
Compatibilité: | Uniquement compatible avec les MPMs Unix threadés

### Sommaire

Exceptées les optimisations et la directive additionnelle `ScriptSock` décrite ci-dessous, `mod_cgid` a un comportement similaire à celui de `mod_cgi`. Voir le résumé de `mod_cgi` pour plus de détails à propos d'Apache et CGI.

Sur certains systèmes d'exploitation de type unix, le lancement (forking) d'un processus depuis un serveur multi-threadé est une opération très lourde car le nouveau processus va répliquer tous les threads du processus parent. Pour éviter cette dépense de ressouces pour chaque invocation d'un programme CGI, `mod_cgid` crée un démon externe qui est responsable du branchement de processus enfants destinés au lancement de scripts CGI. Le serveur principal communique avec ce démon par l'intermédiaire d'une socket de domaine unix.

Si un MPM multi-threadé a été sélectionné lors du processus de compilation, c'est ce module qui est utilisé par défaut à la place de `mod_cgi`. Du point de vue de l'utilisateur, ce module est identique à `mod_cgi` quant à sa configuration et son utilisation. La seule différence est la directive additionnelle `ScriptSock` qui permet de définir le nom du socket à utiliser pour la communication avec le démon CGI.

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

### Voir aussi

- `mod_cgi`
- Exécution de programmes CGI sous des utilisateurs différents

## Directive CGIDScriptTimeout

Description: | Durée maximale d'attente de la prochaine sortie du programme CGI
Syntaxe: | `CGIDScriptTimeout time[s|ms]`
Défaut: | `Valeur de la directive `Timeout``
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
Statut: | Base
Module: | mod_cgid
Compatibilité: | La valeur de CGIDScriptTimeout est 0 dans les versions 2.4 et antérieures

Cette directive permet de limiter la durée d'attente avant les prochaines données reçues en sortie du programme CGI. Si ce temps est dépassé, la requête et le programme CGI se terminent.

### Exemple

    CGIDScriptTimeout 20

## Directive ScriptSock

Description: | Le préfixe du nom de fichier du socket à utiliser pour communiquer avec le démon CGI
Syntaxe: | `ScriptSock chemin fichier`
Défaut: | `ScriptSock cgisock`
Contexte: | configuration du serveur
Statut: | Base
Module: | mod_cgid

Cette directive permet de définir le préfixe du nom de fichier de la socket à utiliser pour communiquer avec le démon CGI, préfixe auquel sera ajouté une extension correspondant à l'identifiant processus du serveur. La socket sera ouverte avec les permissions de l'utilisateur qui a démarré Apache (en général root). Afin de préserver la sécurité des communications avec les scripts CGI, il est impératif de n'accorder à aucun autre utilisateur la permission d'écrire dans le répertoire où se trouve la socket.

Si chemin fichier n'est pas un chemin absolu, il est relatif au chemin défini par la directive `DefaultRuntimeDir`.

### Exemple

    ScriptSock /var/run/cgid.sock