diff --git a/acinclude.m4 b/acinclude.m4 index feb830a..c5ac268 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -435,7 +435,8 @@ AC_DEFUN([AC_FPM_PHP], AC_DEFUN([AC_FPM_LIBEVENT_EMBEDDED], [ - libevent_configure="cd ./libevent ; CC=\"$CC\" CFLAGS=\"$AM_CFLAGS\" ../$srcdir/libevent/configure --disable-shared" + echo "$srcdir" | grep -qv '^/'; if test $? = 0 ; then le_rel_pfx=../; fi + libevent_configure="cd ./libevent ; CC=\"$CC\" CFLAGS=\"$AM_CFLAGS\" $le_rel_pfx$srcdir/libevent/configure --disable-shared" $mkdir_p ./libevent @@ -462,6 +463,9 @@ dnl LIBEVENT_LIBS=".a `echo "@LIBS@" | ./libevent/config.status --file=-:-`" AC_DEFUN([AC_FPM_PATHS], [ + AC_ARG_WITH([fpm-bin], + AC_HELP_STRING([--with-fpm-bin=PATH], [Set the path for php-fpm binary. Default: $prefix/bin/php-fpm])) + AC_ARG_WITH([fpm-conf], AC_HELP_STRING([--with-fpm-conf=PATH], [Set the path for php-fpm configuration file. Default: $prefix/etc/php-fpm.conf])) @@ -471,17 +475,31 @@ AC_DEFUN([AC_FPM_PATHS], AC_ARG_WITH([fpm-pid], AC_HELP_STRING([--with-fpm-pid=PATH], [Set the path for php-fpm pid file. Default: $prefix/logs/php-fpm.pid])) + AC_ARG_WITH([fpm-user], + AC_HELP_STRING([--with-fpm-user=PATH], [Set the user for php-fpm to run as. Default: nobody])) + + AC_ARG_WITH([fpm-group], + AC_HELP_STRING([--with-fpm-group=PATH], [Set the group for php-fpm to run as. Default: nobody])) + if test "$prefix" = "NONE" ; then fpm_prefix=/usr/local else fpm_prefix="$prefix" fi + if test -z "$with_fpm_bin" -o "$with_fpm_bin" = "yes" -o "$with_fpm_bin" = "no"; then + php_fpm_bin_path="$fpm_prefix/bin/php-fpm" + else + php_fpm_bin_path="$with_fpm_bin" + fi + PHP_FPM_BIN=`basename $php_fpm_bin_path` + if test -z "$with_fpm_conf" -o "$with_fpm_conf" = "yes" -o "$with_fpm_conf" = "no"; then php_fpm_conf_path="$fpm_prefix/etc/php-fpm.conf" else php_fpm_conf_path="$with_fpm_conf" fi + php_fpm_conf=`basename $php_fpm_conf_path` if test -z "$with_fpm_log" -o "$with_fpm_log" = "yes" -o "$with_fpm_log" = "no"; then php_fpm_log_path="$fpm_prefix/logs/php-fpm.log" @@ -494,6 +512,20 @@ AC_DEFUN([AC_FPM_PATHS], else php_fpm_pid_path="$with_fpm_pid" fi + + if test -z "$with_fpm_user" -o "$with_fpm_user" = "yes" -o "$with_fpm_user" = "no"; then + php_fpm_user="nobody" + else + php_fpm_user="$with_fpm_user" + fi + + if test -z "$with_fpm_group" -o "$with_fpm_group" = "yes" -o "$with_fpm_group" = "no"; then + php_fpm_group="nobody" + else + php_fpm_group="$with_fpm_group" + fi + + AC_SUBST(PHP_FPM_BIN) ]) AC_DEFUN([AC_FPM_CC], diff --git a/conf/php-fpm.conf.in b/conf/php-fpm.conf.in index a54b0c2..a13d0b4 100644 --- a/conf/php-fpm.conf.in +++ b/conf/php-fpm.conf.in @@ -48,8 +48,8 @@ Set permissions for unix socket, if one used. In Linux read/write permissions must be set in order to allow connections from web server. Many BSD-derrived systems allow connections regardless of permissions. - - + @php_fpm_user@ + @php_fpm_group@ 0666 @@ -60,10 +60,10 @@ Unix user of processes - + @php_fpm_user@ Unix group of processes - + @php_fpm_group@ Process manager settings @@ -107,7 +107,7 @@ 0s The log file for slow requests - logs/slow.log + @php_fpm_log_path@.slow Set open file desc rlimit 1024 diff --git a/configure.ac b/configure.ac index 32d52f0..1e96254 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,9 @@ AC_SUBST(php_fpm_ADD_LIBS) AC_DEFINE_UNQUOTED(PHP_FPM_VERSION, "$PACKAGE_VERSION", [fpm version]) +AC_SUBST(php_fpm_bin_path) +AC_DEFINE_UNQUOTED(PHP_FPM_BIN_PATH, "$php_fpm_bin_path", [fpm bin file path]) + AC_SUBST(php_fpm_conf_path) AC_DEFINE_UNQUOTED(PHP_FPM_CONF_PATH, "$php_fpm_conf_path", [fpm conf file path]) @@ -47,8 +50,14 @@ AC_DEFINE_UNQUOTED(PHP_FPM_LOG_PATH, "$php_fpm_log_path", [fpm log file path]) AC_SUBST(php_fpm_pid_path) AC_DEFINE_UNQUOTED(PHP_FPM_PID_PATH, "$php_fpm_pid_path", [fpm pid file path]) +AC_SUBST(php_fpm_user) +AC_DEFINE_UNQUOTED(PHP_FPM_USER, "$php_fpm_user", [fpm user name]) + +AC_SUBST(php_fpm_group) +AC_DEFINE_UNQUOTED(PHP_FPM_GROUP, "$php_fpm_group", [fpm group name]) + AC_CONFIG_FILES([Makefile src/Makefile src/sapi/Makefile src/fpm/Makefile]) -AC_OUTPUT(src/php-fpm.conf:conf/php-fpm.conf.in src/init.d.php-fpm:init.d/php-fpm.in) +AC_OUTPUT(src/$php_fpm_conf:conf/php-fpm.conf.in src/init.d.$PHP_FPM_BIN:init.d/php-fpm.in) diff --git a/init.d/php-fpm.in b/init.d/php-fpm.in index 0befa52..8bdfa53 100644 --- a/init.d/php-fpm.in +++ b/init.d/php-fpm.in @@ -1,6 +1,6 @@ #! /bin/sh -php_fpm_BIN=@prefix@/bin/php-cgi +php_fpm_BIN=@php_fpm_bin_path@ php_fpm_CONF=@php_fpm_conf_path@ php_fpm_PID=@php_fpm_pid_path@ diff --git a/src/Makefile.am b/src/Makefile.am index 6af52cb..38ba4b8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,8 +1,12 @@ SUBDIRS = sapi fpm -bin_PROGRAMS = php-fpm +bin_PROGRAMS = $(PHP_FPM_BIN) +$(PHP_FPM_BIN): php_fpm + ln -s php_fpm $(PHP_FPM_BIN) + +EXTRA_PROGRAMS = php_fpm php_fpm_SOURCES = php_fpm_LDADD = \ @@ -19,4 +23,3 @@ BUILT_SOURCES = ../libevent/event-config.h ../libevent/event-config.h: ../libevent/Makefile cd ../libevent && $(MAKE) event-config.h -