2

I receive the following error when attempting to start apache through the init.d script:

apache2: Syntax error on line 186 of /etc/apache2/apache2.conf: Syntax error on line 4 of /etc/apache2/mods-enabled/auth_sm.conf: Cannot load /apps/netegrity/webagent/bin/libmod_sm22.so into server: libsmerrlog.so: cannot open shared object file: No such file or directory

SiteMinder does not officially support Ubuntu, so I am having trouble finding any configuration documentation to help me troubleshoot this issue.

I successfully installed the SiteMinder binaries and registered the trusted host with the server, but I am having trouble getting the apache mod to load correctly.

I have added the following lines to a new auth_sm.conf file in /etc/apache2/mods-available and symlinked to it in /etc/apache2/mods-enabled:

SetEnv LD_LIBRARY_PATH /apps/netegrity/webagent/bin
SetEnv PATH ${PATH}:${LD_LIBRARY_PATH}

LoadModule sm_module /apps/netegrity/webagent/bin/libmod_sm22.so
SmInitFile "/etc/apache2/WebAgent.conf"

Alias /siteminderagent/pwcgi/ "/apps/netegrity/webagent/pw/"

<Directory "/apps/netegrity/webagent/pw/">
   Options Indexes MultiViews ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

UPDATE: Output of ldd libmod_sm22.so:

    ldd /apps/netegrity/webagent/bin/libmod_sm22.so
        linux-gate.so.1 =>  (0xb8075000)
        libsmerrlog.so => /apps/netegrity/webagent/bin/libsmerrlog.so (0xb7ec0000)
        libsmeventlog.so => /apps/netegrity/webagent/bin/libsmeventlog.so (0xb7ebb000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e9a000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e96000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7e8d000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb7dd3000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7dad000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7d9e000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c3a000)
        libsmcommonutil.so => /apps/netegrity/webagent/bin/libsmcommonutil.so (0xb7c37000)
        /lib/ld-linux.so.2 (0xb8076000)

UPDATE:

The easiest way to set environment variables for the Apache run user in Ubuntu is to edit the /etc/apache2/envvars file and add export statements for any library paths you may need

3 Answers 3

2

It looks like libmod_sm22 is trying to load a linked library and isn't finding it where it expects. Try:

ldd /apps/netegrity/webagent/bin/libmod_sm22.so

and see if you can move the library it is looking for to the path it expects it to be in.

2
  • I gave that a shot and it looks like everything is loading. I updated the question with the output from ldd. Aug 31, 2009 at 17:31
  • Just realized I didn't run ldd as root. As root some of the dependencies were not found. I am going to fix the path issue. Thanks. Aug 31, 2009 at 17:43
3

I'm running Ubuntu 14.4 and here is what I did to get it working:

(Side note, I installed it in /opt/CA/, If you installed it somewhere else, just replace /opt/CA/ with your installation directory.)

  • Run the ca-wa-config.sh script.
  • When it asks for the apache server root, use /etc/apache2
  • It will say it fails with warnings about being unable to update httpd.conf and other config files.
  • It is writing the required config files both in /etc/apache2 and in /opt/CA/webagent/config.
  • Change the owner of /opt/CA/webagent/config/SmHost.conf to the same user that apache runs as. This is usually www-data. You can find what the user is by running ps aux | grep apache2

Once you've finished the config wizard, you still need to create/edit some config files:


/etc/apache2/envvars

At the end of /etc/apache2/envvars, add the following lines:

CAPKIHOME=/opt/CA/webagent/CAPKI
LD_LIBRARY_PATH=/opt/CA/webagent/bin
PATH=${PATH}:${LD_LIBRARY_PATH}

export CAPKIHOME
export LD_LIBRARY_PATH
export PATH

/etc/apache2/mods-available/auth_sm.load

Check to see what version of apache you are using by running apache2 -v.

  • If it's 2.2 (shipped in Ubuntu 12.x), you need to load libmod_sm22.so
  • If it's 2.4 (shipped in Ubuntu 14.x), you need to load libmod_sm24.so

Create the file /etc/apache2/mods-available/auth_sm.load and add the following lines:

LoadModule sm_module /opt/CA/webagent/bin/libmod_sm24.so
SmInitFile "/etc/apache2/WebAgent.conf"

You will then need to link it properly so apache can load this config by running the below from /etc/apache2

ln -s ../mods-available/auth_sm.load mods-enabled/auth_sm.load


/etc/apache2/conf-available/auth_sm.conf

You will also need to configure the alias for the webagent. Create the file /etc/apache2/conf-available/auth_sm.conf and add the below lines:

Alias /siteminderagent/pwcgi/   "/opt/CA/webagent/pw/"

<Directory "/opt/CA/webagent/pw/">
   Options Indexes MultiViews ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

You will then need to link it properly so apache can load this config by running the below from /etc/apache2

ln -s ../conf-available/auth_sm.conf conf-enabled/auth_sm.conf

2

worked for me after adding following entry in envvars

NETE_WA_PATH="/webagent/bin"
export NETE_WA_PATH
NETE_WA_ROOT="/webagent"
export NETE_WA_ROOT
PATH="/webagent/bin:$PATH"
export PATH
LD_LIBRARY_PATH="/local/apache22/0/lib:/webagent/bin:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
1
  • Siteminder installation/configuration for Oracle HTTP Server 11.1.1.7.0 on Redhat Linux worked by adding the env variables to instance opmn.xml file. This file is located in $ORACLE_INSTANCE/config/OPMN/opmn/ folder.
    – user205924
    Jan 17, 2014 at 19:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .