summaryrefslogtreecommitdiffstats
path: root/network/mod_fcgid/README
blob: fb10cb9040a4e0829cf77bd1e9ffb8701ec78d20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
mod_fcgid is alternative FastCGI module for apache 2.x
(note that "old and proven" mod_fastcgi doesn't work at all with apache 2.2)

With mod_fcgid apache controls spawned FastCGI processes (as oposed to "external"
FastCGI servers).

Some features:
  - Binary compatibility to mod_fastcgi
  - Strict control on process spawn
  - Simple spawning-speed control strategy
  - Fastcgi server error detection

Before running this script, you must have apache2 installed.
Download and build apache2 build script from http://slackbuilds.org

To use it, add the following line to your httpd.conf file:
  Include /etc/apache2/extra/httpd-fcgid.conf

Sample SuEXEC php wrapper script:
  #!/bin/sh
  #
  # sample PHP FastCGI wrapper
  PHPRC="/etc"    # directory which contains php.ini
  PHP_FCGI_CHILDREN=4
  PHP_FCGI_MAX_REQUESTS=250
  export PHPRC PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS
  exec /usr/bin/php-cgi

and apropriate vhost config:

  # VirtualHost with SuExec and FastCGI PHP
  <VirtualHost *:80>
      # note: apache user should be member of 'vhost_group'
      SuexecUserGroup vhost_user vhost_group

      ServerAdmin webmaster@vhost.example.com
      DocumentRoot /var/www/vhosts/vhost.example.com/htdocs
      ServerName vhost.example.com
      ServerAlias www.vhost.example.com
      ErrorLog /var/log/apache2/vhost.example.com-error_log
      CustomLog /var/log/apache2/vhost.example.com-access_log common
    
      # note: chmod /var/www/vhosts/vhost.example.com to 0750
      <Directory /var/www/vhosts/vhost.example.com/htdocs>
          Options ExecCGI
          FCGIWrapper /var/www/vhosts/vhost.example.com/cgi-bin/php-wrapper .php
          DirectoryIndex index.html index.php

          AllowOverride None
          Order allow,deny
          Allow from all
      </Directory>
  </VirtualHost>