fcgiwrap icon indicating copy to clipboard operation
fcgiwrap copied to clipboard

Simple FastCGI wrapper for CGI scripts

======== fcgiwrap

:Info: Simple FastCGI wrapper for CGI scripts :Homepage: http://nginx.localdomain.pl/wiki/FcgiWrap :Author: Grzegorz Nosek [email protected] :Contributors: W-Mark Kubacki [email protected] Jordi Mallach [email protected]

This page has been translated into Spanish <http://www.webhostinghub.com/support/es/misc/fcgiwrap>_ language by Maria Ramos from Webhostinghub.com/support/edu <http://www.webhostinghub.com/support/edu>_.

License

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

Features

  • 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

Installation

requirements

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 http://www.fastcgi.com/ .

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

procedure

To install::

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.

usage

Most probably you will want fcgiwrap be launched by www-servers/spawn-fcgi <http://redmine.lighttpd.net/projects/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).