]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/naturaloutil/production.nix
Add specification for the private config file as a module.
[perso/Immae/Config/Nix.git] / modules / private / websites / naturaloutil / production.nix
index b6cf06912cce1b5ff4a9dcba02b55ec087d41760..628e1291668a3c915d62710b3d6740cef2a9bf75 100644 (file)
@@ -1,9 +1,9 @@
-{ lib, pkgs, config, myconfig,  ... }:
+{ lib, pkgs, config,  ... }:
 let
   adminer = pkgs.callPackage ../commons/adminer.nix {};
   cfg = config.myServices.websites.naturaloutil.production;
   varDir = "/var/lib/ftp/jerome";
-  env = myconfig.env.websites.jerome;
+  env = config.myEnv.websites.jerome;
 in {
   options.myServices.websites.naturaloutil.production.enable = lib.mkEnableOption "enable Naturaloutil's website";
 
@@ -21,7 +21,7 @@ in {
         <?php
         $mysql_user = '${env.mysql.user}' ;
         $mysql_server = '${env.mysql.host}' ;
-        $mysql_base = '${env.mysql.name}' ;
+        $mysql_base = '${env.mysql.database}' ;
         $mysql_password = '${env.mysql.password}' ;
         //connect to db
         $db = mysqli_init();
@@ -33,26 +33,36 @@ in {
         ?>
       '';
     }];
-    services.myPhpfpm.serviceDependencies.jerome = [ "mysql.service" ];
-    services.myPhpfpm.poolConfigs.jerome = ''
-      listen = /run/phpfpm/naturaloutil.sock
-      user = wwwrun
-      group = wwwrun
-      listen.owner = wwwrun
-      listen.group = wwwrun
+    system.activationScripts.naturaloutil = {
+      deps = [ "httpd" ];
+      text = ''
+        install -m 0755 -o wwwrun -g wwwrun -d /var/lib/php/sessions/naturaloutil
+        '';
+    };
+    systemd.services.phpfpm-jerome.after = lib.mkAfter [ "mysql.service" ];
+    systemd.services.phpfpm-jerome.wants = [ "mysql.service" ];
+    services.phpfpm.pools.jerome = {
+      listen = "/run/phpfpm/naturaloutil.sock";
+      extraConfig = ''
+        user = wwwrun
+        group = wwwrun
+        listen.owner = wwwrun
+        listen.group = wwwrun
 
-      pm = ondemand
-      pm.max_children = 5
-      pm.process_idle_timeout = 60
+        pm = ondemand
+        pm.max_children = 5
+        pm.process_idle_timeout = 60
 
-      env[BDD_CONNECT] = "/var/secrets/webapps/prod-naturaloutil"
-      php_admin_value[open_basedir] = "/var/secrets/webapps/prod-naturaloutil:${varDir}:/tmp"
-      '';
-    services.myPhpfpm.poolPhpConfigs.jerome = ''
-      extension=${pkgs.php}/lib/php/extensions/mysqli.so
-      '';
-    services.websites.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
-    services.websites.production.vhostConfs.naturaloutil = {
+        env[BDD_CONNECT] = "/var/secrets/webapps/prod-naturaloutil"
+        php_admin_value[open_basedir] = "/var/lib/php/sessions/naturaloutil:/var/secrets/webapps/prod-naturaloutil:${varDir}:/tmp"
+        php_admin_value[session.save_path] = "/var/lib/php/sessions/naturaloutil"
+        '';
+      phpOptions = config.services.phpfpm.phpOptions + ''
+        extension=${pkgs.php}/lib/php/extensions/mysqli.so
+        '';
+    };
+    services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
+    services.websites.env.production.vhostConfs.naturaloutil = {
       certName     = "naturaloutil";
       certMainHost = "naturaloutil.immae.eu";
       hosts        = ["naturaloutil.immae.eu" ];