let
cfg = config.myServices.websites.leila.production;
varDir = "/var/lib/ftp/leila";
+ apacheUser = config.services.httpd.Prod.user;
+ apacheGroup = config.services.httpd.Prod.group;
in {
options.myServices.websites.leila.production.enable = lib.mkEnableOption "enable Leila's websites in production";
config = lib.mkIf cfg.enable {
services.phpfpm.pools.leila = {
- user = "wwwrun";
- group = "wwwrun";
+ user = apacheUser;
+ group = apacheGroup;
settings = {
- "listen.owner" = "wwwrun";
- "listen.group" = "wwwrun";
+ "listen.owner" = apacheUser;
+ "listen.group" = apacheGroup;
- "pm" = "ondemand";
- "pm.max_children" = "5";
- "pm.process_idle_timeout" = "60";
+ "pm" = "dynamic";
+ "pm.max_children" = "20";
+ "pm.start_servers" = "2";
+ "pm.min_spare_servers" = "1";
+ "pm.max_spare_servers" = "3";
"php_admin_value[open_basedir]" = "${varDir}:/tmp";
+ "php_admin_value[max_execution_time]" = "1800";
+ };
+ phpOptions = config.services.phpfpm.phpOptions + ''
+ disable_functions = "mail"
+ '';
+ phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.imagick ]);
+ phpEnv = {
+ PATH = lib.makeBinPath [ pkgs.imagemagick ];
};
};