カタカタブログ

SIerで働くITエンジニアがカタカタした記録を残す技術ブログ。Java, Oracle Database, Linuxが中心です。たまに数学やデータ分析なども。

Oracle Application Express(APEX 4.2.4) インストール手順

以前インストールしたOracle DBにApexをインストールしてみた。
Apex(Oracle Application Express)とはOracle DB上で動くWebアプリケーションのことで、SQLGUI操作だけで簡単にWebアプリが作れるものである。
以下の資料が詳しいので、こちらの手順に従って実施。
http://www.oracle.com/technetwork/jp/developer-tools/apex/learnmore/apex4installguide-291992-ja.pdf

環境は前回インストールしたCent OS6.5上のDBでそのまま実施。
前提条件であるOracle DBのインスタンス作成時にXML DBを作っているので問題なし。

Apex4.2.4のインストール手順

  • 以下のURLから「Oracle Application Express 4.2.4 - All languages」のDownloadからインストーラを取得する

http://www.oracle.com/technetwork/jp/developer-tools/apex/downloads/index.htmlf:id:osn_th:20140319144746p:plain

[oracle@localhost ~]$ ls -l ~/installer/apex_4.2.4.zip
-rw-r--r--. 1 oracle oinstall 155075620 3月 12 14:30 2014 /home/oracle/installer/apex_4.2.4.zip
[oracle@localhost ~]$ cd ~/installer/
[oracle@localhost installer]$ unzip apex_4.2.4.zip
[oracle@localhost installer]$ cd apex
[oracle@localhost apex]$ ls
apex_epg_config.sql apexvalidate.sql apxdvins_con.sql apxpatch.sql apxrtins_con.sql devins.sql
apex_epg_config_con.sql appins.sql apxe101.sql apxprereq.sql apxsqler.sql endins.sql
apex_epg_config_core.sql apxchpwd.sql apxe102.sql apxrelod.sql apxxemig.sql images
apex_rest_config.sql apxconf.sql apxe111.sql apxremov.sql apxxepwd.sql load_trans.sql
apex_rest_config_con.sql apxdbmig.sql apxe112.sql apxremov1.sql builder owa
apex_rest_config_core.sql apxdevrm.sql apxexit.sql apxremov2.sql catapx.sql utilities
apexins.sql apxdevrm_con.sql apxldimg.sql apxremov_con.sql core
apexins_con.sql apxdvins.sql apxldimg_con.sql apxrtins.sql coreins.sql
  • DBにsysユーザでログイン
[oracle@localhost apex]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 12 14:55:20 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
  • 以下のインストールスクリプト実行(インストール完了までに50分程度かかった)
SQL> @apexins SYSAUX SYSAUX TEMP /i/
(・・・略)
timing for: Validate Installation
Elapsed: 00:00:01.88
old 1: alter session set current_schema = ^APPUN
new 1: alter session set current_schema = APEX_040200
Session altered.
timing for: Complete Installation
Elapsed: 00:42:53.71
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
1 row selected.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
  • 再度sqlplusにsysユーザで接続し、以下のコマンドを入力する。管理者パスワードの設定が求められるので、"Welcome2!"とする(大文字、小文字、数字、記号を含む必要がある)。※後続手順の初回ログイン時に変更が求められるので、そのタイミングで"Welcome1!"に変更する
SQL> @apxchpwd
Enter a value below for the password for the Application Express ADMIN user.
Enter a password for the ADMIN user []
Session altered.
...changing password for ADMIN
PL/SQL procedure successfully completed.

組込みPL/SQLゲートウェイの構成

  • apexインストーラを解凍したディレクトリの1つ上のディレクトリを確認する。この場合は、"/home/oracle/installer/"。
[oracle@localhost apex]$ pwd
/home/oracle/installer/apex
  • sqlplusでsysユーザでログインし、@apex_epg_configを引数として上で確認したディレクトリを渡して実行する(10分程度)。
SQL> @apex_epg_config /home/oracle/installer/
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
. Loading images directory: /home/oracle/installer//apex/images
Directory created.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Commit complete.
Directory dropped.
timing for: Load Images
Elapsed: 00:04:14.67
PL/SQL procedure successfully completed.
Commit complete.
  • Oracle XML Database HTTPサーバのポートを設定するため、以下のPL/SQLプロシージャを実行する。今回は7080に設定する。
SQL> exec DBMS_XDB.sethttpport(7080);
PL/SQL procedure successfully completed.
SQL> select DBMS_XDB.gethttpport from dual;
GETHTTPPORT
-----------
 7080

日本語化

  • apexディレクトリ以下のbuilder/jaに移動する
[oracle@localhost ja]$ pwd
/home/oracle/installer/apex/builder/ja
  • NLS_LANGをJapanese_Japan.AL32UTF8に設定する
[oracle@localhost ja]$ export NLS_LANG=Japanese_Japan.AL32UTF8
[oracle@localhost ja]$ echo $NLS_LANG
Japanese_Japan.AL32UTF8
  • sqlplusで接続
[oracle@localhost ja]$ sqlplus / as sysdba
SQL> alter session set current_schema = APEX_040200;
Session altered.
  • 日本語に対応した以下のスクリプトを実行する(10分程度)
SQL> @load_ja.sql
(・・・略)
...plugins
...data loading
...post import process
...done
Adjust instance settings
PL/SQL procedure successfully completed.
  • サーバのファイルウォールを設定し、7080ポートを開ける
  • 以下のURLにアクセスし、APEXのログイン画面が開くことを確認http://<HOST>:7080/apex/apex_admin

※ここでベーシック認証がXDBサーバから求められてログインできなかった。

ユーザー名とパスワードが必要です。サーバーからのメッセージ: XDB

f:id:osn_th:20140319144807p:plain
そこで以下のSQLでanonymousユーザアカウントをアンロックした。

SQL> alter user anonymous account unlock;
User altered.

この後に再びアクセスすると、以下のようにベーシック認証は求められず、APEX管理者画面のトップページが表示された。f:id:osn_th:20140319144759p:plain

  • admin / Welcome2! (上で設定したパスワード)でログインできることを確認。なお、ログイン直後は以下のようにパスワード変更が求められるので、Welcome1!とする。

f:id:osn_th:20140319144750p:plain

  • Password Changedの画面でReturn
  • 以下から、INTERNALワークスペースのAPEX開発者画面に admin / Welcome1! でログイン(「日本語」を選択できる)

http://<HOST>:7080/apex/
f:id:osn_th:20140319144753p:plain

  • APEX管理者画面にログインできることを確認

f:id:osn_th:20140319144804p:plain