1*ac087bd9SMarcus Rückert#!/bin/bash 2*ac087bd9SMarcus Rückert 3*ac087bd9SMarcus Rückert## ABSOLUTE path to the spawn-fcgi binary 4*ac087bd9SMarcus RückertSPAWNFCGI="/home/weigon/projects/spawn-fcgi/src/spawn-fcgi" 5*ac087bd9SMarcus Rückert 6*ac087bd9SMarcus Rückert## ABSOLUTE path to the PHP binary 7*ac087bd9SMarcus RückertFCGIPROGRAM="/usr/local/bin/php" 8*ac087bd9SMarcus Rückert 9*ac087bd9SMarcus Rückert## TCP port to which to bind on localhost 10*ac087bd9SMarcus RückertFCGIPORT="1026" 11*ac087bd9SMarcus Rückert 12*ac087bd9SMarcus Rückert## number of PHP children to spawn 13*ac087bd9SMarcus RückertPHP_FCGI_CHILDREN=10 14*ac087bd9SMarcus Rückert 15*ac087bd9SMarcus Rückert## maximum number of requests a single PHP process can serve before it is restarted 16*ac087bd9SMarcus RückertPHP_FCGI_MAX_REQUESTS=1000 17*ac087bd9SMarcus Rückert 18*ac087bd9SMarcus Rückert## IP addresses from which PHP should access server connections 19*ac087bd9SMarcus RückertFCGI_WEB_SERVER_ADDRS="127.0.0.1,192.168.2.10" 20*ac087bd9SMarcus Rückert 21*ac087bd9SMarcus Rückert# allowed environment variables, separated by spaces 22*ac087bd9SMarcus RückertALLOWED_ENV="ORACLE_HOME PATH USER" 23*ac087bd9SMarcus Rückert 24*ac087bd9SMarcus Rückert## if this script is run as root, switch to the following user 25*ac087bd9SMarcus RückertUSERID=wwwrun 26*ac087bd9SMarcus RückertGROUPID=wwwrun 27*ac087bd9SMarcus Rückert 28*ac087bd9SMarcus Rückert 29*ac087bd9SMarcus Rückert################## no config below this line 30*ac087bd9SMarcus Rückert 31*ac087bd9SMarcus Rückertif test x$PHP_FCGI_CHILDREN = x; then 32*ac087bd9SMarcus Rückert PHP_FCGI_CHILDREN=5 33*ac087bd9SMarcus Rückertfi 34*ac087bd9SMarcus Rückert 35*ac087bd9SMarcus Rückertexport PHP_FCGI_MAX_REQUESTS 36*ac087bd9SMarcus Rückertexport FCGI_WEB_SERVER_ADDRS 37*ac087bd9SMarcus Rückert 38*ac087bd9SMarcus RückertALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" 39*ac087bd9SMarcus Rückert 40*ac087bd9SMarcus Rückertif test x$UID = x0; then 41*ac087bd9SMarcus Rückert EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN" 42*ac087bd9SMarcus Rückertelse 43*ac087bd9SMarcus Rückert EX="$SPAWNFCGI -p $FCGIPORT -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN" 44*ac087bd9SMarcus Rückertfi 45*ac087bd9SMarcus Rückert 46*ac087bd9SMarcus Rückert# copy the allowed environment variables 47*ac087bd9SMarcus RückertE= 48*ac087bd9SMarcus Rückert 49*ac087bd9SMarcus Rückertfor i in $ALLOWED_ENV; do 50*ac087bd9SMarcus Rückert E="$E $i=${!i}" 51*ac087bd9SMarcus Rückertdone 52*ac087bd9SMarcus Rückert 53*ac087bd9SMarcus Rückert# clean the environment and set up a new one 54*ac087bd9SMarcus Rückertenv - $E $EX 55