diff --git a/modules/services/web-servers/apache-httpd/default.nix b/modules/services/web-servers/apache-httpd/default.nix index d9a1e7d05fe..d31d62a0308 100644 --- a/modules/services/web-servers/apache-httpd/default.nix +++ b/modules/services/web-servers/apache-httpd/default.nix @@ -68,6 +68,7 @@ let globalEnvVars = []; robotsEntries = ""; startupScript = ""; + enablePHP = false; phpOptions = ""; options = {}; }; @@ -109,7 +110,9 @@ let "mime" "dav" "status" "autoindex" "asis" "info" "cgi" "dav_fs" "vhost_alias" "negotiation" "dir" "imagemap" "actions" "speling" "userdir" "alias" "rewrite" "proxy" "proxy_http" - ] ++ optional enableSSL "ssl" ++ extraApacheModules; + ] + ++ optional enableSSL "ssl" + ++ extraApacheModules; loggingConf = '' @@ -299,9 +302,11 @@ let ${let load = {name, path}: "LoadModule ${name}_module ${path}\n"; allModules = - concatMap (svc: svc.extraModulesPre) allSubservices ++ - map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules ++ - concatMap (svc: svc.extraModules) allSubservices ++ extraForeignModules; + concatMap (svc: svc.extraModulesPre) allSubservices + ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules + ++ optional enablePHP { name = "php5"; path = "${pkgs.php}/modules/libphp5.so"; } + ++ concatMap (svc: svc.extraModules) allSubservices + ++ extraForeignModules; in concatMapStrings load allModules } @@ -360,6 +365,9 @@ let ''; + enablePHP = any (svc: svc.enablePHP) allSubservices; + + # Generate the PHP configuration file. Should probably be factored # out into a separate module. phpIni = pkgs.runCommand "php.ini" @@ -563,7 +571,7 @@ in optional config.networking.defaultMailServer.directDelivery "${pkgs.ssmtp}/sbin" ++ (concatMap (svc: svc.extraServerPath) allSubservices) ); - PHPRC = phpIni; + PHPRC = if enablePHP then phpIni else ""; TZ = config.time.timeZone; diff --git a/modules/services/web-servers/apache-httpd/mediawiki.nix b/modules/services/web-servers/apache-httpd/mediawiki.nix index 71ad6f2ad76..bbd407043c8 100644 --- a/modules/services/web-servers/apache-httpd/mediawiki.nix +++ b/modules/services/web-servers/apache-httpd/mediawiki.nix @@ -109,6 +109,8 @@ in ''} ''; + enablePHP = true; + options = { id = mkOption { diff --git a/modules/services/web-servers/apache-httpd/subversion.nix b/modules/services/web-servers/apache-httpd/subversion.nix index 256e3ca3105..a96d38cd266 100644 --- a/modules/services/web-servers/apache-httpd/subversion.nix +++ b/modules/services/web-servers/apache-httpd/subversion.nix @@ -296,10 +296,11 @@ in { extraModules = [ { name = "python"; path = "${pkgs.mod_python}/modules/mod_python.so"; } - { name = "php5"; path = "${pkgs.php}/modules/libphp5.so"; } { name = "dav_svn"; path = "${subversion}/modules/mod_dav_svn.so"; } ]; + enablePHP = true; + extraConfig = '' diff --git a/modules/services/web-servers/apache-httpd/zabbix.nix b/modules/services/web-servers/apache-httpd/zabbix.nix index 608c3e48fd0..3c2a30322f4 100644 --- a/modules/services/web-servers/apache-httpd/zabbix.nix +++ b/modules/services/web-servers/apache-httpd/zabbix.nix @@ -21,8 +21,7 @@ in { - extraModules = - [ { name = "php5"; path = "${pkgs.php}/modules/libphp5.so"; } ]; + enablePHP = true; phpOptions = ''