======== fcgiwrap ======== :Info: Simple FastCGI wrapper for CGI scripts :Homepage: http://nginx.localdomain.pl/wiki/FcgiWrap :Author: Grzegorz Nosek :Contributors: W-Mark Kubacki Jordi Mallach 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. ``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 `_. 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).