Skip to content
Switch branches/tags


Info:Simple FastCGI wrapper for CGI scripts
Author: Grzegorz Nosek <>
Contributors:W-Mark Kubacki <> Jordi Mallach <>

This page has been translated into Spanish language by Maria Ramos from


This software is released under the MIT license. See COPYING for details.


  • very lightweight (84KB of private memory per instance)
  • fixes broken CR/LF in headers
  • handles environment in a sane way (CGI scripts get HTTP-related env. vars from FastCGI parameters and inherit all the others from fcgiwrap's environment)
  • no configuration, so you can run several sites off the same fcgiwrap pool
  • passes CGI stderr output to fcgiwrap's stderr or FastCGI stderr stream



Makefile and configure script is generated by GNU autotools. Therefore you need the latter.

pkg-config is needed, else you may get AC_DEFINE errors.

fcgiwrap links to dev-libs/fcgi which can be obtained from .

fcgiwrap also uses (but not requires) systemd for socket activation.


To install:

autoreconf -i
make install

fcgiwrap will be copied to /usr/local/sbin/fcgiwrap if you did not set --prefix for configure or DESTDIR for the makefile.


Most probably you will want fcgiwrap be launched by www-servers/spawn-fcgi. Or you could use the author's Perl launcher - see the homepage for that.

There are two modes of fcgiwrap operation:
  • when SCRIPT_FILENAME is set, its value is treated as the script name and executed directly.
  • otherwise, DOCUMENT_ROOT and SCRIPT_NAME are concatenated and split back again into the script name and PATH_INFO. For example, given a DOCUMENT_ROOT of /www/cgi and SCRIPT_NAME of /subdir/example.cgi/foobar, fcgiwrap will execute /www/cgi/subdir/example.cgi with PATH_INFO of /foobar (assuming example.cgi exists and is executable).