适用于Ubuntu的CA SiteMinderconfiguration

尝试通过init.d脚本启动apache时收到以下错误:

apache2:/etc/apache2/apache2.conf第186行的语法错误:/etc/apache2/mods-enabled/auth_sm.conf第4行的语法错误:无法加载/apps/netegrity/webagent/bin/libmod_sm22.so进入服务器:libsmerrlog.so:无法打开共享对象文件:没有这样的文件或目录

SiteMinder不正式支持Ubuntu,所以我无法find任何configuration文件来帮助我解决这个问题。

我成功地安装了SiteMinder二进制文件,并向服务器注册了可信主机,但是我无法正确加载apache mod。

我在/ etc / apache2 / mods-available中将以下行添加到了一个新的auth_sm.conf文件中,并在/ 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> 

更新: 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)

更新:

在Ubuntu中为Apache运行用户设置环境variables的最简单方法是编辑/ etc / apache2 / envvars文件,并为您可能需要的任何库path添加导出语句

它看起来像libmod_sm22正试图加载链接库,并没有find它所期望的。 尝试:

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

看看你是否可以把它正在寻找的图书馆移动到它期望的path。

我正在运行Ubuntu 14.4,这是我所做的工作:

(注意,我把它安装在/opt/CA/ ,如果你把它安装在别的地方,只需把/opt/CA/replace成你的安装目录。)

  • 运行ca-wa-config.sh脚本。
  • 当它要求apache服务器根目录时,使用/etc/apache2
  • 它会说它失败,并警告无法更新httpd.conf和其他configuration文件。
  • 它正在/etc/apache2/opt/CA/webagent/config写入所需的configuration文件。
  • /opt/CA/webagent/config/SmHost.conf的所有者更改为apache运行的相同用户。 这通常是www-data 。 你可以通过运行ps aux | grep apache2来find用户 ps aux | grep apache2

一旦你完成了configuration向导,你仍然需要创build/编辑一些configuration文件:


的/ etc / apache2的/ envvars中

/etc/apache2/envvars的末尾,添加以下行:

 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

通过运行apache2 -v来检查你正在使用的apache版本。

  • 如果它是2.2(在Ubuntu 12.x中发布),则需要加载libmod_sm22.so
  • 如果它是2.4(在Ubuntu 14.x中发布),则需要加载libmod_sm24.so

创build文件/etc/apache2/mods-available/auth_sm.load并添加以下行:

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

然后你需要正确的链接,所以apache可以通过运行/etc/apache2下面的configuration来加载这个configuration

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


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

您还需要configurationwebagent的别名。 创build文件/etc/apache2/conf-available/auth_sm.conf并添加以下/etc/apache2/conf-available/auth_sm.conf行:

 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> 

然后你需要正确的链接,所以apache可以通过运行/etc/apache2下面的configuration来加载这个configuration

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

在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