尝试通过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脚本。 /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的末尾,添加以下行:
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
通过运行apache2 -v来检查你正在使用的apache版本。
libmod_sm22.so 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
您还需要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