On 5/31/06, Nick Kew <nick@xxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx