/mod-proxy-fcgi

mod_proxy_fcgi for apache 2.2

Primary LanguageCOtherNOASSERTION

mod_proxy_fcgi for Apache 2.2 
=============================

Apache 2.4 shipped mod_proxy_fcgi as part of the core distribution. This git
repository provides a modified version backported to work with Apache 2.2 in
order to work on older distributions (eg. Red Hat Enterprise Linux 6).

Installing from EPEL
====================

If you are on RHEL 6 or derivatives (eg. CentOS 6), you can install a pre-built
version of this software from EPEL. Enable EPEL on your system
(https://fedoraproject.org/wiki/EPEL), then "yum install mod_proxy_fcgi".

Building from source
====================

To get the source, compile, and install:

  git clone https://github.com/ceph/mod-proxy-fcgi
  cd mod-proxy-fcgi
  autoconf
  ./configure
  make
  make install

(Note: you'll need the apxs utility, which ships in the Apache "devel" package
on Linux distributions. Install "httpd-devel" on Red Hat-based distros, and
"apache2-dev" on Debian-based distros.)

Loading the module in Apache
============================

To load this module, you must add the main mod_proxy to your configuration,
then load mod_proxy_fcgi:

  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

and of course reload the httpd server after your changes.

Configuring Apache
==================

See the upstream Apache documentation
(https://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html) for details about
mod_proxy_fcgi.

In this backported version of the module, "ProxyPass" statements work on
Apache 2.2, but "SetHandler" statements do not work. Also, Apache 2.2's
mod_proxy only supports TCP sockets ("fcgi://"). You cannot use Unix domain
sockets ("unix://") with this backported version of mod_proxy_fcgi.

In other words, you should use the following type configuration:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    LogLevel debug

    RewriteEngine On

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

    SetEnv proxy-nokeepalive 1

    ProxyPass / fcgi://127.0.01:9000/
</VirtualHost>