]>
Commit | Line | Data |
---|---|---|
8722d693 IB |
1 | { lib, pkgs, config, ... }: |
2 | let | |
3 | cfg = config.myServices.websites.nathanael.villon; | |
4 | varDir = "/var/lib/ftp/nathanael"; | |
5 | env = config.myEnv.websites.nathanael; | |
6 | domain = "sntvillon.immae.eu"; | |
7 | apacheUser = config.services.httpd.Prod.user; | |
8 | apacheGroup = config.services.httpd.Prod.group; | |
9 | in { | |
10 | options.myServices.websites.nathanael.villon.enable = lib.mkEnableOption "enable Nathanael's website"; | |
11 | ||
12 | config = lib.mkIf cfg.enable { | |
13 | services.webstats.sites = [ { name = domain; } ]; | |
14 | ||
15 | system.activationScripts.nathanael_villon = { | |
16 | deps = [ "users" ]; | |
17 | text = '' | |
18 | install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d ${varDir} | |
19 | ''; | |
20 | }; | |
21 | security.acme.certs."ftp".extraDomains."${domain}" = null; | |
22 | ||
23 | services.websites.env.production.vhostConfs.nathanael_villon = { | |
24 | certName = "nathanael"; | |
25 | certMainHost = domain; | |
26 | hosts = [ domain ]; | |
27 | root = varDir; | |
28 | extraConfig = [ | |
29 | '' | |
30 | Use Stats ${domain} | |
31 | ||
32 | <Directory ${varDir}> | |
33 | DirectoryIndex index.htm index.html | |
34 | Options Indexes FollowSymLinks MultiViews Includes | |
35 | AllowOverride None | |
36 | Require all granted | |
37 | </Directory> | |
38 | '' | |
39 | ]; | |
40 | }; | |
41 | }; | |
42 | } |