1 Introduction to Oracle HTTP Server

Oracle HTTP Server is the Web server component for Oracle Fusion Middleware. It provides a listener for Oracle WebLogic Server and the framework for hosting static pages, dynamic pages, and applications over the Web.

This chapter includes the following sections:

1.1 What is Oracle HTTP Server

Oracle HTTP Server 11g, Release 1 (11.1.1.2.0) is based on Apache 2.2.13 infrastructure, and includes modules developed specifically by Oracle. The features of single sign-on, clustered deployment, and high availability enhance the operation of the Oracle HTTP Server. Oracle HTTP Server has the following components to handle client requests:

  • HTTP listener, to handle incoming requests and route them to the appropriate processing utility.

  • Modules (mods), to 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 modules that are specific to Oracle Fusion Middleware to support integration between Oracle HTTP Server and other Oracle Fusion Middleware components.

  • Perl interpreter, a persistent Perl runtime environment embedded in Oracle HTTP Server through mod_perl.

Oracle HTTP Server enables developers to program their site in a variety of languages and technologies, such as the following:

  • Perl (through mod_perl and CGI)

  • C (through CGI and FastCGI)

  • C++ (through FastCGI)

  • PHP (through mod_php)

  • Oracle PL/SQL

Oracle HTTP Server can also be a proxy server, both forward and reverse. A reverse proxy enables content served by different servers to appear as if coming from one server.

Figure 1-1shows an Oracle home with an Oracle instance and an Oracle WebLogic Server domain. Throughout this book, examples will use the components in this figure. The farm (farm1) consists of an Oracle instance and a WebLogic Server domain. The Oracle instance includes Oracle HTTP Server (ohs1) and Oracle Web Cache (wc1), and the WebLogic Server domain includes two Managed Servers.

Figure 1-1 Oracle Fusion Middleware Farm

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle Fusion Middleware Farm"

1.1.1 Key Features of Oracle HTTP Server

The following sections describe some of the key features of Oracle HTTP Server:

1.1.1.1 Security: Encryption with Secure Sockets Layer

Secure Sockets Layer (SSL) is required to run any Web site securely. Oracle HTTP Server supports SSL encryption based on patented, industry standard, algorithms. SSL works seamlessly with commonly-supported Internet browsers. Security features include the following:

  • SSL hardware acceleration support uses dedicated hardware for SSL with nCipher. Hardware encryption is faster than software encryption.

  • Variable security per directory allows individual directories to be protected by different strength encryption.

  • Oracle HTTP Server and Oracle WebLogic Server communicate using the HTTP protocol to provide both encryption and authentication. You can also enable HTTP tunneling for the T3 or IIOP protocols to provide non-browser clients access to WebLogic Server services.

1.1.1.2 Security: Single Sign-On

Basic authentication for HTTP servers uses a flat file with encrypted passwords. Oracle HTTP Server supports standard authentication as well as single sign-on. The mod_osso module is included to support single sign-on across sites and across applications. This security feature provides a better end user experience because users only have to log in once. It also helps the development cycle because most of the security is declarative.

1.1.1.3 Distributed Authoring and Versioning (DAV) Support

WebDAV is an HTTP based protocol that allows DAV enabled clients, such as Microsoft Office and Microsoft Windows Explorer, to edit files on a server. Oracle HTTP Server enhances DAV support with the mod_oradav module. This module enables WebDAV clients to connect to an Oracle database, read and write content, query, and lock documents in various schemas.

1.1.1.4 URL Rewriting and Proxy Server Capabilities

Active Web sites usually update their Web pages and directory contents often, and possibly their URLs as well. Oracle HTTP Server makes it easy to accommodate the changes by including an engine that supports URL rewriting so end users do not have to change their bookmarks.

Oracle HTTP Server also supports reverse proxy capabilities, making it easier to make content served by different servers to appear from one single server.

1.1.1.5 Oracle Process Manager and Notification Server

Oracle Fusion Middleware provides a high availability infrastructure integration with Oracle Process Manager and Notification Server (OPMN), for process management, failure detection, and failover for Oracle HTTP Server processes.

1.1.1.6 Oracle Plug-Ins

Oracle makes the following plug-ins available to enable Microsoft Internet Information Server (IIS) to work with Oracle HTTP Server:

  • Oracle Proxy Plug-In is a separately-available component that enables a third-party HTTP listener to route requests to Oracle HTTP Server. Users can benefit from Oracle HTTP Server features even when their corporate standard requires them to use, for example, Microsoft IIS. The proxy plug-in provides Oracle HTTP Server features, such as single sign-on and load balancing, to be accessed when using a third-party HTTP listener.

  • Oracle SSO Plug-In is a separately-available component that enables a third-party HTTP listener to be integrated with Oracle Fusion Middleware Single Sign-on. For example, Microsoft IIS listener applications can be protected by using the Oracle Single Sign-on infrastructure, as well as basic directory structure. Users can be authenticated to these listeners using a single sign-on password. This functionality is similar to what the mod_osso module provides to Oracle HTTP Server.

1.1.1.7 PL/SQL Server Pages

PL/SQL Server Pages are similar in concept to the JavaServer Pages. The mod_plsql module enables PL/SQL to be used as the scripting language within an HTML page. PL/SQL Server Pages get translated into a stored procedure, which then uses the module to send the output to the browser.

1.1.1.8 Server-Side Includes

Server-Side Includes provide an easy way of adding dynamic or uniform static content across all pages on a site. It is typically used for header and footer information. Oracle HTTP Server supports special directives to enable these only for certain types of files, or for specified virtual hosts.

1.1.1.9 Perl

Perl is a scripting language often used to provide dynamic content. Perl scripts can either be called as a CGI program, or directly through the mod_perl module. Oracle Fusion Middleware uses Perl version 5.10.

1.1.1.10 PHP

PHP (Hypertext Preprocessor) is a scripting language capable of being embedded in HTML, which makes it well-suited for Web development. Although the mod_php module does not ship with Oracle Fusion Middleware, Oracle provides detailed instructions on how to install and use PHP with Oracle HTTP Server. For more information, see Using PHP with Oracle HTTP Server 11g R1.

1.1.1.11 C / C++ (CGI and FastCGI)

CGI programs are commonly used to program Web applications. Oracle HTTP Server enhances the programs by providing a mechanism to keep them alive beyond the request lifecycle.

1.1.1.12 Load Balancing

Oracle HTTP Server includes the mod_wl_ohs module, which routes requests to Oracle WebLogic Server. The mod_wl_ohs module provides the same load balancing functionality as the Oracle WebLogic Server Plug-in for Apache HTTP Server (mod_weblogic).

For more information on the mod_wl_ohs module's load balancing capability with Oracle WebLogic Server, see "The Dynamic Server List" section of Using Web Server Plug-Ins with Oracle WebLogic Server.

Note:

The mod_wl_ohs module provides the same functionality as the Oracle WebLogic Server Plug-in for Apache HTTP Server (mod_weblogic), except for the minor differences described in "mod_wl_ohs".

1.2 Understanding Oracle HTTP Server Directory Structure

Oracle HTTP Server directories are divided between the Oracle home and the Oracle instance. The Oracle home directories are read-only, and contain the Oracle Fusion Middleware binaries. The Oracle instance directories contain the modules and content pages for Oracle HTTP Server. Table 1-1 shows the subdirectories for Oracle HTTP Server in the Oracle home directory.

Table 1-1 Oracle Home Directories

Directory Contents

ohs/bin

Oracle HTTP Server binary files.

ohs/conf

Oracle HTTP Server template configuration files, which get provisioned to an Oracle instance when an Oracle HTTP Server component is configured.

Note: These files should only be edited by advanced Oracle HTTP Server users.

ohs/modules

Oracle HTTP Server modules


Table 1-2 shows the subdirectories for Oracle Fusion Middleware in the Oracle instance directory.

Table 1-2 Oracle Instance Directories

Directory Name Contents

config/OHS/<ohs_name>

Oracle HTTP Server configuration files.

config/OHS/<ohs_name>/htdocs

Static content and CGI scripts for Oracle HTTP Server.

config/OHS/<ohs_name>/moduleconf

Configuration files that are automatically included in Oracle HTTP Server configuration. Be careful not to create any files with a .conf extension in this directory that you do not want to be included in the configuration.

diagnostics/logs/OHS/<ohs_name>

Oracle HTTP Server component instance log files.


1.3 Understanding Configuration Files

Configuration for Oracle HTTP Server are specified through directives in configuration files in the exact same manner as Apache HTTP Server configuration files. For more information about Apache HTTP Server configuration files, see the Apache HTTP Server 2.2 Users Guide.

1.4 Oracle HTTP Server Support

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

  • Modules included in the Oracle distribution. Oracle does not support modules obtained from any other source, including the Apache Software Foundation. Oracle HTTP Server will still be supported when non-Oracle-provided modules are included. If it is suspected that the non-Oracle-provided modules are contributing to reported problems, customers may be requested to reproduce the problems without including those modules.

  • 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.