1 Overview

This chapter describes the Oracle HTTP Server, highlighting the differences between the Oracle distribution and the open source Apache product on which it is based. It also explains how to start, stop, and restart the server.

Topics discussed are:

Documentation from the Apache Software Foundation is referenced when applicable.


Note:

Readers using this guide in PDF or hard copy formats will be unable to access third-party documentation, which Oracle provides in HTML format only. To access the third-party documentation referenced in this guide, use the HTML version of this guide and click the hyperlinks.

1.1 Oracle HTTP Server Features

Oracle HTTP Server is the Web server component of Oracle Database. Based on the Apache infrastructure, Oracle HTTP Server is a robust, reliable Web server, preconfigured to do the following:

  • Provide Dynamic Monitoring Service (DMS) metrics that give runtime performance statistics for Oracle HTTP Server processes.


    See Also:

    Oracle Application Server 10g Performance Guide

  • Provide a request ID, which enhances request tracking through various components by attaching a request ID to each request. This provides more detailed information, allowing you to see how much time a particular request spends in any component or layer.

  • Enable securing of transactions with Secure Sockets Layer (SSL) technology.


    See Also:

    • Oracle Application Server 10g Security Guide

  • Execute Perl scripts in the same process as the Oracle HTTP Server, or as CGI script.

  • Access database stored procedures with a PL/SQL engine.

  • Enable scripting of HTML pages with PL/SQL code.

1.2 Oracle HTTP Server Components

Oracle HTTP Server consists of several components that run within the same process. These components provide the extensive list of features that Oracle HTTP Server offers when handling client requests. Major components are:

  • HTTP Listener: Oracle HTTP Server is based on an Apache HTTP listener to serve client requests. An HTTP server listener handles incoming requests and routes them to the appropriate processing utility.

  • Modules (mods): Modules both implement and extend the basic functionality of Oracle HTTP Server. Many of the standard Apache modules are included with Oracle HTTP Server. Oracle also includes several internal modules that are specific to Oracle Application Server components.

  • Perl Interpreter: A persistent Perl runtime environment embedded in Oracle HTTP Server through mod_perl.

1.2.1 Oracle HTTP Server Modules

Table 1-1 identifies the modules shipped with Oracle HTTP Server. Modules extend the basic functionality of the Web server, and support integration between Oracle HTTP Server and other Oracle Database components. Note that the list differs from the Apache open source distribution (given the inclusion of Oracle modules).

Table 1-1 Oracle HTTP Server Modules

Module Note Module Note
mod_access   mod_log_agent Deprecated
mod_actions   mod_log_config  
mod_alias   mod_log_referer Deprecated
mod_asis   mod_mime  
mod_auth   mod_mime_magic  
mod_auth_anon   mod_mmap_static  
mod_auth_dbm   mod_negotiation  
mod_autoindex   mod_onsint Oracle module
mod_cern_meta   mod_ossl Oracle module
mod_certheaders Oracle module mod_perl  
mod_cgi   mod_php  
mod_define UNIX systems only mod_plsql Oracle module 
mod_digest   mod_proxy  
mod_dir   mod_rewrite  
mod_dms Oracle module mod_security  
mod_env   mod_setenvif  
mod_example   mod_speling  
mod_expires   mod_status  
mod_fastcgi   mod_unique_id  
mod_headers   mod_userdir  
mod_imap   mod_usertrack  
mod_include   mod_vhost_alias  
mod_info   mod_wchandshake Oracle module 

1.3 Oracle HTTP Server Support

Oracle provides technical support for the following Oracle HTTP Server features and conditions:

  • Modules included in the Oracle distribution. Modules from any other source, including the Apache Software Foundation, are not supported by Oracle.

  • Problems that can be reproduced within an Apache configuration consisting only of supported Oracle Apache modules.

  • Use of the included Perl interpreter within the supported Apache configuration.

1.4 Oracle HTTP Server Management

You can manage Oracle HTTP Server using opmnctl. It is the command-line utility for Oracle Process Manager and Notification Server (OPMN) for process management. It is located in the following directories:

  • UNIX:

    ORACLE_HOME/opmn/bin 
    
    
  • Windows:

    ORACLE_HOME\opmn\bin
    
    

    For more information about opmnctl, see the Oracle Process Manager and Notification Server Administrator's Guide

1.5 Starting, Stopping, and Restarting Oracle HTTP Server

Oracle HTTP Server is managed by Oracle Process Manager and Notification Server (OPMN). You must always use OPMN to start, stop and restart Oracle HTTP Server. Otherwise, the configuration management infrastructure cannot detect or communicate with the Oracle HTTP Server processes, and problems may occur.


Note:

Do not use the apachectl utility to manage Oracle HTTP Server.

To determine the state of Oracle HTTP Server, use the following command:

opmnctl status

The processes are listed with their current state (Up, Down, and so on.)

1.5.1 Starting Oracle HTTP Server

To start Oracle HTTP Server, use the startproc command:

  • UNIX: ORACLE_HOME/opmn/bin> opmnctl [verbose] startproc ias-component=HTTP_Server

  • Windows: ORACLE_HOME\opmn\bin> opmnctl [verbose] startproc ias-component=HTTP_Server

1.5.2 Stopping Oracle HTTP Server

To stop Oracle HTTP Server, use the stopproc command:

  • UNIX: ORACLE_HOME/opmn/bin> opmnctl [verbose] stopproc ias-component=HTTP_Server

  • Windows: ORACLE_HOME\opmn\bin> opmnctl [verbose] stopproc ias-component=HTTP_Server

1.5.3 Restarting Oracle HTTP Server

Restarting Oracle HTTP Server performs a graceful restart, which is invisible to clients. In a graceful restart, on UNIX, a USR1 signal is sent. When the process receives this signal, it tells the children to exit after processing the current request. (Children that are not servicing requests exit immediately.)

The parent re-reads the configuration files and re-opens the log files, replacing the children with new children in accordance with the settings it finds when re-reading the configuration files. It always observes the process creation settings (MaxClients, MaxSpareServers, MinSpareServers) specified, and takes the current server load into account.

To restart Oracle HTTP Server, use the restartproc command: