From 0fb21de511257b5738d166c61e80fc6fb180b6a1 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 18 Jan 2025 15:34:34 +0200 Subject: feat: Add php to apache --- apache/httpd.conf.tpl | 1 + apache/sites/nowayforward_human.conf.tpl | 7 ++++++- shell.nix | 27 ++++++++++++++++++++++++++- 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 @@ ServerName localhost - DocumentRoot ${REPOSITORY}/views + DocumentRoot "${REPOSITORY}/views" + Alias /controllers "${REPOSITORY}/controllers" + + + SetHandler "proxy:unix:${PHP_FPM_SOCKET}|fcgi://localhost/" + 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 <"$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...' -- cgit v1.2.3