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:
Oracle HTTP Server 11g, Release 1 (188.8.131.52.0) is based on Apache 2.2.14 (or higher) 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:
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.
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 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.
See Also:Oracle Fusion Middleware Concepts
The following sections describe some of the key features of Oracle HTTP Server:
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:
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.
See Also:Oracle Fusion Middleware Security Guide
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.
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.
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.
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.
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.
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.
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.
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.
See Also:Section 3.8, "mod_perl"
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.
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.
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".
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.
Oracle HTTP Server binary files.
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.
Oracle HTTP Server modules
Table 1-2 shows the subdirectories for Oracle Fusion Middleware in the Oracle instance directory.
Oracle HTTP Server configuration files.
Static content and CGI scripts for Oracle HTTP Server.
Configuration files that are automatically included in Oracle HTTP Server configuration. Be careful not to create any files with a
Oracle HTTP Server component instance log 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.
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.