PDA

View Full Version : SLES 12 SP3 [SLES 12 SP3] - WebServer Apache2 installed twice



tester_ssc
06-Dec-2018, 14:21
Hello Community,

i have a question. Is it possible to deinstall MPM Apache2 worker withot any risk and switch to MPM Apache2 prefork?

Or how can I safely switch to the MPM Apache2 prefork without stopping an application?

PHP7.0.7 is currently reporting with existing worker mpm:

Dec 05 13:05:34 localhost start_apache2[23269]: [Wed Dec 05 13:05:34.023391 2018] [:crit] [pid 23269:tid 140421080238272] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
Dec 05 13:05:34 localhost start_apache2[23269]: AH00013: Pre-configuration failed


Details:

apache2ctl -V
Server version: Apache/2.4.23 (Linux/SUSE)
Server built: 2018-08-21 14:36:58.000000000 +0000
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.1, APR-UTIL 1.5.3
Compiled using: APR 1.5.1, APR-UTIL 1.5.3
Architecture: 64-bit
Server MPM: worker
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_PROC_PTHREAD_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="/srv/www"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"



rpm -qa | grep -i apache2
apache2-prefork-2.4.23-29.24.1.x86_64
apache2-mod_php7-7.0.7-9.1.x86_64
apache2-2.4.23-29.24.1.x86_64
apache2-utils-2.4.23-29.24.1.x86_64
apache2-worker-2.4.23-29.24.1.x86_64



Yast2 also displays both MPM Apache2.
https://tinyurl.com/yadwens3



This is a PRODUCTIVE system and therefore no risk should be taken.


Welcome to SUSE Linux Enterprise Server 12 SP3 (x86_64) - Kernel


Thank you so much for your help

garagenclown

jmozdzen
06-Dec-2018, 15:47
Hi garagenclown,

please have a look at /etc/sysconfig/apache2, especially "APACHE_MPM":


## Type: list(prefork,worker,event,itk)
## Default: ""
## ServiceRestart: apache2
#
# MPM (multi-processing module) to use.
#
# Needed to determine with which MPM apache will run, as well as
# against which header files modules will be built.
#
# If not set, the system will simply pick one of the installed MPMs.
#
# The implementation of the logic is in /usr/share/apache2/find_mpm,
# a script which can be used standalone as well if needed.
#
APACHE_MPM=""


Regards,
J

tester_ssc
06-Dec-2018, 21:11
Hi J,

thank you very much. It works like a charm.


apache2ctl -V
Server version: Apache/2.4.23 (Linux/SUSE)
Server built: 2018-08-21 14:36:58.000000000 +0000
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.1, APR-UTIL 1.5.3
Compiled using: APR 1.5.1, APR-UTIL 1.5.3
Architecture: 64-bit
Server MPM: prefork
threaded: no
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_PROC_PTHREAD_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="/srv/www"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="/var/log/apache2/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/httpd.conf"