Oracle Apex - How to install the version 3.1 on Windows with the HTTP Companion Workflow Middle Tier

About

Installation steps of Apex

Environnement

Installation

You can find the main documentation for the installation in the paragraph Downloading from OTN and Configuring Oracle HTTP Server from the “Oracle® Application Express Installation Guide Release 3.1.2”. This section describes how to install Oracle Application Express by downloading a ZIP file from OTN and then configuring Oracle HTTP Server with mod_plsql distributed with Oracle Database 11g or Oracle Application Server 10g.

In our case, we are going to install Apex in the Oracle Workflow middle tier components because :

  • we use it already to master the OWB Workflow
  • it is also an Oracle HTTP Server with mod_plsql

To install Oracle Application Express:

Note that the actual file name may differ if a more recent release has shipped since this document was published.

  • Unzip apex_3.1.zip
  • In a command dos, change your working directory to the unzipped apex directory (APEX_HOME)
  • Installation of Oracle Application Express in a development environnement (Note : You can also install a runtime environment, see the documentation for more details).
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
@apexins SYSAUX SYSAUX TEMP /i/ 
  • Change the password for the admin account, launch this command and tape the new password
   @apxchpwd
  • Unlock and changing the Password for the APEX_PUBLIC_USER Account
  ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; 
  ALTER USER APEX_PUBLIC_USER IDENTIFIED BY NewPassword;

* Copying the Images Directory

 xcopy /E /I APEX_HOME\apex\images ORACLE_HTTPSERVER_HOME\Apache\apex_images

The oracle ORACLE_HTTPSERVER_HOME is the home directory of the installation of the Oracle Workflow middle tier components. In my case : E:\oracle\product\10.2.0\companion_1

* Configuration of the HTTP Server.

Oracle HTTP Server uses the mod_plsql plug-in to communicate with the Oracle Application Express engine within the Oracle database. It functions as communication broker between the Web server and the Oracle Application Express objects in the Oracle database. More specifically, it maps browser requests into database stored procedure calls over a SQL*Net connection. The following graphic illustrates the Oracle Application Express architecture using Oracle HTTP Server and mod_plsql.

You must for this modify the file dads.conf which is in the directory : ORACLE_HTTPSERVER_HOME\modplsql\conf\dads.conf

In the dads.conf file, replace ORACLE_HTTPSERVER_HOME, host, port, service_name, and apex_public_user_password with values appropriate for your environment. Note that the apex_public_user_password is the password you changed in “Changing the Password for the APEX_PUBLIC_USER Account”. Note that the path listed is only an example. The path in the dads.conf file should reference the file system path described in “Copying the Images Directory”.

Alias /i/ "ORACLE_HTTPSERVER_HOME/apex/images/"
AddType text/xml       xbl
AddType text/x-component       htc

<Location /pls/apex>
 Order deny,allow
 PlsqlDocumentPath docs
 AllowOverride None
 PlsqlDocumentProcedure         wwv_flow_file_mgr.process_downloadd
 PlsqlDatabaseConnectString     host:port:service_name ServiceNameFormat
 PlsqlNLSLanguage               AMERICAN_AMERICA.AL32UTF8
 PlsqlAuthenticationMode        Basic
 SetHandler                     pls_handler
 PlsqlDocumentTablename         wwv_flow_file_objects$
 PlsqlDatabaseUsername          APEX_PUBLIC_USER
 PlsqlDefaultPage               apex
 PlsqlDatabasePassword          apex_public_user_password
 PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize
 Allow from all
</Location>

The Apex URL is in the form http://server:port/pls/apex. You can remark that the part “pls/apex” is defined in the location node of the above dads.conf <Location /pls/apex>. You gave the database, the user credential APEX_PUBLIC_USER and the default package called “wwv_flow_epg_include_modules.authorize”. You can find it in the Apex Schema.

Example :

#
#  gerardnico - Apex
#
Alias /i/ "C:/oracle/product/10.2.0/companion_1/Apache/apex_images/"
AddType text/xml               xbl
AddType text/x-component       htc

<Location /pls/apex>
 Order deny,allow
 PlsqlDocumentPath docs
 AllowOverride None
 PlsqlDocumentProcedure         wwv_flow_file_mgr.process_downloadd
 PlsqlDatabaseConnectString     localhost:1521:ORCL ServiceNameFormat
 PlsqlNLSLanguage               AMERICAN_AMERICA.AL32UTF8
 PlsqlAuthenticationMode        Basic
 SetHandler                     pls_handler
 PlsqlDocumentTablename         wwv_flow_file_objects$
 PlsqlDatabaseUsername          APEX_PUBLIC_USER
 PlsqlDefaultPage               apex
 PlsqlDatabasePassword          ApexPassword
 PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize
 Allow from all
</Location>
# End Apex
  • Restart HTTP Server
    • with the service control panel :
    • or with the command dos :
ORACLE_HTTPSERVER_HOME\opmn\bin\opmnctl stopproc ias-component=HTTP_Server
ORACLE_HTTPSERVER_HOME\opmn\bin\opmnctl startproc ias-component=HTTP_Server 
  • Modify the Job queue process parameter.

If you have installed the workflow, you don't need normally to perform this step.

SYSTEM_DRIVE:\ sqlplus /nolog 
SQL> CONNECT SYS as SYSDBA 
Enter password: SYS_password 
SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes' 
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20 

Security

In the Oracle Application Express development environment, users log in to a shared work area called a workspace. Users are divided into four primary roles:

  • Oracle Application Express administrators are superusers that manage an entire hosted instance using the Oracle Application Express Administration Services application.
  • Workspace administrators are users who perform administrator tasks specific to a workspace such as managing user accounts, monitoring workspace activity, and viewing log files.
  • Developers are users who create and edit applications. Developers can have their own workspace or share a workspace.
  • End users have no development privileges. You define end users so that they can access applications that do not use an external authentication scheme.

How to access to Apex ?

First, you must go to the administration environment to create a workspace (or repository) :

With the user “apex” and the administrator password

Once, you have create a repository, you can start to create your application :


Powered by ComboStrap