Serveur Apache HTTP Version 2.4
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.
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