[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/07: services: php-fpm: Add 'timezone' configuration.
From: |
guix-commits |
Subject: |
04/07: services: php-fpm: Add 'timezone' configuration. |
Date: |
Mon, 17 Dec 2018 14:17:55 -0500 (EST) |
wigust pushed a commit to branch master
in repository guix.
commit e517161d6b0ee544dab94477c9ffbad59cc1834b
Author: Oleg Pykhalov <address@hidden>
Date: Thu Nov 29 20:37:55 2018 +0300
services: php-fpm: Add 'timezone' configuration.
* gnu/services/web.scm: (<php-fpm-configuration>)[timezone]: New record
field.
(default-php-fpm-config, php-fpm-shepherd-service, php-fpm-activation): Use
this.
* doc/guix.texi (Web Services): Document this.
---
doc/guix.texi | 2 ++
gnu/services/web.scm | 48 ++++++++++++++++++++++++++++--------------------
2 files changed, 30 insertions(+), 20 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 0277858..7304cf5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -17658,6 +17658,8 @@ Determines whether php errors and warning should be
sent to clients
and displayed in their browsers.
This is useful for local php development, but a security risk for public sites,
as error messages can reveal passwords and personal data.
address@hidden @code{timezone} (default @code{#f})
+Specifies @code{php_admin_value[date.timezone]} parameter.
@item @code{workers-logfile} (default @code{(string-append "/var/log/php"
(version-major (package-version php)) "-fpm.www.log")})
This file will log the @code{stderr} outputs of php worker processes.
Can be set to @code{#f} to disable logging.
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index fcf453c..d71fed2 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -142,6 +142,7 @@
php-fpm-configuration-log-file
php-fpm-configuration-process-manager
php-fpm-configuration-display-errors
+ php-fpm-configuration-timezone
php-fpm-configuration-workers-log-file
php-fpm-configuration-file
@@ -773,6 +774,8 @@ of index files."
(default (php-fpm-dynamic-process-manager-configuration)))
(display-errors php-fpm-configuration-display-errors
(default #f))
+ (timezone php-fpm-configuration-timezone
+ (default #f))
(workers-log-file php-fpm-configuration-workers-log-file
(default (string-append "/var/log/php"
(version-major (package-version
php))
@@ -827,7 +830,7 @@ of index files."
(shell (file-append shadow "/sbin/nologin")))))))
(define (default-php-fpm-config socket user group socket-user socket-group
- pid-file log-file pm display-errors workers-log-file)
+ pid-file log-file pm display-errors timezone workers-log-file)
(apply mixed-text-file "php-fpm.conf"
(flatten
"[global]\n"
@@ -840,6 +843,10 @@ of index files."
"listen.owner =" socket-user "\n"
"listen.group =" socket-group "\n"
+ (if timezone
+ (string-append "php_admin_value[date.timezone] = \"" timezone
"\"\n")
+ "")
+
(match pm
(($ <php-fpm-dynamic-process-manager-configuration>
pm.max-children
@@ -879,7 +886,8 @@ of index files."
(define php-fpm-shepherd-service
(match-lambda
(($ <php-fpm-configuration> php socket user group socket-user socket-group
- pid-file log-file pm display-errors
workers-log-file file)
+ pid-file log-file pm display-errors
+ timezone workers-log-file file)
(list (shepherd-service
(provision '(php-fpm))
(documentation "Run the php-fpm daemon.")
@@ -890,27 +898,27 @@ of index files."
#$(or file
(default-php-fpm-config socket user group
socket-user socket-group pid-file log-file
- pm display-errors workers-log-file)))
+ pm display-errors timezone workers-log-file)))
#:pid-file #$pid-file))
(stop #~(make-kill-destructor)))))))
-(define php-fpm-activation
- (match-lambda
- (($ <php-fpm-configuration> _ _ user _ _ _ _ log-file _ _ workers-log-file
_)
- #~(begin
- (use-modules (guix build utils))
- (let* ((user (getpwnam #$user))
- (touch (lambda (file-name)
- (call-with-output-file file-name (const #t))))
- (init-log-file
- (lambda (file-name)
- (when #$workers-log-file
- (when (not (file-exists? file-name))
- (touch file-name))
- (chown file-name (passwd:uid user) (passwd:gid user))
- (chmod file-name #o660)))))
- (init-log-file #$log-file)
- (init-log-file #$workers-log-file))))))
+(define (php-fpm-activation config)
+ #~(begin
+ (use-modules (guix build utils))
+ (let* ((user (getpwnam #$(php-fpm-configuration-user config)))
+ (touch (lambda (file-name)
+ (call-with-output-file file-name (const #t))))
+ (workers-log-file
+ #$(php-fpm-configuration-workers-log-file config))
+ (init-log-file
+ (lambda (file-name)
+ (when workers-log-file
+ (when (not (file-exists? file-name))
+ (touch file-name))
+ (chown file-name (passwd:uid user) (passwd:gid user))
+ (chmod file-name #o660)))))
+ (init-log-file #$(php-fpm-configuration-log-file config))
+ (init-log-file workers-log-file))))
(define php-fpm-service-type
- branch master updated (a7ad051 -> f2f9560), guix-commits, 2018/12/17
- 01/07: gnu: zabbix-server: Split output., guix-commits, 2018/12/17
- 05/07: gnu: Add php-with-bcmath., guix-commits, 2018/12/17
- 04/07: services: php-fpm: Add 'timezone' configuration.,
guix-commits <=
- 07/07: gnu: zabbix-agentd: Update to 4.0.2., guix-commits, 2018/12/17
- 03/07: services: monitoring: Add 'zabbix-agent'., guix-commits, 2018/12/17
- 02/07: services: monitoring: Add 'zabbix-server'., guix-commits, 2018/12/17
- 06/07: services: monitoring: Add 'zabbix-front-end'., guix-commits, 2018/12/17