[SLES 12 SP3] - WebServer Apache2 installed twice

Hello Community,

i have a question. Is it possible to deinstall MPM Apache2 [COLOR="#0000FF"]worker [/COLOR]withot any risk and switch to MPM Apache2 [COLOR="#008000"]prefork[/COLOR]?

Or how can I safely switch to the MPM Apache2 [COLOR="#008000"]prefork [/COLOR]without stopping an application?

PHP7.0.7 is currently reporting with existing [COLOR="#0000FF"]worker [/COLOR]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: [COLOR="#0000FF"]worker[/COLOR]
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-[COLOR="#008000"]prefork[/COLOR]-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-[COLOR="#0000FF"]worker[/COLOR]-2.4.23-29.24.1.x86_64

Yast2 also displays both MPM Apache2.

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

Hi garagenclown,

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

[CODE]## 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=""
[/CODE]

Regards,
J

Hi J,

thank you very much. It works like a charm.

[FONT=Arial Narrow]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: [COLOR="#008000"]prefork[/COLOR] 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"[/FONT]