X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fimmae%2Fproduction.nix;h=439b455171f3b9bae2bdb95fc21306e8f52943f4;hb=c5f1602f941d34ad1f9e7bdb69678d0c844c9db6;hp=58cf04889587e401e6442e1ef5eb1dd8eabb19b0;hpb=f8026b6e4c869aa108f6361c8ccd50890657994d;p=perso%2FImmae%2FConfig%2FNix.git
diff --git a/modules/private/websites/immae/production.nix b/modules/private/websites/immae/production.nix
index 58cf048..439b455 100644
--- a/modules/private/websites/immae/production.nix
+++ b/modules/private/websites/immae/production.nix
@@ -1,63 +1,119 @@
-{ 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/immae/blog";
+ coursDir = "/var/lib/buildbot/outputs/immae/cours";
+ rechercheDir = "/var/lib/buildbot/outputs/immae/recherche";
+ recettesDir = "/var/lib/buildbot/outputs/immae/recettes";
+ historyDir = "/var/lib/buildbot/outputs/immae/history";
+ 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.myPhpfpm.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.production.modules = [ "proxy_fcgi" ];
- services.websites.production.vhostConfs.immae = {
- certName = "eldiron";
- addToCerts = true;
- hosts = [ "www.immae.eu" ];
- root = varDir;
- extraConfig = [
+ services.websites.env.production.vhostConfs.immae_production = {
+ certName = "immae";
+ addToCerts = true;
+ certMainHost = "www.immae.eu";
+ hosts = [ "www.immae.eu" "immae.eu" ];
+ root = varDir;
+ extraConfig = [
''
Use Stats www.immae.eu
+ Header always set Strict-Transport-Security "max-age=31536000"
-
- SetHandler "proxy:unix:/run/phpfpm/immae.sock|fcgi://localhost"
-
+
+ Header always set Referrer-Policy "strict-origin-when-cross-origin"
+ 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 /.well-known/chatonsinfos ${./chatons}
+
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride None
+ Require all granted
+
+
+ Alias /cours ${coursDir}
+
+ DirectoryIndex index.htm index.html
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride All
+ Require all granted
+
+
+ Alias /eurl ${./eurl}
+
+ DirectoryIndex index.htm index.html
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride None
+ 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
+
+
+ Alias /history ${historyDir}
+
+ DirectoryIndex index.html
+ AllowOverride None
+ Require all granted
+
''
];
};
- services.websites.production.vhostConfs.bouya = {
- certName = "eldiron";
+ services.websites.env.production.vhostConfs.immae_fr = {
+ certName = "immae";
addToCerts = true;
- hosts = [ "bouya.org" "www.bouya.org" ];
+ hosts = [ "www.immae.fr" "immae.fr" ];
root = null;
extraConfig = [ ''
- RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://www.normalesup.org/~bouya/
+ RedirectMatch 301 ^/((?!\.well-known.*$).*)$ https://www.immae.eu/chapeaux/
+ '' ];
+ };
+
+ services.websites.env.production.vhostConfs.immae_bouya = {
+ certName = "immae";
+ addToCerts = true;
+ hosts = [ "bouya.org" "www.bouya.org" ];
+ root = rechercheDir;
+ extraConfig = [ ''
+
+ DirectoryIndex index.htm index.html
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride All
+ Require all granted
+
'' ];
};
};