You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Imre Oolberg <im...@riik.ee> on 2006/05/31 10:25:33 UTC

[users@httpd] trying to make so-called generic apache work with oracle app server 10.1.3's oc4j

Dear people,

I have an assignment to deploy Oracle Application Server 10.1.3's OC4J 
component behind Generic Apache v. 2.0.x webserver ie to forward request 
thru Apache using mod_oc4j to the servlets provided by OAS. As i 
understood from Oracle® HTTP Server Administrator's Guide C.7 
Integrating Generic Apache with Oracle Application Server

http://download-uk.oracle.com/docs/cd/B25221_04/web.1013/b25211/oc4jplugin.htm#sthref1623

i had to copy appropriate modules from OAS Companion CD apache2 
directory, set up environmental variables etc and should work perfect 
but instead i got a message

mod_oc4j.so: undefined symbol: onsint_hook_ons_ready_handler

Well, i also have doubts that copying binary libraries aint surest bet.

In my case generic apache 2 is provided by Debian Sarge distribution, i 
also experimented with CentOS with the same results.

I quite realize users@httpd.apache.org isnt Oracle's helpdesk but should 
anyone have experience with setting up something like that and cares to 
shere it, i'd be most thankful!


Best regards, Imre


PS I instist using in a presentation layer generic apache instead of 
Oracle's own version on Apache because we prefere to remain in that 
layer not too tighty bound to a specific vendor.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] trying to make so-called generic apache work with oracle app server 10.1.3's oc4j

Posted by Brian Rectanus <br...@gmail.com>.
On 5/31/06, Nick Kew <ni...@webthing.com> wrote:
> On Wednesday 31 May 2006 09:25, Imre Oolberg wrote:
> > Dear people,
> >
> > I have an assignment to deploy Oracle Application Server 10.1.3's OC4J
> > component behind Generic Apache v. 2.0.x webserver
>
> Why 2.0?
>
> Upgrade to 2.2 and it supports oracle directly through DBD.
> Or of course use oracle's product.
>
> Running 2.0 looks like the worst of both worlds.
>
> > mod_oc4j.so: undefined symbol: onsint_hook_ons_ready_handler
>
> That looks like a hook (though it could also be some oracle programmer
> who doesn't understand hooks but thought (s)he was using apache
> conventions).  A hook may be exported by the core or by another
> module.  In general terms (as a matter of good practice), any hook
> that isn't from the core should be implemented as an optional hook,
> so it doesn't cause missing dependencies.
>
> That hook is probably implemented by another oracle module that's
> included in their proprietary apache version.  If you can identify that
> module (e.g. with nm), then load it before the one that's generating
> the error.  That'll be possible if and only if you have the module as
> a .so (or .dll if on windoze).
>
> > PS I instist using in a presentation layer generic apache instead of
> > Oracle's own version on Apache because we prefere to remain in that
> > layer not too tighty bound to a specific vendor.
>
> Heh.  Debian's apache is horrible, too.
>
> --
> Nick Kew
>


I'll agree w/Nick and say that it is probably not a good idea unless
you are required to use 2.0 for some other purpose.  I am sure you
will run into Oracle support issues on this.  I can already see the
'Yes, our docs say it *can* be done, but we do not support it' line
from Oracle just waiting to happen ;)

Instead, I would (and do) use a reverse proxy Apache setup for the
OC4J stuff.  You get the benefit of your favorite Apache version and
can use mod_ssl instead of Oracle's mod_ossl (owm, cringe).  You can
also run the reverse proxy on a separate machine.  Also, if you add
something like this to the reverse proxy setup, you can make Apache
appear like Oracle WebCache reverse proxy and it will help:

In Apache Reverse Proxy
:
### Add Oracle WebCache Headers
########################################
# * Allows 'UseWebCacheIp On' to work
# * Allows more 'intelligent' backend
#   handling of SSL requests
########################################
RequestHeader unset ClientIP
RequestHeader unset SSL-Https
RequestHeader append ClientIP "%{REMOTE_ADDR}s"
RequestHeader append SSL-Https "on" env=HTTPS
RequestHeader append SSL-Https "off" env=!HTTPS


In Oracle's Apache httpd.conf:
Include /your/path/to/local.conf

And in local.conf:
### Use the correct IP
UseWebCacheIp On
### Simulate SSL (if SSL always used)
LoadModule certheaders_module libexec/mod_certheaders.so
AddCertHeader HTTPS
SimulateHttps on

WARNING: If you enable UseWebCacheIp, make sure no users can bypass
the reverse proxy, or they can fake their IP!!



However, if you must replace 10gAS Apache, check the following:

1) Make sure these are set on apache startup:
    export ORACLE_HOME=/your/path/to/OH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/Apache/any/others

That symbol not found error is due to LD_LIBRARY_PATH not being
inclusive of the required Oracle libs.  I don't have a 10.1.3 install
available at the moment, but it is probably:

  libdms2.so
  libdms2.so

in the $ORACLE_HOME/lib dir.

This will tell you what libs are required and then include the paths
in LD_LIBRARY_PATH:

  ldd /path/to/mod_oc4j.so

2) Use the full path to the Oracle modules in your apache config
instead of copying them.

3) Consider using mod_onsint as well as mod_oc4j

Good Luck,
-B

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] trying to make so-called generic apache work with oracle app server 10.1.3's oc4j

Posted by Nick Kew <ni...@webthing.com>.
On Wednesday 31 May 2006 09:25, Imre Oolberg wrote:
> Dear people,
>
> I have an assignment to deploy Oracle Application Server 10.1.3's OC4J
> component behind Generic Apache v. 2.0.x webserver

Why 2.0?

Upgrade to 2.2 and it supports oracle directly through DBD.
Or of course use oracle's product.

Running 2.0 looks like the worst of both worlds.

> mod_oc4j.so: undefined symbol: onsint_hook_ons_ready_handler

That looks like a hook (though it could also be some oracle programmer
who doesn't understand hooks but thought (s)he was using apache
conventions).  A hook may be exported by the core or by another
module.  In general terms (as a matter of good practice), any hook
that isn't from the core should be implemented as an optional hook,
so it doesn't cause missing dependencies.

That hook is probably implemented by another oracle module that's
included in their proprietary apache version.  If you can identify that
module (e.g. with nm), then load it before the one that's generating
the error.  That'll be possible if and only if you have the module as
a .so (or .dll if on windoze).

> PS I instist using in a presentation layer generic apache instead of
> Oracle's own version on Apache because we prefere to remain in that
> layer not too tighty bound to a specific vendor.

Heh.  Debian's apache is horrible, too.

-- 
Nick Kew

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org