Installing and configuring Oracle HTTP 10g on Windows 2003 x64

There is no such thing as 64-bit OracleHTTP server (yet), that’s why you must download and install 32-bit OracleHTTP.

1) Download 32-bit Oracle10g R2 Companion disk for Windows
2) Start OUI from Companion disk (directory) and proceed as:

  • Next -> select “Oracle Database 10g Companion Products
  • Next -> select new Oracle home, such as D:\ORACLE\ORAHTTP
  • Next -> select Apache Standalone
  • Next -> check that Product Prerequisite Check is OK and proceed with install
  • Next -> check that Oracle HTTP is properly installed trying to connect to http://yourserver:7777

3) Configure DAD (assuming you installed Oracle HTTP in D:\ORACLE\ORAHTTP

  • open dads.conf file in D:\ORACLE\ORAHTTP\Apache\modplsql\conf and add your application specific DAD. Sample file:
  • # ============================================================================ 
    #                     mod_plsql DAD Configuration File                         
    # ============================================================================ 
    # 1. Please refer to dads.README for a description of this file                
    # ============================================================================ 
    # Note: This file should typically be included in your plsql.conf file with 
    # the "include" directive.
    # Hint: You can look at some sample DADs in the dads.README file
    # ============================================================================ 
    AddType text/xml		xbl
    AddType text/x-component	htc
    Alias /i/ "D:\oracle\ORAHTTP\Apache\Apache\images/"
    <Location /yourApp>
      SetHandler pls_handler
      Order deny,allow
      Allow from all
      AllowOverride None     
      PlsqlDatabaseConnectString    yourserver:1521:orcl
      PlsqlAuthenticationMode       Basic
      PlsqlDefaultPage              !
      PlsqlDocumentTablename        htmldocs
      PlsqlDocumentPath             PF
      PlsqlDocumentProcedure        htmldocs.docproc
      PlsqlNLSLanguage              SLOVENIAN_SLOVENIA.EE8MSWIN1250
  • now open plsql.conf in the same directory as dads.conf and check that dads.conf is included with the statement such as:
  • include D:\ORACLE\ORAHTTP\Apache\modplsql\conf\dads.conf

4) Change Oracle HTTP default port (optional)

  • open http.conf in D:\ORACLE\ORAHTTP\Apache\Apache\conf and change 7777 to 80:
  • Port 80
    Listen 80

5) Restart the HTTP server and check your url

  • go to D:\ORACLE\ORAHTTP\opmn\bin and restart the service:
  • D:\ORACLE\ORAHTTP\opmn\bin>opmnctl status
    Processes in Instance: standalone
    ias-component      | process-type       |     pid | status
    HTTP_Server        | HTTP_Server        |    1844 | Alive
    LogLoader          | logloaderd         |     N/A | Down
    dcm-daemon         | dcm-daemon         |     N/A | Down
    D:\ORACLE\ORAHTTP\opmn\bin>opmnctl stopall
    opmnctl: stopping opmn and all managed processes...
    D:\ORACLE\ORAHTTP\opmn\bin>opmnctl startall
    opmnctl: starting opmn and all managed processes...
  • point your browser to http://yourserver/yourApp and you should be prompted to logon

6) Troubleshooting

  • You should always start troubleshooting Oracle HTTP errors with Apache logs at:

Posted on 26.10.2009, in Oracle and tagged . Bookmark the permalink. 2 Comments.

  1. Is OracleHTTP missing on 11g media?
    Oracle recommended method of deploying Apex in 11g changed from Oracle HTTP to embedded PL/SQL gateway that includes core mod_plsql features. That’s why Oracle removed Oracle HTTP from Examples disk (formerly known as Companion).
    You can still download Oracle HTTP for Windows x86 from OTN 11g Release 1 download page or Linux x86.

    This is what Oracle is saying about Oracle HTTP on download page:

    The Oracle HTTP Server is a release of the Apache Webserver that contains modules that provide HTTP interfaces with different components of the Oracle database. The Oracle database itself also supports direct communication to these components via native support for the HTTP protocol, so the Oracle HTTP Server is not required. However, if you want to service HTTP requests on a different machine than what the Oracle database is installed, you may want to download and configure the Oracle HTTP Server to act as an independent web server.

    The major difference between OracleHTTP that ships with Oracle10g and this separate download is in Apache version. Oracle HTTP that was shipped with 10g runs on Apache 1.3, and OracleHTTP in iAS_101330_Apache2_Modplsql2_win32 runs on Apache 2.0.

    Installation notes for Oracle HTTP server slightly differ from 10g, specifically in the following (assuming that we installed HTTP server in D:\ORACLE\ORAHTTP):

    • 1) Unzip iAS_101330_Apache2_Modplsql2_win32 and install according to above notes.
    • 2) Run Setp.exe and enter new Oracle home into which you’ll install Oracle HTTP
    • 3) Next -> Install
    • 4) Check you installation by pointing your browser at: http://yourserver:7778
    • 5) dads.conf and plsql.conf are located at D:\ORACLE\ORAHTTP\ohs\modplsql\conf
    • 6) httpd.conf is located in D:\ORACLE\ORAHTTP\ohs\conf
  2. Bug in OHS
    Soon after I finished with installation of OHS I noticed that ProcessManager Windows service was not created. A quick search on Metalink confirmed my suspicion that it must to be a bug, refer to:

    761489.1 “OHS Does Not Create ProcessManager Windows Service”

    It’s beyond my comprehension how can such an obvious (amateurish) bug bypass QA process unnoticed. Every time I hit the bug like this, I know we’re paying Oracle waaay tooo much.

    Anyway, to clean the the mess after the Oracle we need to create Process Manager service manually with Microsoft service control utility (sc.exe):

    cmd> sc create OracleHTTPProcessManager binPath= "D:\ORACLE\ORAHTTP\opmn\bin\opmn.exe -S" DisplayName= OracleHTTPProcessManager start= auto
    If everything is fine with the sc command, you should be greet with:
    [SC] CreateService SUCCESS

    Everything must be entered on the same line. Also be careful that you leave a blank space after = for binPath, DisplayName and start command line switches.
    I picked up OracleHTTPProcessManager for the service name, you’re free to pick different name.

    Considering that Oracle (obviously) didn’t bother to truly test OHS delivered from 11g download area, I’ll stick with older, but trusted release (10.1.2).