From 17561f86e98119a74ff6966bf0df4f9ac7d4060e Mon Sep 17 00:00:00 2001 From: Manuel Herrmann <0@0x17.de> Date: Fri, 9 Jun 2017 15:32:52 +0200 Subject: [PATCH 1/2] php error reporting to syslog (issue #53) --- docker-compose.yml | 3 ++- docker/DockerfileNginx | 6 ++++++ docker/run-mariadb.sh | 0 docker/run-web.sh | 27 +++++++++++++++++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 docker/DockerfileNginx mode change 100644 => 100755 docker/run-mariadb.sh create mode 100755 docker/run-web.sh diff --git a/docker-compose.yml b/docker-compose.yml index 6006e7b..ca2c3d4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,6 @@ web: - image: richarvey/nginx-php-fpm + build: docker + dockerfile: DockerfileNginx links: - db ports: diff --git a/docker/DockerfileNginx b/docker/DockerfileNginx new file mode 100644 index 0000000..926512e --- /dev/null +++ b/docker/DockerfileNginx @@ -0,0 +1,6 @@ +FROM richarvey/nginx-php-fpm + +ADD run-web.sh / +RUN chmod 755 /run-web.sh + +CMD ["/run-web.sh"] diff --git a/docker/run-mariadb.sh b/docker/run-mariadb.sh old mode 100644 new mode 100755 diff --git a/docker/run-web.sh b/docker/run-web.sh new file mode 100755 index 0000000..d6c2d4d --- /dev/null +++ b/docker/run-web.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +sed -ri ' +/^php_flag\[display_errors\]/ d +$ a php_flag[display_errors] = on +' /usr/local/etc/php-fpm.conf + +sed -ri ' +/^;?error_log/ c error_log = syslog +/^;?syslog.facility/ c syslog.facility = daemon +/^;?syslog.ident/ c syslog.ident = php-fpm +/^;?log_level/ c log_level = notice +' /usr/local/etc/php-fpm.d/*.conf + +tee /usr/local/etc/php/conf.d/zzz-registration-system.ini << END +[PHP] +error_reporting = E_ALL & ~E_NOTICE +display_errors = On +display_startup_errors = On +log_errors = On +ignore_repeated_errors = Off +ignore_repeated_source = Off +track_errors = On +html_errors = On +END + +exec /start.sh From 9e992f60819c2b07e40a6e0a5fc74e6334487745 Mon Sep 17 00:00:00 2001 From: Manuel Herrmann <0@0x17.de> Date: Sun, 11 Jun 2017 18:42:59 +0200 Subject: [PATCH 2/2] added sysklogd as syslogger; redirected nginx messages; startup script improvements --- docker/DockerfileNginx | 1 + docker/run-web.sh | 27 ++++++++++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/docker/DockerfileNginx b/docker/DockerfileNginx index 926512e..724e573 100644 --- a/docker/DockerfileNginx +++ b/docker/DockerfileNginx @@ -1,5 +1,6 @@ FROM richarvey/nginx-php-fpm +RUN apk add --no-cache sysklogd ADD run-web.sh / RUN chmod 755 /run-web.sh diff --git a/docker/run-web.sh b/docker/run-web.sh index d6c2d4d..74bf5b6 100755 --- a/docker/run-web.sh +++ b/docker/run-web.sh @@ -1,18 +1,22 @@ #!/bin/bash +# fix php-fpm sed -ri ' /^php_flag\[display_errors\]/ d -$ a php_flag[display_errors] = on ' /usr/local/etc/php-fpm.conf -sed -ri ' +# check if our changes were applied yet +if ! grep -E '^\[program:sysklogd\]$' /etc/supervisord.conf >&/dev/null; then + # fix php-fpm configs + sed -ri ' /^;?error_log/ c error_log = syslog /^;?syslog.facility/ c syslog.facility = daemon /^;?syslog.ident/ c syslog.ident = php-fpm /^;?log_level/ c log_level = notice ' /usr/local/etc/php-fpm.d/*.conf -tee /usr/local/etc/php/conf.d/zzz-registration-system.ini << END + # add our own logging configuration + tee /usr/local/etc/php/conf.d/zzz-registration-system.ini >&/dev/null << END [PHP] error_reporting = E_ALL & ~E_NOTICE display_errors = On @@ -24,4 +28,21 @@ track_errors = On html_errors = On END + # fix nginx config access_log/error_log targets + sed -ri \ + 's/^([ \t]*)((access|error)_log) .*$/\1\2 syslog:server=unix:\/dev\/log,facility=local7,tag=nginx;/' \ + /etc/nginx/sites-enabled/* /etc/nginx/nginx.conf + + # cleanup logging options in supervisord (startup) + sed -ri '/^std(err|out)_.*=/ d' /etc/supervisord.conf + # add syslogger entry at the end of supervisord config + tee -a /etc/supervisord.conf >&/dev/null <