Home » Oracle » Oracle Ebuisness Suite » All about Apache(Oracle HTTP Server) in EBS 11i/R12

All about Apache(Oracle HTTP Server) in EBS 11i/R12

Apache is widely used Web server. Oracle HTTP server is based on Apache web server and includes modules developed specifically by Oracle. Here in this section we will have discussion about Apache (Oracle HTTP server) used in EBS 11i and R12

Important Directive in httpd.conf


Listen:
The Listen directive instructs Apache to listen to more than one IP address or port; by default it responds to requests on all IP interfaces, but only on the port given by the Port directive.

ServerRoot
sets the directory in which the server lives.

PidFile
sets the file to which the server records the process id of the daemon. If the filename does not begin with a slash (/) then it is assumed to be relative to the ServerRoot.

ResourceConfig– The server will read this file for more directives after reading the httpd.conf file.
– it can contain any server directive allowed in the server config context.
– Since Apache version 1.3.4, the default srm.conf file which ships with Apache contains only comments, and all directives are placed in the main server configuration file, httpd.conf.

AccessConfig– The server will read this file for more directives after reading the ResourceConfig file
– Historically, this file only contained sections;
– Now not used

Timeout :
defines the amount of time Apache will wait for three things:
1. The total amount of time it takes to receive a GET request.
2. The amount of time between receipt of TCP packets on a POST or PUT request.
3. The amount of time between ACKs on transmissions of TCP packets in responses.
– default to 300

KeepAlive :
– provide long-lived HTTP sessions which allow multiple requests to be sent over the same TCP connection.
– For HTTP/1.1 clients, persistent connections are the default unless otherwise specified.
– For HTTP/1.0 clients, Keep-Alive connections will only be used if they are specifically requested by a client.

See also  Oracle virtual Private database(VPD)

MaxKeepAliveRequests :

– limits the number of requests allowed per connection when KeepAlive is on.
– If it is set to “0”, unlimited requests will be allowed.

KeepAliveTimeout :– The number of seconds Apache will wait for a subsequent request before closing the connection. Once a request has been received, the timeout value specified by the Timeout directive applies.

MinSpareServers – desired minimum number of idle child server processes.
– If there are fewer than MinSpareServers idle, then the parent process creates new children at a maximum rate of 1 per second.

MaxSpareServers– maximum number of idle child server processes.
– If there are more than MaxSpareServers idle, then the parent process will kill off the excess processes.
– This directive has no effect when used with the Apache Web server on a Microsoft Windows platform.

StartServers
– sets the number of child server processes created on startup.

MaxClients – sets the limit on the number of simultaneous requests that can be supported; not more than this number of child server processes will be created.
– To configure more than 256 clients, you must edit the HARD_SERVER_LIMIT entry in httpd.h and recompile.

MaxRequestsPerChild
– sets the limit on the number of requests that an individual child server process will handle. After MaxRequestsPerChild requests, the child process will die.
– If MaxRequestsPerChild is 0, then the process will never expire.
Setting MaxRequestsPerChild to a non-zero limit has two beneficial effects:
• it limits the amount of memory that process can consume by (accidental) memory leakage;
• by giving processes a finite lifetime, it helps reduce the number of processes when the server load reduces.

LoadModule :
The LoadModule directive links in the object file or library filename and adds the module structure named module to the list of active modules.
LoadModule status_module modules/mod_status.so
Status_module is the identifier in the module souce code to identify the module.

See also  alter table drop column in oracle database

To be able to use the functionality of a module which was built as a DSO you
have to place corresponding `LoadModule’ lines at this location so the
directives contained in it are actually available _before_ they are used.

So , first we use LoadModule to make the DSO module available.
Then we reconstruct of the complete module list from all available modules
(static and shared ones) to achieve correct module execution order.
For that we use :
ClearModuleList
AddModule mod_vhost_alias.c
AddModule mod_env.c
i.e first clear the list and then Add in the proper order.

The modules listed with AddModule , without a corresponding LoadModule directive,
are static bound into the standard Apache binary distribution.

User
– sets the userid as which the server will answer requests.
– the standalone server must be run initially as root.
– Unix-userid

Group– sets the group under which the server will answer requests.
– Unix-group

ServerAdmin
– sets the e-mail address that the server includes in any error messages it returns to the client.

ServerName– sets the hostname of the server; this is used when creating redirection URLs.

DocumentRoot– sets the directory from which httpd will serve files.
– the server appends the path from the requested URL to the document root to make the path to the document. Example:
DocumentRoot /usr/web
then an access to http://www.my.host.com/index.html

refers to /usr/web/index.html.
– Other location can be set by Alias

– used to enclose a group of directives which will apply only to the named directory and sub-directories of that directory.
– Directory-path is either the full path to a directory, or a wild-card string.
If multiple (non-regular expression) directory sections match the directory (or its parents) containing a document, then the directives are applied in the order of shortest match first, interspersed with the directives from the .htaccess files. For example, with

AllowOverride None

AllowOverride FileInfo

for access to the document /home/web/dir/doc.html the steps are:
• Apply directive AllowOverride None (disabling .htaccess files).
• Apply directive AllowOverride FileInfo (for directory /home/web).
• Apply any FileInfo directives in /home/web/.htaccess

See also  what happens in cutover phase of adop in R12.2

Note that the default Apache access for is Allow from All.

TypesConfig:– sets the location of the MIME types configuration file.
– This file sets the default list of mappings from filename extensions to content types;
– This file controls what Internet media types are sent to the client for given file extension(s). Sending the correct media type to the client is important so they know how to handle the content of the file. Extra types can either be added here or by using an AddType directive
– E.g. of contains of this file
application/msword doc
application/x-javascript js
application/zip zip
audio/mpeg mpga mp2 mp3
image/jpeg jpeg jpg jpe
text/html html htm
—————————-

MIMEMagicFile– some file to know the file type

DefaultType :– when requested for a document whose type cannot be determined by its MIME types mappings, it uses the DefaultType.
ErrorLog: directive sets the name of the file to which the server will log any errors it encounters
CustomLog directive is used to log requests to the server.
LogLevel adjusts the verbosity of the messages recorded in the error logs
LogFormat : specifies the format of the access log file.

Alias directive allows documents to be stored in the local filesystem other than under the DocumentRoot. URLs with a path beginning with url-path will be mapped to local files beginning with directory-filename.
ScriptAlias directive has the same behavior as the Alias directive, except that in addition it marks the target directory as containing CGI scripts that will be processed by mod_cgi’s cgi-script handler.
SetEnv : Sets an environment variable, which is then passed on to CGI scripts and SSI pages.
to conditional on a presence of a particular module

To find out the Version of Apache

$IAS_ORACLE_HOME/Apache/Apache/bin/httpd -v

Some important file for Oracle HTTP Server in EBS 11i

$IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf
$IAS_ORACLE_HOME/Apache/Apache/conf/oracle_apache.conf
$IAS_ORACLE_HOME/Apache/Apache/conf/apps.conf
$IAS_ORACLE_HOME/Apache/Apache/conf/httpd_pls.conf
$IAS_ORACLE_HOME/Apache/Apache/conf/mod_ose.conf
$IAS_ORACLE_HOME/Apache/modplsql/cfg/plsql.conf
$IAS_ORACLE_HOME/Apache/Apache/bin/apachectl

$IAS_ORACLE_HOME/Apache/Apache/logs/access.log

$IAS_ORACLE_HOME/Apache/Apache/logs/error.log

Some important file for Apache in R12.0/R12.1

$INST_TOP/ora/10.1.3/Apache/Apache/conf/httpd.conf
$INST_TOP/ora/10.1.3/Apache/Apache/conf/oracle_apache.conf
$INST_TOP/ora/10.1.3/Apache/Apache/conf/apps.conf
$INST_TOP/ora/10.1.3/Apache/Apache/conf/httpd_pls.conf
$INST_TOP/ora/10.1.3/Apache/Apache/conf/mod_ose.conf
$INST_TOP/ora/10.1.3/Apache/modplsql/cfg/plsql.conf
$INST_TOP/ora/10.1.3/Apache/Apache/bin/apachectl
$INST_TOP/logs/ora/10.1.3/Apache/Apache/logs/error.log

$INST_TOP/logs/ora/10.1.3/Apache/Apache/logs/access.log

How to troubleshoot Oracle HTTP Server issues

  1. Check of any errors in error.log
  2. If it is port conflict.Find out who is using that port
    netstat -a|grep port—-To find out the port conflict
  3. Kill the process  and start the Apache

Also Reads
https://en.wikipedia.org/wiki/Oracle_HTTP_Server

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top