Apache mod_wcm.so configuration for OpenSuSE & SuSE Linux Enterprise Server


Apache is available as an installable package for OpenSuSE & SuSE Linux Enterprise Server. Use YaST->Software Management and install apache2-prefork.

Operating SystemApache versionmod_wcm library
OpenSuSE 11 & 122.2mod_wcm.so
SuSE Enterprise Server 11 R32.2mod_wcm.so
OpenSuSE 132.4mod_wcm_24.so
SuSE Enterprise Server 122.4mod_wcm_24.so
OpenSuSE Leap 15 or later2.4mod_wcm_24.so

To start and stop Apache, use the /usr/sbin/rcapache2 start|stop command.

The configuration of Apache has been separated out from /etc/apache2/httpd.conf into a set of include files that reside in the /etc/apache2/conf.d & /etc/apache2/sysconfig.d directories. The list of modules that Apache loads is generated by the /usr/sbin/rcapache2 script using configuration from /etc/sysconfig/apache2. To load mod_wcm.so we need to add the module's suffix to the APACHE_MODULES variable:

APACHE_MODULES="actions alias auth_basic ... filter deflate wcm"

Some Apache configurations may also require the mod_filter & mod_deflate modules to be enabled too, as above.

The rcapache2 script will then create the necessary LoadModule directives in /etc/apache2/sysconfig.d/loadmodule.conf before starting the Apache server.

Copy mod_wcm.so or mod_wcm_24.so (for Apache 2.4) to /usr/lib64/apache2/mod_wcm.so and then symbolically link it into /usr/lib64/apache2-prefork.

$ cd /usr/lib64/apache2-prefork
$ ln -s ../apache2/mod_wcm.so .
$ ls -l mod_wcm.so
lrwxrwxrwx 1 root root 21 Apr 24 09:56 mod_wcm.so -> ../apache2/mod_wcm.so
The location of Apache modules is dependent the architecture of the Apache server. For 32-bit versions modules reside in /usr/lib/apache2 and would be symbolically linked into /usr/lib/apache2-prefork.

The configuration for mod_wcm.so can then be stored in the file /etc/apache2/conf.d/wcm.conf:

# Configuration for mod_wcm.so
<Location /K8_CVS6 >
	Order allow,deny
	Allow from all
	# mod_filter and mod_deflate must be loaded
	AddOutputFilterByType deflate text/plain text/html text/css text/xml application/soap+xml
</Location>
<Location /K8_CVS6/KCMLTest >
	SetHandler kcml-soap
	KcmlSOAPServers localhost:790
</Location>

This file is automatically included by /etc/apache2/default-server.conf.

Apache 2.4 may either require access_compat adding to APACHE_MODULES in /etc/sysconfig/apache2 or to use the Require keyword. The following example conditionally uses either access control method:-

<Location /K8_CVS6 >
        <IfModule mod_access_compat.c>
                # Apache 2.2 style access control
                Order allow,deny
                Allow from all
        </IfModule>
        <IfModule !mod_access_compat.c>
                # Apache 2.4 access control
                Require all granted
        </IfModule>
        # mod_deflate must be loaded
        AddOutputFilterByType deflate text/plain text/html text/css text/xml application/soap+xml
</Location>
<Location /K8_CVS6/KCMLTest >
        SetHandler kcml-soap
        KcmlSOAPServers localhost:790
</Location>

Note: To automatically start Apache when the machine boots up use the control panel applet Yast->System->System Services (Runlevel)