From 982dc1fabf71cc91ef4409848dd1952c7e6f479f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 17 Sep 2020 17:22:48 +0200 Subject: =?UTF-8?q?Add=20Patrick=20Fodella=E2=80=99s=20website?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../websites/patrick_fodella/production.nix | 72 ++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 modules/private/websites/patrick_fodella/production.nix (limited to 'modules/private/websites/patrick_fodella/production.nix') diff --git a/modules/private/websites/patrick_fodella/production.nix b/modules/private/websites/patrick_fodella/production.nix new file mode 100644 index 0000000..2812cf7 --- /dev/null +++ b/modules/private/websites/patrick_fodella/production.nix @@ -0,0 +1,72 @@ +{ lib, pkgs, config, ... }: +let + cfg = config.myServices.websites.patrick_fodella.production; + varDir = "/var/lib/ftp/patrick_fodella"; + 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"; + + config = lib.mkIf cfg.enable { + services.webstats.sites = [ { name = "ecolyeu-pessicart-nice.fr"; } ]; + + system.activationScripts.patrick_fodella = { + deps = [ "httpd" ]; + text = '' + install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d /var/lib/php/sessions/patrick_fodella + ''; + }; + systemd.services.phpfpm-patrick_fodella.after = lib.mkAfter [ "mysql.service" ]; + systemd.services.phpfpm-patrick_fodella.wants = [ "mysql.service" ]; + services.phpfpm.pools.patrick_fodella = { + 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:${varDir}:/tmp"; + "php_admin_value[session.save_path]" = "/var/lib/php/sessions/patrick_fodella"; + }; + 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 = { + certName = "patrick_fodella"; + certMainHost = "ecolyeu-pessicart-nice.fr"; + hosts = ["ecolyeu-pessicart-nice.fr" "www.ecolyeu-pessicart-nice.fr" ]; + root = varDir; + extraConfig = [ + '' + Use Stats ecolyeu-pessicart-nice.fr + + RewriteEngine on + RewriteCond "%{HTTP_HOST}" "!^www\.ecolyeu-pessicart-nice\.fr$" [NC] + RewriteRule ^(.+)$ https://www.ecolyeu-pessicart-nice.fr$1 [R=302,L] + + + SetHandler "proxy:unix:${config.services.phpfpm.pools.patrick_fodella.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 + + '' + ]; + }; + }; +} -- cgit v1.2.3