B Migrating to the mod_proxy_fcgi and mod_authnz_fcgi Modules

This appendix provides instructions on how to migrate from using the mod_fastcgi module to the mod_proxy_fcgi and mod_authnz_fcgi modules.

The mod_fastcgi module was deprecated in the previous release and has been replaced in the current release by the mod_proxy_fcgi and mod_authnz_fcgi modules. The mod_proxy_fcgi module uses mod_proxy to provide FastCGI support. The mod_authnz_fcgi module allows FastCGI authorizer applications to authenticate users and authorize access to resources.

Complete the following tasks to migrate from the mod_fastcgi module to the mod_proxy_fcgi and mod_authnz_fcgi modules.

B.1 Task 1: Replace LoadModule Directives in htttpd.conf File

Edit the httpd.conf file to comment out the LoadModule lines for mod_fastcgi and mod_fcgi. Add LoadModule lines for mod_proxy, mod_proxy_fcgi, and mod_authnz_fcgi, for example:

# LoadModule fastcgi_module modules/mod_fastcgi.so
# LoadModule fcgi_module modules/mod_fcgi.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi
LoadModule authnz_fcgi_module modules/mod_authnz_fcgi

B.2 Task 2: Delete mod_fastcgi Configuration Directives From the htttpd.conf File

Delete any of the following mod_fastcgi configuration directives that appear in the htttpd.conf file. For more information on these directives, see the following URL

http://www.fastcgi.com/drupal/node/25

  • FastCgiServer

  • FastCgiConfig

  • FastCgiExternalServer

  • FastCgiIpcDir

  • FastCgiWrapper

  • FastCgiAuthenticator

  • FastCgiAuthenticatorAuthoritative

  • FastCgiAuthorizer

  • FastCgiAuthorizerAuthoritative

  • FastCgiAccessChecker

  • FastCgiAccessCheckerAuthoritative

B.3 Task 3: Configure mod_proxy_fcgi to Act as a Reverse Proxy to an External FastCGI Server

The mod_proxy_fcgi module does not have configuration directives. Instead, it uses the directives set on the mod_proxy module. Unlike the mod_fcgid and mod_fastcgi modules, the mod_proxy_fcgi module has no provision for starting the application process. The purpose of mod_proxy_fcgi is to move this functionality outside of the web server for faster performance. So, mod_proxy_fcgi simply will act as a reverse proxy to an external FastCGI server.

For examples of using mod_proxy_fcgi, see the following URL:

http://httpd.apache.org/docs/trunk/mod/mod_proxy_fcgi.html

For information on the directives available for mod_proxy, including reverse proxy examples, see the following URL:

http://httpd.apache.org/docs/trunk/mod/mod_proxy.html

Another way to setup the mod_proxy_fcgi module to act as a reverse proxy to a FastCGI server is to force a request to be handled as a reverse-proxy request. To do this, you must create a suitable Handler pass-through (also known as "Access via Handler"). For more information on how to set up a Handler pass-through, see the following URL:

http://httpd.apache.org/docs/trunk/mod/mod_proxy.html#handler

B.4 Task 4: Setup an External FastCGI Server

An external FastCGI server enables you to run FastCGI scripts external to the web server or even on a remote machine. The following list provides information on some available FastCGI server solutions:

B.5 Task 5: Setup mod_authnz_fcgi to Work with FastCGI Authorizer Applications.

The mod_authnz_fcgi module allows FastCGI authorizer applications to authenticate users and authorize access to resources. It supports generic FastCGI authorizers which participate in a single phase for authentication and authorization, and Apache httpd-specific authenticators and authorizers.FastCGI authorizers can authenticate using user id and password, such as for Basic authentication, or can authenticate using arbitrary mechanisms. For more information on using mod_authnz_fcgi, see the following URL:

http://httpd.apache.org/docs/trunk/mod/mod_authnz_fcgi.html