Voici un exemple tiré de mon PC de développement à la maison. Il s'agit d'un service web C++ fonctionnant sur 127.0.0.1:90 que je teste/débogue. Le paramètre "FcgidIOTimeout" est fixé à 3600 pour que mod_fcgid ne se mette pas en attente d'une réponse pendant que je parcours le processus fcgi avec gdb (le débogueur). Si le temps d'attente est dépassé pendant le débogage, l'application fcgi sera tuée. Un peu plus bas, il y a un ScriptAlias et un Directory indiquant à Apache où se trouve le dossier cgi... "/home/dgnorton/prj/dfi/build/src/"... qui est le dossier de sortie de la compilation pour mon projet. Vous devrez également vérifier les permissions de ce répertoire.
Je ne l'utilise que sur mon système personnel pour le débogage. Lisez les docs Apache et mod_fcgid avant d'utiliser tout ceci dans la nature.
Listen 90
NameVirtualHost 127.0.0.1:90
<VirtualHost 127.0.0.1:90>
ServerName www.example1.com
DocumentRoot /var/www/dfi
<IfModule fcgid_module>
FcgidIOTimeout 3600
</IfModule>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi/ /home/dgnorton/prj/dfi/build/src/
<Directory "/home/dgnorton/src/dfi/build/src">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>