I want to run apache so that all log messages show up on the console (or at least STDERR and/or STDOUT) because something is going wrong that isn't being logged in any file.
I'm currently sifting through an strace service apache2 start
but that's a nuclear flyswatter approach to something that should be straight forward.
How can I do it?
The situation in more detail:
Apache responds with a 403 but even after an updatedb
doing a locate error.log
or locate error_log
shows there are no updates to any log files for any virtual host. Nor is there any update to /var/log/apache2/suexec.log
.
# apachectl -V
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/apache2.conf:222
Server version: Apache/2.4.10 (Debian)
Server built: Feb 24 2017 18:40:28
Server's Module Magic Number: 20120211:37
Server loaded: APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
Best Answer
Apache httpd allows you to "pipe" your logs to any other program standard input.
Most httpd docker images also point to fd files like: