Apache fails with symbol error after configuring the HTTP Server via YaST

  • 7002562
  • 05-Feb-2009
  • 07-Apr-2014

Environment

Novell Open Workgroup Suite Small Business Edition (NOWS SBE) 2.5
Novell Open Enterprise Server 11 (OES 11) Linux
Novell Open Enterprise Server 2 (OES 2) Linux
Novell Open Enterprise Server (Linux based)
Novell iManager 2.7
Novell iManager 2.6
Novell iManager 2.5
Novell NetStorage
Novell QuickFinder

Situation

On OES linux or NOWS SBE servers, Yast should NOT be used to configure the Apache web server. When YaST's HTTP Server option is used, the Apache server is reconfigured and may not have all required apache modules loaded. When mod_proxy_ajp.so attempts to load before mod_proxy.so, the following errors may be returned:

ERROR: Starting HTTPD2 (prefork) httpd2-prefork: Syntax error on line 113 of /etc/apache2/httpd.conf: Syntax error on line 30 of /etc/apache2/sysconfig.d/loadmodule.conf: Cannot load /usr/lib/apache2-prefork/mod_proxy_ajp.so into server:

/usr/lib/apache2-prefork/mod_proxy_ajp.so: undefined symbol: proxy_module

ERROR: "apache is running as a threaded MPM, but your PHP module is not compiled to be threads safe. You need to recompile PHP"

Resolution

Edit the /etc/sysconfig/apache2 file:

1. Add the proxy module to the APACHE_MODULES= section of the file. Make sure that "proxy" is added before the "proxy_ajp" value. For example:

APACHE_MODULES="cgi dir rewrite ssl proxy proxy_ajp"

2. Apache should be run in prefork mode rather than worker. To force this, find the APACHE_MPM="" line and change this to "prefork" For example:

APACHE_MPM="prefork"
 
NOTE:  The APACHE_MPM may also be set to "worker", but after YaST has modified the Apache configuration, the MPM will have to be set to one of the two (prefork or worker) to get Apache working again.

3. Add "SSL" to "APACHE_SERVER_FLAGS" For example:

 APACHE_SERVER_FLAGS="SSL"

4- Restart the Apache server with the command "rcapache2 restart "