Skip Headers
Oracle® HTTP Server Administering a Standalone Deployment Based on Apache 1.3
10g Release 2 (10.1.2)
B14008-02
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

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:

1.1 Oracle HTTP Server Features

Oracle HTTP Server is the Web server component of Oracle Application Server. Based on the Apache infrastructure, Oracle HTTP Server allows developers to program their site in a variety of languages and technologies - Perl (through mod_perl and CGI), C (through CGI, and FastCGI), C++ (through FastCGI), PHP, and Oracle's PL/SQL. It can also be a proxy server, both forward and reverse. In addition, the features of single sign-on, clustered deployment, and high availability, enhances the operations of Oracle HTTP Server.

Based on Apache - HTTP v1.1 Support

Oracle HTTP Server code is based on Apache 1.3 Web Server (http://www.apache.org). With such a proven code base, Oracle HTTP Server provides Oracle Application Server customers with the stability, flexibility, and scalability required of a Web server.

Security - Encryption with SSL

Secure Sockets Layer is required to run any Web site securely. Oracle HTTP Server supports SSL encryption based on industry standard, patented, algorithms. The SSL works seamlessly with both Internet Explorer and Netscape browsers. In addition, the infrastructure has been upgraded to share the same wallet information as the database users. Features include:

Security - Single Sign On

Oracle HTTP Server supports the standard basic authentication features of Web servers. The source for the username and password used here is a flat file (with encrypted passwords). In addition, a module, mod_osso, is included to support single sign on across sites and across applications. This provides for a much better end user experience (they have to login only once), and a much easier development cycle (most of the security is declarative).

Virtual Hosts

The virtual host facility allows an HTTP server to service multiple domain names over one IP address. Thus, virtual hosts www.north.com might have the same IP address as www.south.com. Oracle HTTP Server provides a "container" environment for a virtual host, thus providing a virtual host with its own set of security and other configuration directives, in addition to locations from which the files are served. This allows an ISP to save on hardware and administrative costs by enabling hundreds to thousands of sites to be served from a single runtime instance of Oracle HTTP Server. Only one virtual host on a single IP address can accommodate SSL. Oracle HTTP Server can support multiple IP addresses and each one of them can have one, but only one virtual host.

Proxy Server and URL Rewriting

Any Web site that is "alive" changes often. Along with that, the directory structure and the URLs change. Oracle HTTP Server makes it easy to accommodate these changes by including an engine that support URL rewriting so that the end users do not have to change their bookmarks. It also supports reverse proxy capabilities, thus making it easier to make content served by different servers to appear from one single server.

PL/SQL Stored Procedures

This feature allows access to PL/SQL code stored in the Oracle database.

PL/SQL Stored Procedures

Similar in concept to the JavaServer Pages, this module allows PL/SQL to be used as the scripting language within an HTML page. It gets translated into a stored procedure, which then uses the module described in the previous section (for PL/SQL stored procedure) to send the output to the browser.

Server Side Include

Server Side Includes provide an easy way of adding some dynamic, or uniform static content, across all the site's pages. It is typically used for header/footer information. Oracle HTTP Server supports special directives to enable these only for certain types of files, or for given virtual hosts.

Perl

Perl is a scripting language often used to provide dynamic content. Perl can either be called as a CGI program, or directly through mod_perl. Oracle Application Server uses Perl version 5.6.1.


See Also:

"mod_perl"

PHP

PHP is an open source, widely-used, general-purpose, client-side scripting language, that is embedded in standard HTML. It is used to generate dynamic HTML pages.


See Also:

"mod_php"

C/C++ (CGI and FastCGI)

CGI programs have been commonly used to program Web applications. Oracle HTTP Server improves on them by providing a mechanism to keep them alive beyond the request lifecycle, thus improving the performance tremendously.

Dynamic Monitoring Service

Dynamic Monitoring Services (DMS) metrics give runtime performance statistics for both Oracle HTTP Server and OC4J processes. As applications run, DMS collects detailed performance statistics. This data enables you to monitor the duration of important request processing phases and status information. With this information, you can locate performance bottlenecks and tune the application server to maximize throughput and minimize response time.

Oracle Process Manager and Notification Server

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

Load Balancing

Oracle HTTP Server includes a module called mod_oc4j that routes requests from the OC4J instances in a cluster. OPMN helps ensure that mod_oc4j instances know of all the OC4J in the system without requiring a system administrator to do any configuration.

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. The following are the major components:

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 Application Server components. Note that the list differs from the Apache open source distribution (given the inclusion of Oracle modules), and that not all modules are supported by Oracle.

Table 1-1 Oracle HTTP Server Modules

Module Note Module Note

mod_access


 


mod_log_referer


Deprecated.

mod_actions


 


mod_mime


 


mod_alias


 


mod_mime_magic


 


mod_asis


 


mod_mmap_static


 


mod_auth


 


mod_negotiation


 


mod_auth_anon


 


mod_oc4j


Oracle module.

mod_auth_dbm


 


mod_onsint


Oracle module.

mod_autoindex


 


mod_oradav


Oracle module.

mod_cern_meta


 


mod_ossl


Oracle module.

mod_certheaders


Oracle module.

mod_osso


Oracle module.

mod_cgi


 


mod_perl


 


mod_define


UNIX systems only.

mod_php


 


mod_digest


 


mod_plsql


Oracle module.

mod_dir


 


mod_proxy


 


mod_dms


Oracle module.

mod_rewrite


 


mod_env


 


mod_security


 


mod_example


 


mod_setenvif


 


mod_expires


 


mod_speling


 


mod_fastcgi


 


mod_status


 


mod_headers


 


mod_unique_id


 


mod_imap


 


mod_userdir


 


mod_include


 


mod_usertrack


 


mod_info


 


mod_vhost_alias


 


mod_log_agent


Deprecated.

mod_wchandshake


Oracle module.

mod_log_config


 


 


 



1.3 Oracle HTTP Server Support

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

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:

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 the opmnctl utility to start, stop, and restart the 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:

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

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