X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fimmae%2Fproduction.nix;h=dff105363b77923fe215fef58160af7f7793066c;hb=f2a18fd63f6be24fec146080fe3663a3d0e9be55;hp=3c851e68a37ccc9e7b9cba4f034b911484507515;hpb=29f8cb850d74b456d6481a456311bbf5361d328c;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/immae/production.nix b/modules/private/websites/immae/production.nix index 3c851e6..dff1053 100644 --- a/modules/private/websites/immae/production.nix +++ b/modules/private/websites/immae/production.nix @@ -1,56 +1,83 @@ -{ lib, pkgs, config, myconfig, ... }: +{ lib, pkgs, config, ... }: let cfg = config.myServices.websites.immae.production; - varDir = "/var/lib/ftp/immae"; - env = myconfig.env.websites.immae; + varDir = "/var/lib/buildbot/outputs/immaeEu"; + coursDir = "/var/lib/buildbot/outputs/cours"; + rechercheDir = "/var/lib/buildbot/outputs/recherche"; + recettesDir = "/var/lib/buildbot/outputs/recettes"; + env = config.myEnv.websites.immae; in { options.myServices.websites.immae.production.enable = lib.mkEnableOption "enable Immae's website"; config = lib.mkIf cfg.enable { services.webstats.sites = [ { name = "www.immae.eu"; } ]; - services.phpfpm.poolConfigs.immae = '' - listen = /run/phpfpm/immae.sock - user = wwwrun - group = wwwrun - listen.owner = wwwrun - listen.group = wwwrun - - pm = ondemand - pm.max_children = 5 - pm.process_idle_timeout = 60 - - php_admin_value[open_basedir] = "${varDir}:/tmp" - ''; - services.websites.env.production.modules = [ "proxy_fcgi" ]; services.websites.env.production.vhostConfs.immae = { certName = "eldiron"; addToCerts = true; - hosts = [ "www.immae.eu" ]; + hosts = [ "www.immae.eu" "immae.eu" ]; root = varDir; extraConfig = [ '' Use Stats www.immae.eu - - SetHandler "proxy:unix:/run/phpfpm/immae.sock|fcgi://localhost" - + + Header always set Referrer-Policy "strict-origin-when-cross-origin" + Header always set Strict-Transport-Security "max-age=31536000" + RequestHeader set X-Forwarded-Proto "https" + + RewriteRule ^(.*)$ https://mastodon.immae.eu%{REQUEST_URI} [QSA,L] + + + RewriteEngine On + RewriteCond "%{REQUEST_URI}" "!^/.well-known/(webfinger|host-meta)" + RewriteCond "%{HTTP_HOST}" "!^www\.immae\.eu$" [NC] + RewriteRule ^(.+)$ https://www.immae.eu$1 [R=302,L] - DirectoryIndex index.php index.htm index.html + DirectoryIndex index.htm index.html Options Indexes FollowSymLinks MultiViews Includes AllowOverride All Require all granted - - Use LDAPConnect - Require ldap-group cn=blog,cn=immae.eu,ou=services,dc=immae,dc=eu - + Alias /cours ${coursDir} + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride All + Require all granted + + + Alias /recherche ${rechercheDir} + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride All + Require all granted + + + Alias /recettes ${recettesDir} + + DirectoryIndex index.htm index.html + Options Indexes FollowSymLinks MultiViews Includes + AllowOverride All + Require all granted + '' ]; }; + services.websites.env.production.vhostConfs.immaeFr = { + certName = "eldiron"; + addToCerts = true; + hosts = [ "www.immae.fr" "immae.fr" ]; + root = null; + extraConfig = [ '' + RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://www.immae.eu/chapeaux/ + '' ]; + }; + services.websites.env.production.vhostConfs.bouya = { certName = "eldiron"; addToCerts = true;