From d3452fc59b9839846225fd254926c64a9c71f071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 18 Apr 2020 16:10:56 +0200 Subject: Refactor websites --- modules/private/websites/denise/denisejerome.nix | 31 +++++++ modules/private/websites/denise/evariste.nix | 102 +++++++++++++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 modules/private/websites/denise/denisejerome.nix create mode 100644 modules/private/websites/denise/evariste.nix (limited to 'modules/private/websites/denise') diff --git a/modules/private/websites/denise/denisejerome.nix b/modules/private/websites/denise/denisejerome.nix new file mode 100644 index 0000000..a75e591 --- /dev/null +++ b/modules/private/websites/denise/denisejerome.nix @@ -0,0 +1,31 @@ +{ lib, config, ... }: +let + cfg = config.myServices.websites.denise.denisejerome; + varDir = "/var/lib/ftp/denise/denisejerome"; + env = config.myEnv.websites.denisejerome; +in { + options.myServices.websites.denise.denisejerome.enable = lib.mkEnableOption "enable Denise Jerome's website"; + + config = lib.mkIf cfg.enable { + services.webstats.sites = [ { name = "denisejerome.piedsjaloux.fr"; } ]; + + services.websites.env.production.vhostConfs.denise_denisejerome = { + certName = "denise"; + certMainHost = "denisejerome.piedsjaloux.fr"; + hosts = ["denisejerome.piedsjaloux.fr" ]; + root = varDir; + extraConfig = [ + '' + Use Stats denisejerome.piedsjaloux.fr + + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride AuthConfig + Require all granted + + '' + ]; + }; + }; +} diff --git a/modules/private/websites/denise/evariste.nix b/modules/private/websites/denise/evariste.nix new file mode 100644 index 0000000..460302b --- /dev/null +++ b/modules/private/websites/denise/evariste.nix @@ -0,0 +1,102 @@ +{ lib, config, ... }: +let + cfg = config.myServices.websites.denise.evariste; + nsiVarDir = "/var/lib/ftp/denise/nsievariste"; + stmgVarDir = "/var/lib/ftp/denise/stmgevariste"; + apacheUser = config.services.httpd.Prod.user; + apacheGroup = config.services.httpd.Prod.group; +in { + options.myServices.websites.denise.evariste.enable = lib.mkEnableOption "enable NSI/STMG Evariste website"; + + config = lib.mkIf cfg.enable { + services.webstats.sites = [ + { name = "nsievariste.immae.eu"; } + { name = "stmgevariste.immae.eu"; } + ]; + + services.websites.env.production.modules = [ "proxy_fcgi" ]; + system.activationScripts.denise_evariste = { + deps = [ "httpd" ]; + text = '' + install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/denise_nsievariste + install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/denise_stmgevariste + ''; + }; + services.phpfpm.pools.denise_nsievariste = { + user = apacheUser; + group = apacheGroup; + settings = { + "listen.owner" = apacheUser; + "listen.group" = apacheGroup; + + "pm" = "ondemand"; + "pm.max_children" = "5"; + "pm.process_idle_timeout" = "60"; + + "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_nsievariste:${nsiVarDir}:/tmp"; + "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_nsievariste"; + }; + }; + services.websites.env.production.vhostConfs.denise_nsievariste = { + certName = "denise_evariste"; + addToCerts = true; + certMainHost = "nsievariste.immae.eu"; + hosts = ["nsievariste.immae.eu" ]; + root = nsiVarDir; + extraConfig = [ + '' + Use Stats nsievariste.immae.eu + + + SetHandler "proxy:unix:${config.services.phpfpm.pools.denise_nsievariste.socket}|fcgi://localhost" + + + + DirectoryIndex index.php index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride None + Require all granted + + '' + ]; + }; + + services.phpfpm.pools.denise_stmgevariste = { + user = apacheUser; + group = apacheGroup; + settings = { + "listen.owner" = apacheUser; + "listen.group" = apacheGroup; + + "pm" = "ondemand"; + "pm.max_children" = "5"; + "pm.process_idle_timeout" = "60"; + + "php_admin_value[open_basedir]" = "/var/lib/php/sessions/denise_stmgevariste:${stmgVarDir}:/tmp"; + "php_admin_value[session.save_path]" = "/var/lib/php/sessions/denise_stmgevariste"; + }; + }; + services.websites.env.production.vhostConfs.denise_stmgevariste = { + certName = "denise_evariste"; + addToCerts = true; + hosts = ["stmgevariste.immae.eu" ]; + root = stmgVarDir; + extraConfig = [ + '' + Use Stats stmgevariste.immae.eu + + + SetHandler "proxy:unix:${config.services.phpfpm.pools.denise_stmgevariste.socket}|fcgi://localhost" + + + + DirectoryIndex index.php index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride None + Require all granted + + '' + ]; + }; + }; +} -- cgit v1.2.3