aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2025-01-18 15:34:34 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-01-19 07:46:17 +0200
commit0fb21de511257b5738d166c61e80fc6fb180b6a1 (patch)
treec4dd0800fa63bb64995bbc5c5b84c317ddd4540a
parent1faf25dc6013211544212f186196a6039b2cef98 (diff)
downloadnowayforward_human-0fb21de511257b5738d166c61e80fc6fb180b6a1.tar
nowayforward_human-0fb21de511257b5738d166c61e80fc6fb180b6a1.tar.gz
nowayforward_human-0fb21de511257b5738d166c61e80fc6fb180b6a1.zip
feat: Add php to apache
-rw-r--r--apache/httpd.conf.tpl1
-rw-r--r--apache/sites/nowayforward_human.conf.tpl7
-rw-r--r--shell.nix27
3 files changed, 33 insertions, 2 deletions
diff --git a/apache/httpd.conf.tpl b/apache/httpd.conf.tpl
index 695ed27..7685d4a 100644
--- a/apache/httpd.conf.tpl
+++ b/apache/httpd.conf.tpl
@@ -13,6 +13,7 @@ LoadModule dir_module modules/mod_dir.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule mime_module modules/mod_mime.so
+LoadModule alias_module modules/mod_alias.so
#LoadModule log_config_module modules/mod_log_config.so
Define ROOT ${ROOT_DIR}
diff --git a/apache/sites/nowayforward_human.conf.tpl b/apache/sites/nowayforward_human.conf.tpl
index 30ebe7e..34e5533 100644
--- a/apache/sites/nowayforward_human.conf.tpl
+++ b/apache/sites/nowayforward_human.conf.tpl
@@ -1,4 +1,9 @@
<VirtualHost *:8000>
ServerName localhost
- DocumentRoot ${REPOSITORY}/views
+ DocumentRoot "${REPOSITORY}/views"
+ Alias /controllers "${REPOSITORY}/controllers"
+
+ <FilesMatch \.php$>
+ SetHandler "proxy:unix:${PHP_FPM_SOCKET}|fcgi://localhost/"
+ </FilesMatch>
</VirtualHost>
diff --git a/shell.nix b/shell.nix
index a2ad4ac..a6ee6ef 100644
--- a/shell.nix
+++ b/shell.nix
@@ -7,6 +7,7 @@ let
gettext,
mariadb,
apacheHttpd,
+ php,
...
}:
mkShell {
@@ -14,6 +15,7 @@ let
gettext
mariadb
apacheHttpd
+ php
];
# Thanks https://github.com/JianZcar/LAMP-nix-shell-env/blob/main/default.nix
@@ -26,7 +28,8 @@ let
: ''${SERVER_PORT:=8000}
: ''${ROOT_DIR:=$HOME/.config/apache}
: ''${REPOSITORY:=${builtins.getEnv "PWD"}}
- export SERVER_ROOT SERVER_PORT ROOT_DIR REPOSITORY
+ : ''${PHP_FPM_SOCKET:=$ROOT_DIR/php-fpm.sock}
+ export SERVER_ROOT SERVER_PORT ROOT_DIR REPOSITORY PHP_FPM_SOCKET
if [ ! -d "$ROOT_DIR" ]
then
@@ -46,11 +49,32 @@ let
cp "./apache/$file" "$ROOT_DIR/$file"
fi
done
+
+ cat <<EOF >"$ROOT_DIR/php-fpm.conf"
+ [global]
+ error_log = $ROOT_DIR/php-fpm.error.log
+ pid = $ROOT_DIR/php-fpm.pid
+
+ [www]
+ listen = $PHP_FPM_SOCKET
+ listen.owner = $USER
+ listen.group = users
+ listen.mode = 0660
+
+ pm = dynamic
+ pm.max_children = 5
+ pm.start_servers = 2
+ pm.min_spare_servers = 1
+ pm.max_spare_servers = 3
+ EOF
fi
echo 'Starting httpd...'
httpd -f $ROOT_DIR/httpd.conf
+ php-fpm -y $ROOT_DIR/php-fpm.conf -F >/dev/null 2>&1 &
+ PHP_FPM_PID=$!
+
#
# Database
#
@@ -115,6 +139,7 @@ let
echo 'Shutting down httpd...'
httpd -f $ROOT_DIR/httpd.conf -k stop
+ kill $PHP_FPM_PID
# Stop mysql
echo 'Shutting down mysql...'