X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=nixops%2Fmodules%2Fwebsites%2Ftools%2Fdav%2Fdavical.nix;h=89ba5683ce630b8649d9ca3c2fcf560e577bc6f5;hp=f6cb5bbe86d6f39d17a01ad3a7d6eb5f0ae90240;hb=b7d2d4e3da7da83bc7f133acaa216375890592b1;hpb=0f466f6d5aec0d3fcf406fe2bb71effa5a1a1386 diff --git a/nixops/modules/websites/tools/dav/davical.nix b/nixops/modules/websites/tools/dav/davical.nix index f6cb5bb..89ba568 100644 --- a/nixops/modules/websites/tools/dav/davical.nix +++ b/nixops/modules/websites/tools/dav/davical.nix @@ -16,7 +16,12 @@ let ''; }; davical = rec { - config = writeText "davical_config.php" '' + keys."dav-davical" = { + destDir = "/run/keys/webapps"; + user = apache.user; + group = apache.group; + permissions = "0400"; + text = '' pg_connect[] = "dbname=${env.postgresql.database} user=${env.postgresql.user} host=${env.postgresql.socket} password=${env.postgresql.password}"; @@ -69,6 +74,7 @@ let $c->do_not_sync_from_ldap = array('admin' => true); include('drivers_ldap.php'); ''; + }; webapp = stdenv.mkDerivation rec { version = "1.1.7"; name = "davical-${version}"; @@ -84,7 +90,7 @@ let installPhase = '' mkdir -p $out cp -ra config dba docs htdocs inc locale po scripts testing zonedb $out - ln -s ${config} $out/config/config.php + ln -s /run/keys/webapps/dav-davical $out/config/config.php ''; buildInputs = [ gettext ]; }; @@ -131,7 +137,8 @@ let ''; }; phpFpm = rec { - basedir = builtins.concatStringsSep ":" [ webapp config awl ]; + serviceDeps = [ "postgresql.service" "openldap.service" "dav-davical-key.service" ]; + basedir = builtins.concatStringsSep ":" [ webapp "/run/keys/webapps/dav-davical" awl ]; socket = "/var/run/phpfpm/davical.sock"; pool = '' listen = ${socket} @@ -147,7 +154,7 @@ let ; Needed to avoid clashes in browser cookies (same domain) php_value[session.name] = DavicalPHPSESSID - php_admin_value[open_basedir] = "${basedir}:/tmp" + php_admin_value[open_basedir] = "${basedir}:/tmp:/var/lib/php/sessions/davical" php_admin_value[include_path] = "${awl}/inc:${webapp}/inc" php_admin_value[session.save_path] = "/var/lib/php/sessions/davical" php_flag[magic_quotes_gpc] = Off