]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/tools/mail/rainloop.nix
Migrate php sessions to redis
[perso/Immae/Config/Nix.git] / modules / private / websites / tools / mail / rainloop.nix
index 9b1f0c5133d850c06eec4c5890d708cacb9ab602..f821005bb1390bc5b30655021f78e5b5f923c9e1 100644 (file)
@@ -1,28 +1,26 @@
-{ lib, pkgs, writeText, stdenv, fetchurl }:
+{ lib, rainloop, writeText, stdenv, fetchurl }:
 rec {
   varDir = "/var/lib/rainloop";
   activationScript = {
     deps = [ "wrappers" ];
     text = ''
       install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}
-      install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/phpSessions
       install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/data
     '';
   };
-  webRoot = pkgs.rainloop-community.override { dataPath = "${varDir}/data"; };
+  webRoot = rainloop.override { dataPath = "${varDir}/data"; };
   apache = rec {
     user = "wwwrun";
     group = "wwwrun";
     modules = [ "proxy_fcgi" ];
-    webappName = "tools_rainloop";
-    root = "/run/current-system/webapps/${webappName}";
+    root = webRoot;
     vhostConf = socket: ''
     Alias /rainloop "${root}"
     <Directory "${root}">
       DirectoryIndex index.php
       AllowOverride All
       Options -FollowSymlinks
-      Require all granted
+      Require all denied
 
       <FilesMatch "\.php$">
         SetHandler "proxy:unix:${socket}|fcgi://localhost"
@@ -49,7 +47,8 @@ rec {
       "php_admin_value[upload_max_filesize]" = "200M";
       "php_admin_value[post_max_size]" = "200M";
       "php_admin_value[open_basedir]" = "${basedir}:/tmp";
-      "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
+      "php_admin_value[session.save_handler]" = "redis";
+      "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Rainloop:'";
     };
   };
 }