Вы находитесь на странице: 1из 12

Apache Overview 11i

what is web server? A Web Server is a computer program that is responsible for accepting HTTP requests from clients, which are known as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents or linked objects (images, etc.). Basic process looks very simple. Your browser connects to the Web Server and requests a page and the server sends back the requested page. Example: When u type www.oracle.com .The Browser Breaks the URL into three Parts: The protocol ("http") The server name ("www.oracle.com") The file name defined under Directory Index ("index.html") The browser communicates with DNS to translate the server name www.oracle.com into an IP Address, which it uses to connect to the server machine. The browser then forms a connection to the server at that IP address. Using the HTTP protocol, the browser then sends a GET request to the server, asking for the file "http://www.oracle.com/index.html."

The server then sends the HTML text for the Web page to the browser. The browser read the HTML tags and then formats the page onto your screen What is Apache Web Server then? For Oracle Applications, the Web Server is the Oracle Application Server, which is based on Apache technology. Oracle people has Customized Apache by adding extra features/component/plugins like mod_plsql, mod_jserv, mod_osso in to Apache Web server and released it as Oracle-Apache Server. The Oracle Application server is also called as iAS Oracle Apache Server, at startup, starts the parent process. This process loads the entire configuration and associated modules and spawns a preconfigured number of child processes. Apache Server, thus, actually runs several copies of itself to handle multiple connections simultaneously. The parent process never listens to any HTTP request. Its sole job is to ensure that the child processes are alive or to manage the child processes in conjunction with load on the system. Each child process at a given time deals with a single HTTP request Apache is one of the most common Web Server Software. Apache is a freeware and it is highly customizable. In this context, Oracle Apache Server uses several standards as well as Oracles proprietary modules that extend the functionality of Apache Server. Oracle Apache server provides key infrastructure for serving the Internets HTTP protocol. Main Components:

There are two main components. HTTP Listener (Web

Listener) and Modules Http Listener is in charge of receiving incoming http requests and servicing these requests by sending them to appropriate processing component. Modules include some standard Apache modules as well as Oracle proprietary modules & some add-on modules. Modules extend basic functionality of web server. Modules such as: Mod_security : protects web server from external attacks Mod_perl : routes requests to PERL interpreter Mod_plsql : routes requests to pl/sql engine Mod_ossl : supports SSL OHS Components Apache mod_plsql mod_jserv oproc File System: Its location on File System: As you know there are three ORACLE_HOME in Apps 8.0.6, iAS, 9.2.0. Web Server is under iAS ----- iAS stands for Internet Application server ------ The environment variable to go to this location in apps user is (cd $) IAS_ORACLE_HOME. Version:-

To find out the version of Apache and iAS, go to this location and type this if environment file is not sourced. //ora/iAS/Apache/Apache/bin] $ httpd -v Configuration Files: httpd.conf - is a key configuration file for Oracle HTTP Server. httpds.conf - this is configuration file if we use SSL (Secure Socket layer)

How Oracle Apache Server Works? Apache is a program that runs under a suitable multitasking operating system such as Windows, Netware, OS2 and various unix flavours. The Apache binary is called httpd under unix and normally runs in background. On Unix OnDemand environments you can see httpd executable under $APACHE_TOP/Apache/bin. Starting and Stopping Apache: You can start or stop httpd processes using httpd command line however, File apachectl , which is a shell script calls this httpd executable and you can thus start or stop Apache program using apachectl start or stop arguments. Generally, in EBSO application, we use adapcctl.sh script from $SCRIPT_TOP location. This file reads environment variables and again calls apachectl file to start, stop or display status of Apache processes. Thus, finally it is the httpd executable which is being started. When Apache Web server up it uses the below configuration Files.

adstrtall.sh -> adapcctl.sh ->apachectl-> httpd.conf (which in turns apache web server i.e http server will up) When httpd executable first starts, this file is processed. Thus httpd.conf is the main configuration file. httpd.conf -> jserv.conf -> jserv properties -> zone properties httpd.conf -> oracle_apache.conf -> ojsp.conf -> plsql.conf -> apps.conf httpd.conf -> oprocmgr.conf

LOCATIONS OF ALL CONFIGURATION FILES RELATED TO APACHE IN 11i :adstrtall.sh, adapcctl.sh -. COMMONTOP/admin/scripts/sid/ (adapcctl -> where ad -> application's DBA apc -- Apache ctl -- control) apachectl -> APACHE TOP/apache/bin/ httpd.conf -> Apache top/apache/conf/ jserv.conf -> Apache top/jserv/etc/ jserv.properties -> Apache top/jserv/etc zone.properties -> Apache top/jserv/etc/ oracle_apache.conf -> Apache top/apache/conf/ plsql.conf -> Apache/modplsql/cfg oprocmgr.conf -> Apache top/apache/conf/ wdbsvr.app -> Apache top/modplsql/cfg/ ( in this file the apps password is hardcoded).

IMPORTANT FILES/DIRECTIORIES IN IAS DIRECTORY: We have to keep some concentration on these directories in IAS_ORACLE_HOME SID_Hostname.env, Apache, and network. Env file is to set environment variable to iAS_ORACLE_HOME (During iAS patching)

Apache directory: Apache is main directory where youre most web server configuration Sit. The Important Files / dir under this directory are 1) Apache 2) Jserv and 3) modplsql Mod_jserv related stuff goes in Jserv directory (it caters requesters like Self Service, Servlets, jsp pages), see the below screen Mod_plsql related stuff goes in modplsql directory (it caters requesters like anything after /pls/ i.e., executing packages & procedures in DB). Under iAS/Apache/Apache important directory/files is bin (apachectl, httpd), conf (httpd.conf, httpd_pls.conf, oracle_apache.conf), logs (access_log, access_log_pls, error_log, error_log_pls, httpd.pid, httpd_pls.pid) Under iAS/Apache/Jserv files you want to know are etc (all configuration files), logs (jvm, mod_jserv.log)

Under iAS/Apache/modplsql its cache (cookie, plsql), cfg (wdbsvr.app, *.conf)

MOD_JSERV Mod_jserv related stuff goes in Jserv directory (it caters requester like Self Service, Servlets, jsp pages), see the below screen

mod_jserv is controlled by directives in jserv.conf. ApJServManual, ApJServLogFile ApJServLogLevel ApJServGroup Ex: ApJServGroup OACoreGroup 4 1 //product/iAS/Apache/Jserv/etc/jserv.properties

Jserv is controled by jserv.properties.

Port, log=[true,false] Heapsize ( -Xmx, -Xms ) JTFDBCFILE LONG_RUNNING_JVM DCACHEMODE

Java Caching Framework

MOD_PLSQL: Mod_plsql(PHP) related stuff goes in modplsql directory (it caters requesters like anything after /pls/ i.e., executing packages & procedures in DB). The following scenario provides overviews of what steps occur when a server receives a plsql related client request

Main Configurations Files and Directives (Apache PL/SQL (PHP)

1)The Oracle HTTP Server receives a PL/SQL Server Page request from a client browser. 2)The Oracle HTTP Server routes the request to mod_plsql.

3)The request is forwarded by mod_plsql to the Oracle Database. By using the configuration information stored in your Database Access Descriptor DAD(wbdsvr.app), mod_plsql connects to the database. 4)mod_plsql prepares the call parameters, and invokes the PL/SQL procedure in the application. 5)The PL/SQL procedure generates an HTML page using data and the PL/SQL Web Toolkit accessed from the database. 6)The response is returned to mod_plsql. 7)The Oracle HTTP Server sends the response to the client browser EXPLANATION OF SOME IMPORTANT CONFIGURATION FILES in 11i:httpd.conf ->This is main Apache configuration file. From this configuration file it identify port definitions, memory settings, loggin levels, log file locations and other configuration options and files. Port=web_cache_port: Specifies the Oracle Application Server Web Cache listening ports Listen=Oracle_HTTP_Server_port: Specifies the HTTP and HTTPS ports obtained by Oracle HTTP Server. jserv.conf -> Oracle HTTP Server includes a Java Virtual Machine (JVM), which is called JServ. jserv.conf and jserv.properties are the key configuration files for Jserv All our Self Service servlets requests are via mod_jserv like discoverer view, xml services or OAM login (So you know now where to look if issue happens in these services) If your Form Server is in servlet Mode then Core Applications are also accessed via Web Server (Jserv Component) This file calls few properties files like jserv.properties, zone properties, viewer4i.properties, forms.properties, xmlsvcs.properties. This file calls other configuration files like plsql.conf,

immeting.conf, apps.conf. oprocmgr.conf ->(in Apache/conf) This Oracle module provides process management and load balancing services to JServ processes This module starts, stops, and detects death of processes (starting new processes to replace them), and provides load balancing services to the processes oracle_apache.conf -> This configuration file is used to configure Oracle built modules supplied with default Apache like mod_pls, mod_ossl, oem, imeeting. These files are used for mod_pls configuration. Plsql.conf ->This file is used to configure pls (Plsql). This file defines to forward all requests like /pls/ to dedicated apache listener. mod_plsql is an Oracle HTTP Server plug-in that communicates with the database. It maps browser requests into database stored procedure calls over a SQL*Net connection. It is often indicated by a /pls/ virtual path. wdbsvr.app ->Which in my views is named so after Web Database Server for Applications. This file contains your dad (database Access Descriptor) information like database connection description & apps user name & password. If you are changing apps password you use utility FNDCPASS and after changing password you have to manually change apps password in this file.