1 { lib, pkgs, config, myconfig, ... }:
3 adminer = pkgs.callPackage ../commons/adminer.nix {};
4 cfg = config.myServices.websites.telioTortay.production;
5 varDir = "/var/lib/ftp/telio_tortay";
6 env = myconfig.env.websites.telioTortay;
8 options.myServices.websites.telioTortay.production.enable = lib.mkEnableOption "enable Telio Tortay's website";
10 config = lib.mkIf cfg.enable {
11 services.webstats.sites = [ { name = "telio-tortay.immae.eu"; } ];
13 security.acme.certs."ftp".extraDomains."telio-tortay.immae.eu" = null;
15 system.activationScripts.telio-tortay = {
18 install -m 0755 -o wwwrun -g wwwrun -d /var/lib/ftp/telio_tortay/logs
19 install -m 0755 -o wwwrun -g wwwrun -d /var/lib/php/sessions/telio-tortay
22 systemd.services.phpfpm-telio-tortay.after = lib.mkAfter [ "mysql.service" ];
23 systemd.services.phpfpm-telio-tortay.wants = [ "mysql.service" ];
24 services.phpfpm.pools.telio-tortay = {
25 listen = "/run/phpfpm/telio-tortay.sock";
34 pm.process_idle_timeout = 60
36 php_admin_value[open_basedir] = "/var/lib/php/sessions/telio-tortay:${varDir}:/tmp"
37 php_admin_value[session.save_path] = "/var/lib/php/sessions/telio-tortay"
39 phpOptions = config.services.phpfpm.phpOptions + ''
40 disable_functions = "mail"
41 extension=${pkgs.php}/lib/php/extensions/mysqli.so
44 services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
45 services.websites.env.production.vhostConfs.telio-tortay = {
46 certName = "telio-tortay";
47 certMainHost = "telio-tortay.immae.eu";
48 hosts = ["telio-tortay.immae.eu" "os-tv.fr" ];
51 adminer.apache.vhostConf
53 Use Stats telio-tortay.immae.eu
54 ServerAdmin ${env.server_admin}
55 ErrorLog "${varDir}/logs/error_log"
56 CustomLog "${varDir}/logs/access_log" combined
59 SetHandler "proxy:unix:/run/phpfpm/telio-tortay.sock|fcgi://localhost"
62 <Directory ${varDir}/logs>
67 DirectoryIndex index.php index.htm index.html
68 Options Indexes FollowSymLinks MultiViews Includes