summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/php-fpm/DESCR23
-rw-r--r--www/php-fpm/MESSAGE11
-rw-r--r--www/php-fpm/Makefile41
-rw-r--r--www/php-fpm/PLIST6
-rwxr-xr-xwww/php-fpm/files/php_fpm.sh19
5 files changed, 100 insertions, 0 deletions
diff --git a/www/php-fpm/DESCR b/www/php-fpm/DESCR
new file mode 100644
index 00000000000..d0d742ebab9
--- /dev/null
+++ b/www/php-fpm/DESCR
@@ -0,0 +1,23 @@
+PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
+implementation with some additional features useful for sites
+of any size, especially busier sites.
+
+These features include:
+
+* Adaptive process spawning (NEW!)
+* Basic statistics (ala Apache's mod_status) (NEW!)
+* Advanced process management with graceful stop/start
+* Ability to start workers with different uid/gid/chroot/environment
+ and different php.ini (replaces safe_mode)
+* Stdout & stderr logging
+* Emergency restart in case of accidental opcode cache destruction
+* Accelerated upload support
+* Support for a "slowlog"
+* Enhancements to FastCGI, such as fastcgi_finish_request() - a special
+ function to finish request & flush all data while continuing to do
+ something time-consuming (video converting, stats processing, etc.)
+
+... and much more.
+
+It was not designed with virtual hosting in mind (large amounts of pools)
+however it can be adapted for any usage model.
diff --git a/www/php-fpm/MESSAGE b/www/php-fpm/MESSAGE
new file mode 100644
index 00000000000..01b7baa78b5
--- /dev/null
+++ b/www/php-fpm/MESSAGE
@@ -0,0 +1,11 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2012/02/22 10:43:42 fhajny Exp $
+
+For more information about PHP FastCGI Process Manager see FPM wiki at:
+http://php-fpm.org/wiki/Main_Page
+
+For NetBSD consider adding something like following to /etc/newsyslog.conf:
+
+${VARBASE}/log/php-fpm.log 640 7 * * BZ ${VARBASE}/run/php-fpm.pid SIGUSR1
+
+===========================================================================
diff --git a/www/php-fpm/Makefile b/www/php-fpm/Makefile
new file mode 100644
index 00000000000..664dd13373c
--- /dev/null
+++ b/www/php-fpm/Makefile
@@ -0,0 +1,41 @@
+# $NetBSD: Makefile,v 1.1.1.1 2012/02/22 10:43:42 fhajny Exp $
+
+PKGNAME= ${PHP_PKG_PREFIX}-fpm-${PHP_BASE_VERS}
+CATEGORIES= www
+
+HOMEPAGE= http://php-fpm.org/
+MAINTAINER= filip@joyent.com
+COMMENT= FPM interface for ${PKG_PHP}
+LICENSE= 2-clause-bsd
+
+PHP_VERSIONS_ACCEPTED= 53
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_PHP_EXT_PATCHES= yes
+
+BUILD_DEFS+= VARBASE APACHE_USER APACHE_GROUP
+
+EGDIR= ${PREFIX}/share/examples/php
+CONF_FILES= ${EGDIR}/php-fpm.conf ${PKG_SYSCONFDIR}/php-fpm.conf
+AUTO_MKDIRS= yes
+
+CONFIGURE_ARGS+= --enable-fpm
+CONFIGURE_ARGS+= --with-libevent-dir=${BUILDLINK_PREFIX.libevent}
+CONFIGURE_ARGS+= --with-fpm-user=${APACHE_USER}
+CONFIGURE_ARGS+= --with-fpm-group=${APACHE_GROUP}
+
+RCD_SCRIPTS= php_fpm
+MESSAGE_SUBST+= CGIDIR=${CGIDIR:Q}
+MESSAGE_SUBST+= VARBASE=${VARBASE:Q}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/sapi/fpm/php-fpm ${DESTDIR}${PREFIX}/sbin/php-fpm
+ ${INSTALL_MAN} ${WRKSRC}/sapi/fpm/php-fpm.8 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/
+ ${INSTALL_DATA} ${WRKSRC}/sapi/fpm/php-fpm.conf ${DESTDIR}${EGDIR}
+
+.include "../../devel/libevent/buildlink3.mk"
+.include "../../lang/php/phpversion.mk"
+.include "${PHPPKGSRCDIR}/Makefile.php"
+.include "${PHPPKGSRCDIR}/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/www/php-fpm/PLIST b/www/php-fpm/PLIST
new file mode 100644
index 00000000000..098bf1732e8
--- /dev/null
+++ b/www/php-fpm/PLIST
@@ -0,0 +1,6 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2012/02/22 10:43:42 fhajny Exp $
+man/man8/php-fpm.8
+sbin/php-fpm
+share/examples/php/php-fpm.conf
+share/examples/rc.d/php_fpm
+@pkgdir share/examples/php
diff --git a/www/php-fpm/files/php_fpm.sh b/www/php-fpm/files/php_fpm.sh
new file mode 100755
index 00000000000..ab0dff7130e
--- /dev/null
+++ b/www/php-fpm/files/php_fpm.sh
@@ -0,0 +1,19 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: php_fpm.sh,v 1.1.1.1 2012/02/22 10:43:42 fhajny Exp $
+#
+# PROVIDE: php_fpm
+# REQUIRE: DAEMON
+
+. /etc/rc.subr
+
+name="php_fpm"
+rcvar=${name}
+command="@PREFIX@/sbin/php-fpm"
+required_files="@PKG_SYSCONFDIR@/php-fpm.conf"
+pidfile="@VARBASE@/run/php-fpm.pid"
+sig_reload="USR2"
+extra_commands="reload"
+
+load_rc_config $name
+run_rc_command "$1"