From 305922df8aa5aae8d930ea3e23fbddb3b16b215a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 23 Oct 2021 11:14:42 +0200 Subject: [PATCH] Add new Patrick website and reorganise files --- modules/private/default.nix | 3 +- modules/private/websites/default.nix | 5 +- .../websites/patrick_fodella/altermondia.nix | 73 +++++++++++++++++++ .../{production.nix => ecolyeu.nix} | 24 +++--- 4 files changed, 91 insertions(+), 14 deletions(-) create mode 100644 modules/private/websites/patrick_fodella/altermondia.nix rename modules/private/websites/patrick_fodella/{production.nix => ecolyeu.nix} (71%) diff --git a/modules/private/default.nix b/modules/private/default.nix index 5bb6507..9108a92 100644 --- a/modules/private/default.nix +++ b/modules/private/default.nix @@ -68,7 +68,8 @@ set = { papaMaisonBbc = ./websites/papa/maison_bbc.nix; papaSurveillance = ./websites/papa/surveillance.nix; - patrickFodellaProd = ./websites/patrick_fodella/production.nix; + patrickFodellaEcolyeu = ./websites/patrick_fodella/ecolyeu.nix; + patrickFodellaAltermondia = ./websites/patrick_fodella/altermondia.nix; piedsjalouxInte = ./websites/piedsjaloux/integration.nix; piedsjalouxProd = ./websites/piedsjaloux/production.nix; diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix index 7aac7b8..4864034 100644 --- a/modules/private/websites/default.nix +++ b/modules/private/websites/default.nix @@ -280,7 +280,10 @@ in maison_bbc.enable = true; }; - patrick_fodella.production.enable = true; + patrick_fodella = { + ecolyeu.enable = true; + altermondia.enable = true; + }; piedsjaloux = { integration.enable = true; diff --git a/modules/private/websites/patrick_fodella/altermondia.nix b/modules/private/websites/patrick_fodella/altermondia.nix new file mode 100644 index 0000000..2a41aa3 --- /dev/null +++ b/modules/private/websites/patrick_fodella/altermondia.nix @@ -0,0 +1,73 @@ +{ lib, pkgs, config, ... }: +let + cfg = config.myServices.websites.patrick_fodella.altermondia; + varDir = "/var/lib/ftp/patrick_fodella/altermondia"; + apacheUser = config.services.httpd.Prod.user; + apacheGroup = config.services.httpd.Prod.group; +in { + options.myServices.websites.patrick_fodella.altermondia.enable = lib.mkEnableOption "enable Patrick Fodella Altermondia's website"; + + config = lib.mkIf cfg.enable { + services.webstats.sites = [ { name = "altermondia.org"; } ]; + + system.activationScripts.patrick_fodella_altermondia = { + deps = [ "httpd" ]; + text = '' + install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/patrick_fodella_altermondia + ''; + }; + systemd.services.phpfpm-patrick_fodella_altermondia.after = lib.mkAfter [ "mysql.service" ]; + systemd.services.phpfpm-patrick_fodella_altermondia.wants = [ "mysql.service" ]; + services.phpfpm.pools.patrick_fodella_altermondia = { + 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/patrick_fodella_altermondia:${varDir}:/tmp"; + "php_admin_value[session.save_path]" = "/var/lib/php/sessions/patrick_fodella_altermondia"; + }; + phpOptions = config.services.phpfpm.phpOptions + '' + disable_functions = "mail" + ''; + phpPackage = pkgs.php72; + }; + services.websites.env.production.modules = [ "proxy_fcgi" ]; + services.websites.env.production.vhostConfs.patrick_fodella_altermondia = { + certName = "patrick_fodella"; + addToCerts = true; + hosts = ["altermondia.org" "www.altermondia.org" ]; + root = varDir; + extraConfig = [ + '' + Use Stats altermondia.org + + RewriteEngine on + RewriteCond "%{HTTP_HOST}" "!^altermondia\.org$" [NC] + RewriteRule ^(.+)$ https://altermondia.org$1 [R=302,L] + + + SetHandler "proxy:unix:${config.services.phpfpm.pools.patrick_fodella_altermondia.socket}|fcgi://localhost" + + + + AllowOverride None + Require all denied + + + DirectoryIndex index.php index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride all + Require all granted + + '' + ]; + }; + }; +} + diff --git a/modules/private/websites/patrick_fodella/production.nix b/modules/private/websites/patrick_fodella/ecolyeu.nix similarity index 71% rename from modules/private/websites/patrick_fodella/production.nix rename to modules/private/websites/patrick_fodella/ecolyeu.nix index 2812cf7..00dab76 100644 --- a/modules/private/websites/patrick_fodella/production.nix +++ b/modules/private/websites/patrick_fodella/ecolyeu.nix @@ -1,24 +1,24 @@ { lib, pkgs, config, ... }: let - cfg = config.myServices.websites.patrick_fodella.production; - varDir = "/var/lib/ftp/patrick_fodella"; + cfg = config.myServices.websites.patrick_fodella.ecolyeu; + varDir = "/var/lib/ftp/patrick_fodella/ecolyeu_pessicart"; apacheUser = config.services.httpd.Prod.user; apacheGroup = config.services.httpd.Prod.group; in { - options.myServices.websites.patrick_fodella.production.enable = lib.mkEnableOption "enable Patrick Fodella's website"; + options.myServices.websites.patrick_fodella.ecolyeu.enable = lib.mkEnableOption "enable Patrick Fodella Ecolyeu's website"; config = lib.mkIf cfg.enable { services.webstats.sites = [ { name = "ecolyeu-pessicart-nice.fr"; } ]; - system.activationScripts.patrick_fodella = { + system.activationScripts.patrick_fodella_ecolyeu = { deps = [ "httpd" ]; text = '' - install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/patrick_fodella + install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/patrick_fodella_ecolyeu ''; }; - systemd.services.phpfpm-patrick_fodella.after = lib.mkAfter [ "mysql.service" ]; - systemd.services.phpfpm-patrick_fodella.wants = [ "mysql.service" ]; - services.phpfpm.pools.patrick_fodella = { + systemd.services.phpfpm-patrick_fodella_ecolyeu.after = lib.mkAfter [ "mysql.service" ]; + systemd.services.phpfpm-patrick_fodella_ecolyeu.wants = [ "mysql.service" ]; + services.phpfpm.pools.patrick_fodella_ecolyeu = { user = apacheUser; group = apacheGroup; settings = { @@ -29,8 +29,8 @@ in { "pm.max_children" = "5"; "pm.process_idle_timeout" = "60"; - "php_admin_value[open_basedir]" = "/var/lib/php/sessions/patrick_fodella:${varDir}:/tmp"; - "php_admin_value[session.save_path]" = "/var/lib/php/sessions/patrick_fodella"; + "php_admin_value[open_basedir]" = "/var/lib/php/sessions/patrick_fodella_ecolyeu:${varDir}:/tmp"; + "php_admin_value[session.save_path]" = "/var/lib/php/sessions/patrick_fodella_ecolyeu"; }; phpOptions = config.services.phpfpm.phpOptions + '' disable_functions = "mail" @@ -38,7 +38,7 @@ in { phpPackage = pkgs.php72; }; services.websites.env.production.modules = [ "proxy_fcgi" ]; - services.websites.env.production.vhostConfs.patrick_fodella = { + services.websites.env.production.vhostConfs.patrick_fodella_ecolyeu = { certName = "patrick_fodella"; certMainHost = "ecolyeu-pessicart-nice.fr"; hosts = ["ecolyeu-pessicart-nice.fr" "www.ecolyeu-pessicart-nice.fr" ]; @@ -52,7 +52,7 @@ in { RewriteRule ^(.+)$ https://www.ecolyeu-pessicart-nice.fr$1 [R=302,L] - SetHandler "proxy:unix:${config.services.phpfpm.pools.patrick_fodella.socket}|fcgi://localhost" + SetHandler "proxy:unix:${config.services.phpfpm.pools.patrick_fodella_ecolyeu.socket}|fcgi://localhost" -- 2.41.0