LoadModule weblogic_module * / lib / mod_wl_24.so

时间:2015-12-09 12:52:04

标签: apache weblogic

我遇到Apache / 2.4.17(Unix)和weblogic模块(插件)mod_wl_24.so

的问题

对于这个项目,我在额外的目录下使用了httpd_vhosts.conf配置(之前我在httpd.conf中启用了“包含conf / extra / httpd-vhosts.conf”)并且我保留了默认配置的httpd.conf

我在使用arch-linux,但我认为这不相关......

我下载了正确版本的WL插件,我把WLSPlugin12.2.1-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.0.0目录放在apache的ServerRoot下:

p = dict()
for p['param1'] in prms['param1']:
  for p['param2'] in prms['param2']:
    for p['param3'] in prms['param3']:
        do_something(p)              

当我在apache的额外目录中配置httpd_vhosts.conf以加载插件时:

/etc/httpd

    drwxr-xr-x   4 root root  4096  4 dic 18.24 .
    drwxr-xr-x 100 root root 12288  9 dic 09.57 ..
    drwxr-xr-x   5 root root  4096  9 dic 11.02 conf
    lrwxrwxrwx   1 root root    22 11 nov 17.33 modules -> /usr/lib/httpd/modules
    drwxr-xr-x   5 root root  4096  4 dic 12.48 WLSPlugin12.2.1-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.0.0

重新启动apache后,我收到此错误:

LoadModule weblogic_module WLSPlugin12.2.1-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.0.0/lib/mod_wl_24.so

我已在系统上为mod_wl_24.so的lib目录正确设置了LD_LIBRARY_PATH:

systemctl status httpd -l

● httpd.service - Apache Web Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since mer 2015-12-09 11:14:06 CET; 2h 23min ago
  Process: 4231 ExecStop=/usr/bin/apachectl graceful-stop (code=exited, status=1/FAILURE)
  Process: 4211 ExecStart=/usr/bin/apachectl start -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 4211 (code=exited, status=1/FAILURE)

dic 09 11:14:06 lollo-sorint systemd[1]: Stopped Apache Web Server.
dic 09 11:14:06 lollo-sorint systemd[1]: Started Apache Web Server.
dic 09 11:14:06 lollo-sorint apachectl[4211]: httpd: Syntax error on line 499 of /etc/httpd/conf/httpd.conf: Syntax error on line 26 of /etc/httpd/conf/extra/httpd-vhosts.conf: Cannot load WLSPlugin12.2.1-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.0.0/lib/mod_wl_24.so into server: libopmnsecure.so: cannot open shared object file: No such file or directory
dic 09 11:14:06 lollo-sorint systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
dic 09 11:14:06 lollo-sorint apachectl[4231]: httpd: Syntax error on line 499 of /etc/httpd/conf/httpd.conf: Syntax error on line 26 of /etc/httpd/conf/extra/httpd-vhosts.conf: Cannot load WLSPlugin12.2.1-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.0.0/lib/mod_wl_24.so into server: libopmnsecure.so: cannot open shared object file: No such file or directory
dic 09 11:14:06 lollo-sorint systemd[1]: httpd.service: Control process exited, code=exited status=1
dic 09 11:14:06 lollo-sorint systemd[1]: httpd.service: Unit entered failed state.
dic 09 11:14:06 lollo-sorint systemd[1]: httpd.service: Failed with result 'exit-code'.

因此,libopmnsecure.so lib是从系统中定义和阐述的......

我有点绝望,因为我无法找到合理的解释......

之前有人遇到过这样的问题吗?任何小小的帮助都会感激不尽:)

4 个答案:

答案 0 :(得分:0)

我发现了问题,

当我使用“systemctl restart httpd”命令时,新系统控件“systemd”不加载ENV LD_LIBRARY_PATH ...我不知道为什么,但很明显,因为如果我用“apachectl”重新启动apache重启“mod_weblogic正确加载

我希望这有助于任何人解决这个问题

答案 1 :(得分:0)

查看以下文件:

cat /usr/lib/systemd/system/httpd.service

[服务] 下,它指定 EnvironmentFile = / etc / sysconfig / httpd

使用LD_LIBRARY_PATH将文件 / etc / sysconfig / httpd 更新为Weblogic插件

vi /etc/sysconfig/httpd
# Update to include Weblogic Plugin 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/PATH/weblogic-plugins/lib
#

重启Apache

systemctl stop httpd.service  ; 
systemctl start httpd.service ; 
systemctl status httpd.service

答案 2 :(得分:0)

我在Red Hat RHEL7和apache 2.4中也遇到类似的问题。

对于这种错误

Cannot load .../lib/mod_wl_24.so into server: libonssys.so: cannot open shared object file: No such file or directory

Library libonssys.so is given with weblogic httpd module.

/etc/ld.so.conf.d/

创建一个文件路径为pathToWeblogicPlugin / lib的pluginWebLogic.conf

在此示例中,值文件pluginWeblogic.conf与

/etc/httpd/WLSPlugin12.2.1-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.0.0/lib

然后在shell上运行:

ldconfig

然后重新启动apache:

  systemctl restart httpd

答案 3 :(得分:0)

无需设置LD_LIBRARY_PATH。您可以通过将“ lib”内容复制到/ usr / lib或/ usr / lib64

来简单地更新LD_LIBRARY_PATH。