X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Ftools%2Ftools%2Fadminer.nix;h=52a132c5ed30e22862a2eada33d8ed9960fab917;hp=907e37fc857c73fad21e197ff43a0672140124b1;hb=5400b9b6f65451d41a9106fae6fc00f97d83f4ef;hpb=441da8aac378f401625e82caf281fa0e26128310 diff --git a/modules/private/websites/tools/tools/adminer.nix b/modules/private/websites/tools/tools/adminer.nix index 907e37f..52a132c 100644 --- a/modules/private/websites/tools/tools/adminer.nix +++ b/modules/private/websites/tools/tools/adminer.nix @@ -1,4 +1,4 @@ -{ adminer }: +{ adminer, php73, forcePhpSocket ? null }: rec { activationScript = { deps = [ "httpd" ]; @@ -9,22 +9,33 @@ rec { }; webRoot = adminer; phpFpm = rec { - socket = "/var/run/phpfpm/adminer.sock"; - pool = '' - user = ${apache.user} - group = ${apache.group} - listen.owner = ${apache.user} - listen.group = ${apache.group} - pm = ondemand - pm.max_children = 5 - pm.process_idle_timeout = 60 - ;php_admin_flag[log_errors] = on - ; Needed to avoid clashes in browser cookies (same domain) - php_value[session.name] = AdminerPHPSESSID - php_admin_value[open_basedir] = "${webRoot}:/tmp:/var/lib/php/sessions/adminer:/var/lib/php/tmp/adminer" - php_admin_value[session.save_path] = "/var/lib/php/sessions/adminer" - php_admin_value[upload_tmp_dir] = "/var/lib/php/tmp/adminer" - ''; + user = apache.user; + group = apache.group; + phpPackage = (php73.override { + config.php.mysqlnd = true; + config.php.mysqli = false; + config.php.pdo-mysql = false; + }).overrideAttrs(old: rec { + configureFlags = old.configureFlags ++ [ + "--with-mysqli=shared,mysqlnd" + ]; + }); + phpOptions = '' + extension=${phpPackage}/lib/php/extensions/mysqli.so + ''; + settings = { + "listen.owner" = apache.user; + "listen.group" = apache.group; + "pm" = "ondemand"; + "pm.max_children" = "5"; + "pm.process_idle_timeout" = "60"; + #"php_admin_flag[log_errors]" = "on"; + # Needed to avoid clashes in browser cookies (same domain) + "php_value[session.name]" = "AdminerPHPSESSID"; + "php_admin_value[open_basedir]" = "${webRoot}:/tmp:/var/lib/php/sessions/adminer:/var/lib/php/tmp/adminer"; + "php_admin_value[session.save_path]" = "/var/lib/php/sessions/adminer"; + "php_admin_value[upload_tmp_dir]" = "/var/lib/php/tmp/adminer"; + }; }; apache = rec { user = "wwwrun"; @@ -32,12 +43,12 @@ rec { modules = [ "proxy_fcgi" ]; webappName = "_adminer"; root = "/run/current-system/webapps/${webappName}"; - vhostConf = '' + vhostConf = socket: '' Alias /adminer ${root} DirectoryIndex index.php - SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" + SetHandler "proxy:unix:${if forcePhpSocket != null then forcePhpSocket else socket}|fcgi://localhost" Use LDAPConnect