]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/tools/tools/ldap.nix
Move phpldapadmin to pkgs
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tools / tools / ldap.nix
index 008dffe211b3a1aa591bb673902d2343dab86513..8ee39f61e9dc5fb26297d4c3b11546cb146bb623 100644 (file)
@@ -1,7 +1,7 @@
-{ lib, php, env, writeText, stdenv, optipng, fetchurl }:
+{ lib, php, env, writeText, phpldapadmin }:
 rec {
-  keys.tools-ldap = {
-    destDir = "/run/keys/webapps";
+  keys = [{
+    dest = "webapps/tools-ldap";
     user = apache.user;
     group = apache.group;
     permissions = "0400";
@@ -24,30 +24,8 @@ rec {
       $servers->setValue('login','attr','uid');
       $servers->setValue('login','fallback_dn',true);
       '';
-  };
-  webRoot = stdenv.mkDerivation rec {
-    version = "1.2.3";
-    name = "phpldapadmin-${version}";
-    src = fetchurl {
-      url = "https://downloads.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/${version}/${name}.tgz";
-      sha256 = "0n7dhp2a7n1krmnik3pb969jynsmhghmxviivnckifkprv1zijmf";
-    };
-    patches = [
-      ./ldap-php5_5.patch
-      ./ldap-disable-mcrypt.patch
-      ./ldap-php7_2.patch
-      ./ldap-sort-in-templates.patch
-      ./ldap-align-button.patch
-      ];
-    buildInputs = [ optipng ];
-    buildPhase = ''
-      find -name '*.png' -exec optipng -quiet -force -fix {} \;
-    '';
-    installPhase = ''
-      cp -a . $out
-      ln -sf /run/keys/webapps/tools-ldap $out/config/config.php
-    '';
-  };
+  }];
+  webRoot = phpldapadmin.override { config = "/var/secrets/webapps/tools-ldap"; };
   apache = rec {
     user = "wwwrun";
     group = "wwwrun";
@@ -68,8 +46,8 @@ rec {
       '';
   };
   phpFpm = rec {
-    serviceDeps = [ "openldap.service" "tools-ldap-key.service" ];
-    basedir = builtins.concatStringsSep ":" [ webRoot "/run/keys/webapps/tools-ldap" ];
+    serviceDeps = [ "openldap.service" ];
+    basedir = builtins.concatStringsSep ":" [ webRoot "/var/secrets/webapps/tools-ldap" ];
     socket = "/var/run/phpfpm/ldap.sock";
     pool = ''
       listen = ${socket}
@@ -83,7 +61,8 @@ rec {
 
       ; Needed to avoid clashes in browser cookies (same domain)
       php_value[session.name] = LdapPHPSESSID
-      php_admin_value[open_basedir] = "${basedir}:/tmp"
+      php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/phpldapadmin"
+      php_admin_value[session.save_path] = "/var/lib/php/sessions/phpldapadmin"
       '';
   };
 }