|Info:||Simple FastCGI wrapper for CGI scripts|
|Author:||Grzegorz Nosek <email@example.com>|
|Contributors:||W-Mark Kubacki <firstname.lastname@example.org> Jordi Mallach <email@example.com>|
- 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.
fcgiwrap links to dev-libs/fcgi which can be obtained from http://www.fastcgi.com/ .
fcgiwrap also uses (but not requires) systemd for socket activation.
autoreconf -i ./configure make 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).