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.

Note:

Unless otherwise mentioned, the information in this document is applicable when Oracle HTTP Server is installed with Oracle WebLogic Server and Oracle Fusion Middleware Control. It is assumed that readers are familiar with the key concepts of Oracle Fusion Middleware, as described in the Oracle Fusion Middleware Concepts Guide and the Oracle Fusion Middleware Administrator's Guide.

For information about installing Oracle HTTP Server in standalone mode, see “Installing Oracle Web Tier in Stand-Alone Mode” in the Oracle Fusion Middleware Installation Guide for Oracle Web Tier.

This chapter includes the following sections:

1.1 What is Oracle HTTP Server

Oracle HTTP Server 11g, Release 1 (11.1.1.6.0) is based on Apache HTTP Server 2.2.21 (with critical bug fixes from higher versions) 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 HTTP Server 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-1 shows an example of an Oracle home and a farm (farm1) consisting of an Oracle instance and an Oracle WebLogic Server domain. The Oracle instance in this example includes two components: Oracle HTTP Server (ohs1) and Oracle Web Cache (webcache1). The Oracle WebLogic Server domain includes two managed servers.

Note:

For more information about Fusion Middleware concepts, see the Oracle Fusion Middleware Concepts.

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. 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 provides the following plug-ins to enable third-party web servers to work with Oracle HTTP Server:

  • Oracle Proxy Plug-In is a separately-available component that enables Microsoft IIS and Sun Java System Web Server to route requests to Oracle HTTP Server.

  • Oracle SSO Plug-In is a separately-available component that enables Microsoft IIS to be integrated with Oracle Fusion Middleware Single Sign-On.

For more information about these plug-ins, see Appendix A, "Using Oracle Plug-Ins for Third-Party Web Servers."

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.

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_wl). Note that the modules mentioned in this section are different from the plug-ins described in Section 1.1.1.6, "Oracle Plug-Ins."

For more information, see "The Dynamic Server List" section of Using Web Server Plug-Ins with Oracle WebLogic Server.

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 module configuration files 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/component_name

Oracle HTTP Server configuration files.

config/OHS/component_name/htdocs

Static content and CGI scripts for Oracle HTTP Server.

config/OHS/component_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/component_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 Oracle HTTP Server configuration consisting only of supported Oracle HTTP Server modules.

  • Use of the included Perl interpreter with the supported Oracle HTTP Server configuration.