fcgiwrap
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
fcgiwrappool - 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/cgiand SCRIPT_NAME of/subdir/example.cgi/foobar,fcgiwrapwill execute/www/cgi/subdir/example.cgiwith PATH_INFO of/foobar(assumingexample.cgiexists and is executable).