X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fteliotortay%2Fproduction.nix;fp=modules%2Fprivate%2Fwebsites%2Fteliotortay%2Fproduction.nix;h=445117d4a2c3c963ae453aa4841b01b69ed56335;hb=93531b30f0c08f6c549fac338a1cb8070c3c0a9a;hp=0000000000000000000000000000000000000000;hpb=6551e648310639c215b3b8ea79066df761d950e1;p=perso%2FImmae%2FConfig%2FNix.git
diff --git a/modules/private/websites/teliotortay/production.nix b/modules/private/websites/teliotortay/production.nix
new file mode 100644
index 0000000..445117d
--- /dev/null
+++ b/modules/private/websites/teliotortay/production.nix
@@ -0,0 +1,76 @@
+{ lib, pkgs, config, myconfig, ... }:
+let
+ adminer = pkgs.callPackage ../commons/adminer.nix {};
+ cfg = config.myServices.websites.telioTortay.production;
+ varDir = "/var/lib/ftp/telio_tortay";
+ env = myconfig.env.websites.telioTortay;
+in {
+ options.myServices.websites.telioTortay.production.enable = lib.mkEnableOption "enable Telio Tortay's website";
+
+ config = lib.mkIf cfg.enable {
+ services.webstats.sites = [ { name = "telio-tortay.immae.eu"; } ];
+
+ security.acme.certs."ftp".extraDomains."telio-tortay.immae.eu" = null;
+
+ system.activationScripts.telio-tortay = {
+ deps = [ "httpd" ];
+ text = ''
+ install -m 0755 -o wwwrun -g wwwrun -d /var/lib/ftp/telio_tortay/logs
+ install -m 0755 -o wwwrun -g wwwrun -d /var/lib/php/sessions/telio-tortay
+ '';
+ };
+ systemd.services.phpfpm-telio-tortay.after = lib.mkAfter [ "mysql.service" ];
+ systemd.services.phpfpm-telio-tortay.wants = [ "mysql.service" ];
+ services.phpfpm.pools.telio-tortay = {
+ listen = "/run/phpfpm/telio-tortay.sock";
+ extraConfig = ''
+ user = wwwrun
+ group = wwwrun
+ listen.owner = wwwrun
+ listen.group = wwwrun
+
+ pm = ondemand
+ pm.max_children = 5
+ pm.process_idle_timeout = 60
+
+ php_admin_value[open_basedir] = "/var/lib/php/sessions/telio-tortay:${varDir}:/tmp"
+ php_admin_value[session.save_path] = "/var/lib/php/sessions/telio-tortay"
+ '';
+ phpOptions = config.services.phpfpm.phpOptions + ''
+ disable_functions = "mail"
+ extension=${pkgs.php}/lib/php/extensions/mysqli.so
+ '';
+ };
+ services.websites.env.production.modules = adminer.apache.modules ++ [ "proxy_fcgi" ];
+ services.websites.env.production.vhostConfs.telio-tortay = {
+ certName = "telio-tortay";
+ certMainHost = "telio-tortay.immae.eu";
+ hosts = ["telio-tortay.immae.eu" "os-tv.fr" ];
+ root = varDir;
+ extraConfig = [
+ adminer.apache.vhostConf
+ ''
+ Use Stats telio-tortay.immae.eu
+ ServerAdmin ${env.server_admin}
+ ErrorLog "${varDir}/logs/error_log"
+ CustomLog "${varDir}/logs/access_log" combined
+
+
+ SetHandler "proxy:unix:/run/phpfpm/telio-tortay.sock|fcgi://localhost"
+
+
+
+ AllowOverride None
+ Require all denied
+
+
+ DirectoryIndex index.php index.htm index.html
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride all
+ Require all granted
+
+ ''
+ ];
+ };
+ };
+}