mod_cgid
Exécution des scripts CGI par l'intermédiaire d'un démon CGI externe
Base
mod_cgid.c
cgid_module
Uniquement compatible avec les MPMs Unix threadés

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 branchement (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'un 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.

mod_cgi
Exécution de programmes CGI sous des utilisateurs différents
ScriptLog
ScriptLogLength
ScriptLogBuffer
ScriptSock
Le préfixe du nom de fichier du socket à utiliser pour communiquer avec le démon CGI
ScriptSock chemin fichier
ScriptSock cgisock
server config

Cette directive permet de définir le préfixe du nom de fichier du socket à utiliser pour communiquer avec le démon CGI, préfixe auquel sera ajouté une extension correspondant à l'identifiant processus du serveur. Le socket sera ouvert 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 le 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
CGIDScriptTimeout
Durée maximale d'attente de la prochaine sortie du programme CGI
CGIDScriptTimeout time[s|ms]
Valeur de la directive Timeout
server config
virtual host
directory
.htaccess
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