{ env }: rec { keys = [{ dest = "webapps/tools-dmarc-reports.php"; user = "wwwrun"; group = "wwwrun"; permissions = "0400"; text = '' ''; }]; webRoot = ./dmarc_reports; apache = rec { user = "wwwrun"; group = "wwwrun"; modules = [ "proxy_fcgi" ]; webappName = "tools_dmarc_reports"; root = "/run/current-system/webapps/${webappName}"; vhostConf = socket: '' Alias /dmarc-reports "${root}" DirectoryIndex index.html SetHandler "proxy:unix:${socket}|fcgi://localhost" AllowOverride None Options +FollowSymlinks SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 Use LDAPConnect Require all granted Require ldap-attribute uid=immae ''; }; phpFpm = rec { basedir = builtins.concatStringsSep ":" [ webRoot "/var/secrets/webapps/tools-dmarc-reports.php" ]; pool = { "listen.owner" = apache.user; "listen.group" = apache.group; "pm" = "ondemand"; "pm.max_children" = "60"; "pm.process_idle_timeout" = "60"; # Needed to avoid clashes in browser cookies (same domain) "php_admin_value[open_basedir]" = "${basedir}:/tmp"; }; phpEnv = { SECRETS_FILE = "/var/secrets/webapps/tools-dmarc-reports.php"; }; }; }