From owner-freebsd-questions@FreeBSD.ORG Wed Jul 25 00:51:29 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01AF216A418 for ; Wed, 25 Jul 2007 00:51:29 +0000 (UTC) (envelope-from mkhitrov@gmail.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.226]) by mx1.freebsd.org (Postfix) with ESMTP id B309313C45E for ; Wed, 25 Jul 2007 00:51:28 +0000 (UTC) (envelope-from mkhitrov@gmail.com) Received: by wr-out-0506.google.com with SMTP id i23so22113wra for ; Tue, 24 Jul 2007 17:51:28 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=ToUM21BRG0fUd+SUwLISDGd3Tlwnmf2Gv+tLHrOjIoTE+XgtRnigt//bpg25opNle+pY2EmZv7EoZWM0vhoR7sOrikSGjLSTdgSLII249i5xQolSYQHnsL9fGkgDr1Pxa9MwI41M2FohRlVvbvofmfeeJ6M2pdHmuxeNbCGjxLw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=Z0PxIwM69CXIkOGEddRqTZ46a/gbBmmzHh2/F3gsGnCyGMNYy4bBAuHKHv0qFw1CBAYgE8ZC4OBwbEFo1vzJDqQ1Pq0insWM10bwF+DI97PhXR6fDnBvfaxIMBZq0+BVClh+sCaaQPjpC9jssBmxUej4FFTC46EiilN1wTerTXU= Received: by 10.142.240.9 with SMTP id n9mr5983wfh.1185322959557; Tue, 24 Jul 2007 17:22:39 -0700 (PDT) Received: by 10.143.10.17 with HTTP; Tue, 24 Jul 2007 17:22:39 -0700 (PDT) Message-ID: <26ddd1750707241722r24d3aa31ua9c1b92368149e9b@mail.gmail.com> Date: Tue, 24 Jul 2007 20:22:39 -0400 From: "Maxim Khitrov" To: freebsd-questions@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: FastCGI PHP does not start on server reboot (via rc script). X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 00:51:29 -0000 Hello, I have this problem that I can't figure out. One of my web servers is using a combination of lighttpd and FastCGI php to run a few sites. On lighttpd website there is an rc script to help FreeBSD users start FastCGI php processes automatically. I've pasted that script below. I should say that if I run it manually as root, everything works beautifully. As you can see, the script creates a unix socket at /var/run/fastcgi/php.sock, and lighttpd is then able to execute php scripts. The problem is that every time the server is rebooted, the script does not start back up. I have to start it manually. I can't find any log entries that would indicate a problem, so I'm not even sure where to start looking. Below is the script that I'm trying to run, file permissions for relevant files, and contents of my rc.conf. Would greatly appreciate it if someone could at least tell me where to start looking for a solution to this problem. Thanks, Maxim Khitrov /etc/rc.conf: fcgiphp_enable="YES" /var/run/fastcgi: -rw-r--r-- 1 www www - 5B Jul 24 17:06 php.pid srwxr-xr-x 1 www www - 0B Jul 24 17:06 php.sock= /usr/local/etc/rc.d: -r-xr-xr-x 1 root wheel - 1.6K May 23 17:28 fastcgi-php* /usr/local/etc/rc.d/fastcgi-php: #!/bin/sh # FreeBSD rc.d script for fastcgi+php # in rc.conf # fcgiphp_enable (bool): Set it to "YES" to enable fastcgi+php # Default is "NO". # other options see below # . /etc/rc.subr name="fcgiphp" rcvar=`set_rcvar` load_rc_config $name : ${fcgiphp_enable="NO"} : ${fcgiphp_bin_path="/usr/local/bin/php-cgi"} : ${fcgiphp_user="www"} : ${fcgiphp_group="www"} : ${fcgiphp_children="2"} : ${fcgiphp_port="8002"} : ${fcgiphp_socket="/var/run/fastcgi/php.sock"} : ${fcgiphp_env="SHELL PATH USER"} : ${fcgiphp_max_requests="100"} : ${fcgiphp_addr="localhost"} pidfile=/var/run/fastcgi/php.pid procname="${fcgiphp_bin_path}" command_args="/usr/local/bin/spawn-fcgi 2> /dev/null -f ${fcgiphp_bin_path} -u ${fcgiphp_user} -g ${fcgiphp_group} -C ${fcgiphp_children} -P ${pidfile}" start_precmd=start_precmd stop_postcmd=stop_postcmd start_precmd() { PHP_FCGI_MAX_REQUESTS="${fcgiphp_max_requests}" FCGI_WEB_SERVER_ADDRS=$fcgiphp_addr export PHP_FCGI_MAX_REQUESTS export FCGI_WEB_SERVER_ADDRS allowed_env="${fcgiphp_env} PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" # copy the allowed environment variables E="" for i in $allowed_env; do eval "x=\$$i" E="$E $i=$x" done command="env - $E" if [ -n "${fcgiphp_socket}" ]; then command_args="${command_args} -s ${fcgiphp_socket}" elif [ -n "${fcgiphp_port}" ]; then command_args="${command_args} -p ${fcgiphp_port}" else echo "socket or port must be specified!" exit fi } stop_postcmd() { rm -f ${pidfile} # eval "ipcs | awk '{ if (\$5 == \"${fcgiphp_user}\") print \"ipcrm -s \"\$2}' | /bin/sh" } run_rc_command "$1"