From 6e6752c7076cc32a66f1223293ae44108562f664 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Thu, 9 Jul 2026 19:34:55 +0200 Subject: Add spawn-fcgi --- rc.spawn-fcgi/fcgiwrap-srv/dependencies | 6 ++++++ rc.spawn-fcgi/fcgiwrap-srv/env/CMD | 1 + rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_GROUP | 1 + rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_OWNER | 1 + rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PATH | 1 + rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PERMS | 1 + rc.spawn-fcgi/fcgiwrap-srv/run | 24 ++++++++++++++++++++++++ rc.spawn-fcgi/fcgiwrap-srv/type | 1 + 8 files changed, 36 insertions(+) create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/dependencies create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/env/CMD create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_GROUP create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_OWNER create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PATH create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PERMS create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/run create mode 100644 rc.spawn-fcgi/fcgiwrap-srv/type (limited to 'rc.spawn-fcgi/fcgiwrap-srv') diff --git a/rc.spawn-fcgi/fcgiwrap-srv/dependencies b/rc.spawn-fcgi/fcgiwrap-srv/dependencies new file mode 100644 index 0000000..6c7200d --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/dependencies @@ -0,0 +1,6 @@ +tmpfs-run +network +# Comment out "remount-root" and uncomment "local-fs" +# if you use separate partition for /var +remount-root +#local-fs diff --git a/rc.spawn-fcgi/fcgiwrap-srv/env/CMD b/rc.spawn-fcgi/fcgiwrap-srv/env/CMD new file mode 100644 index 0000000..9333836 --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/env/CMD @@ -0,0 +1 @@ +/usr/sbin/fcgiwrap diff --git a/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_GROUP b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_GROUP new file mode 100644 index 0000000..a6b6519 --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_GROUP @@ -0,0 +1 @@ +apache diff --git a/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_OWNER b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_OWNER new file mode 100644 index 0000000..a6b6519 --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_OWNER @@ -0,0 +1 @@ +apache diff --git a/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PATH b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PATH new file mode 100644 index 0000000..73c29a1 --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PATH @@ -0,0 +1 @@ +/run/fcgiwrap/cgi.sock diff --git a/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PERMS b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PERMS new file mode 100644 index 0000000..e9745d1 --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/env/SOCKET_PERMS @@ -0,0 +1 @@ +0700 diff --git a/rc.spawn-fcgi/fcgiwrap-srv/run b/rc.spawn-fcgi/fcgiwrap-srv/run new file mode 100644 index 0000000..90a232b --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/run @@ -0,0 +1,24 @@ +#!/bin/execlineb -P + +#################################################### +# Start fcgiwrap (FastCGI wrapper for CGI scripts) # +#################################################### + +s6-envdir env +multisubstitute { + importas -u SOCKET_OWNER SOCKET_OWNER + importas -u SOCKET_GROUP SOCKET_GROUP + importas -u SOCKET_PERMS SOCKET_PERMS + importas -u SOCKET_PATH SOCKET_PATH + importas -u CMD CMD +} +s6-envuidgid -B ${SOCKET_OWNER}:${SOCKET_GROUP} +multisubstitute { + importas -u UID UID + importas -u GID GID +} +foreground { install -dm $SOCKET_PERMS -o $UID -g $GID /run/fcgiwrap } +s6-ipcserver-socketbinder -B -d -a $SOCKET_PERMS $SOCKET_PATH +foreground { chown ${SOCKET_OWNER}:${SOCKET_GROUP} $SOCKET_PATH } +s6-setuidgid ${UID}:${GID} +exec -c $CMD diff --git a/rc.spawn-fcgi/fcgiwrap-srv/type b/rc.spawn-fcgi/fcgiwrap-srv/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/rc.spawn-fcgi/fcgiwrap-srv/type @@ -0,0 +1 @@ +longrun -- cgit v1.2.3