summary refs log tree commit diff
path: root/nixos/modules/services/web-servers/apache-httpd/default.nix
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2020-08-19 12:38:20 -0400
committerAaron Andersen <aaron@fosslib.net>2020-08-21 17:04:07 -0400
commit06d17caf9251136b6e795c8729e70286efe1cd70 (patch)
tree3bf83ac154e1d710ab3180281993efec9afb6182 /nixos/modules/services/web-servers/apache-httpd/default.nix
parent00f08005af7d0c5140777d28bb6e3f8b41792d1e (diff)
downloadnixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.tar
nixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.tar.gz
nixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.tar.bz2
nixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.tar.lz
nixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.tar.xz
nixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.tar.zst
nixpkgs-06d17caf9251136b6e795c8729e70286efe1cd70.zip
nixos/httpd: configure log rotation
Diffstat (limited to 'nixos/modules/services/web-servers/apache-httpd/default.nix')
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index e1d1217943b..0b5d57055ed 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -655,6 +655,25 @@ in
     # required for "apachectl configtest"
     environment.etc."httpd/httpd.conf".source = httpdConf;
 
+    services.logrotate = optionalAttrs (cfg.logFormat != "none") {
+      enable = mkDefault true;
+      paths.httpd = {
+        path = "${cfg.logDir}/*.log";
+        user = cfg.user;
+        group = cfg.group;
+        frequency = "daily";
+        keep = 28;
+        extraConfig = ''
+          sharedscripts
+          compress
+          delaycompress
+          postrotate
+            systemctl reload httpd.service > /dev/null 2>/dev/null || true
+          endscript
+        '';
+      };
+    };
+
     services.httpd.phpOptions =
       ''
         ; Needed for PHP's mail() function.