Database Forum / Oracle / Oracle Server / July 2005
Is it possible to switch to Apache2 with Oracle 9i?
|
|
Thread rating:  |
ohaya - 23 Jul 2005 23:55 GMT Hi,
I have Oracle 9i database server installed on a Windows machine, and the Oracle installation installs Jserv and Apache 1.3x. Is it possible to use a separate Apache2 webserver and get that integrated with the Oracle Jserv environment?
I tried by installing Apache 2.0.49 on the same machine, and then adding the small section of the httpd.conf from the C:\oracle\ora92\Apache\Apache\conf to my new Apache httpd.conf, but that didn't work.
I have some code that was developed and works under the Oracle Jserv environment, that would be a pain to port, plus I'm not allowed to run something like Tomcat in the environment that I work in, so I'd like to be able to continue to use the Oracle Jserv environment to handle my JSPs.
I've read through a lot of the docs on Oracle's website, etc., but haven't been able to get this working yet.
Has anyone ever tried this, and if so, how can I accomplish this?
Thanks, Jim
Frank van Bortel - 24 Jul 2005 11:35 GMT > Hi, > [quoted text clipped - 21 lines] > Thanks, > Jim You could try the Apache 2 that come with 10g - I have not tried it, but fail to see why it would not connect to 9i.
You cannot have any Apache installed, apart from the Oracle Apache, as Oracle compiles with older C-compiler versions - at least, mod_plsql is compiled with the same C compiler, and will work.
Another option would be to abandon Oracle Apache altogether, and go for Apache/Tomcat or similar. That works like a charm.
 Signature Regards, Frank van Bortel
ohaya - 24 Jul 2005 18:45 GMT > You could try the Apache 2 that come with 10g - I have not tried it, but > fail to see why it would not connect to 9i. [quoted text clipped - 5 lines] > Another option would be to abandon Oracle Apache altogether, and go > for Apache/Tomcat or similar. That works like a charm. Frank,
Thanks for the suggestions...
Unfortunately, Tomcat is not an option for me, as I'm not allowed to run it at work. That was why I originally wrote my web app to run under the Jserv environment that installed with the 9i database server.
Actually, in a test environment, I have a machine that has both Oracle 9i database server (and "Oracle Apache"+Jserv) and "regular" Apache2 (2.0.49) installed and running. The Oracle Apache is listening of port 7778, and the regular Apache2 is listening on port 443 (HTTPS). So, it seems that running both Oracle Apache and non-Oracle Apache on the same server isn't a problem.
The problem is getting the regular Apache server to integrate with the Jserv, and that's what I can't figure out how to do.
I tried taking the last part of httpd.conf from the Oracle Apache and adding it to the end of the httpd.conf of the non-Oracle Apache:
# Include the configuration for Apache JServ 1.1 include "E:\oracle\ora92\Apache\Jserv\conf\jserv.conf"
# Setup of oprocmgr module. # # This directive identifies each remote apache instance that will be # sending requests to processes (e.g., JServs), managed by local Apache # instances. This directive is used by the local process manager to share # routing information with remote apache instances via non-SSL HTTP messages. # The directive is repeated for each remote apache instance that will be # sending requests. The ProcNode directive that refers to the local apache # instance will be ignored, but may be supplied to facilitate uniformity # in configuration across apache instances. Arguments to the ProcNode must # be sufficient to reach the remote instance of apache via non-SSL HTTP # messages. It is not considered an error if the remote apache instance is # unreachable, as no assumption is made about the starting order or # availability of apache instances. # Syntax: ProcNode <hostname> <port> # Example: ProcNode abc.com 7777
<IfModule mod_oprocmgr.c> ProcNode jimnew 7778 <Location /oprocmgr-service> SetHandler oprocmgr-service </Location> <Location /oprocmgr-status> SetHandler oprocmgr-status </Location> </IfModule>
# Include the Oracle configuration file for custom settings include "E:\oracle\ora92\Apache\Apache\conf\oracle_apache.conf"
But, when I try to run an "apache -t" on the Apache2 bin, I get:
E:\Apache\bin>apache -t Syntax error on line 9 of E:/oracle/ora92/Apache/Jserv/conf/jserv.conf: Cannot load E:/oracle/ora92/Apache/Jserv/ApacheModuleJServ.dll into server: The specified module could not be found.
This is despite the ApacheModuleJserv.dll being in the location cited above.
Is this because the ApacheModuleJserv.dll is also compiled by Oracle with their own 'C' compiler?
If that's the case, then maybe you're right, and what I'm trying to do is just not possible :(...
Jim
Frank van Bortel - 25 Jul 2005 16:45 GMT No - running two versions is not the problem, but:
[snip!]
> This is despite the ApacheModuleJserv.dll being in the location cited > above. > > Is this because the ApacheModuleJserv.dll is also compiled by Oracle > with their own 'C' compiler? running Oracle dll's in Apache is.
Own *version* of compiler - mostly a bit older than what the Apache folk use...
> If that's the case, then maybe you're right, and what I'm trying to do > is just not possible :(... > > Jim Been there, tried that (being tired of the 8i/Apache 1.3.08 security holes) - no avail...
 Signature Regards, Frank van Bortel
Billy - 25 Jul 2005 12:36 GMT > I have Oracle 9i database server installed on a Windows machine, and the > Oracle installation installs Jserv and Apache 1.3x. Is it possible to > use a separate Apache2 webserver and get that integrated with the Oracle > Jserv environment? Simple answer, no. Reason: Oracle ship their own shared objects (DLLs) for Apache. These use the Apache 1.x API. The Apache 2.x API is substantially different and not backwards compatible.
More complex answer, possibly. But the resulting Apache server cannot contain v1.x Apache shared objects (and thus none of the 9i supplied Apache shared objects), you will need to replace these with Open Source and custom code, and you will loose certain functionality that 9i supplies. Not to mention that the resulting config will not be Oracle certified which could be a major problem if you are reliant on Oracle Support for assistance when the smelly stuff hits the fan.
-- Billy
ohaya - 25 Jul 2005 22:11 GMT > > I have Oracle 9i database server installed on a Windows machine, and the > > Oracle installation installs Jserv and Apache 1.3x. Is it possible to [quoted text clipped - 12 lines] > certified which could be a major problem if you are reliant on Oracle > Support for assistance when the smelly stuff hits the fan. Billy (and Frank),
Thanks for all of the info. You're right that I think that I wouldn't want to go this way, if it's going to take what you're indicating, because part of my rationale for doing the implementation under Oracle Jserv was because I knew that I would have that environment available at work. Plus now that I've coded it to the Jserv environment, my code uses some (I think) of that Oracle-specific functionality, including globals.jsa for holding application-wide variables.
If they (at work) really push to move this to an Apache2 environment, I'll have to see about porting my app to a different environment, possibly to WebLogic, because I know that I can get access to that.
One last question: I gather that the web server installation that installs with Oracle 10g iAS is different than the 1.3.x version that installs with Oracle 9i Database server. Is that also Apache, and does that happen to be some version (which one?) of Apache2?
Thanks, Jim
Frank van Bortel - 30 Jul 2005 14:48 GMT [snip!]
> Billy (and Frank), > [quoted text clipped - 17 lines] > Thanks, > Jim 10g AS (no more iAS...) comes with 1.3.12, iirc. So it's still the same. However, on the 10g DB companion CD, you have the choice of installing either 1.3 or 2.0 of Apache. Does support mod_plsql, will not comment on J2EE, as I've never dealt with the 2.0 Apache and J2EE combo.
 Signature Regards, Frank van Bortel
|
|
|