#chiroito ’s blog

Java を中心とした趣味の技術について

Oracle Application Express 5.1 のインストール

Oracle Application Express (APEX) は、Webブラウザだけでアプリケーションが開発できる無償のツールです。アプリケーション開発者はセキュリティ、認証、データベース連携、入力検証、セッション管理等を気にせず開発できます。作成したアプリケーションはエクスポートして、クラウド上やオンプレ上のデータベースの一部として実行されます。

APEX は Oracle Database が無くても次の URL から無料で評価目的として使用できます。

Oracle Application Express
(手順はこちらhttps://blogs.oracle.com/oracle4engineer/entry/apex)

ここでは Oracle Database 12c 上に 最新版の APEX 5.1 をインストールします。

前提条件

  • Oracle Database 12.1.0.2.0
  • Oracle Database の SID はpdb1
  • Oracle Application Express(APEX) 5.1をインストール
  • APEXのインストール先ディレクトリは/opt/oracle
  • Oracle HTTP Server*1(OHS) は使用しない
  • Oracle REST Data Services (ORDS)は使用しない

今回の構成は次のようにOracle Database だけで構築します。 f:id:chiroito:20170227134628p:plain

以下のように、ユーザとDatabase の間に OHS を挟む構成ではありません。

f:id:chiroito:20170227134951p:plain

事前確認

Database を起動しているOSで APEX を 8080 ポートで起動するため、このポートが使用されていないか netstatコマンドで確認します。使われていなければ何も表示されません。

> netstat -tln | grep 8080

netstat コマンドが次のように表示された場合には、このポートを使用しているプロセスを特定します。このプロセスを使わないようにするか、APEX を 8080 ではないポートで起動するようにしましょう。

> netstat -tln | grep 8080
tcp    0    0    0.0.0.0:8080    0.0.0.0:*   LISTEN

> lsof -i tcp:8080
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    1116 root    3u  IPv4  19699      0t0  TCP *:8080 (LISTEN)

APEX のインストール

次の URL から Oracle Application Express 5.1 - All languages の zip ファイル(apex_5.1.zip)をダウンロードします。

Oracle Application Express - Downloads

> cd /opt/oracle
> unzip apex_5.1.zip
> cd /opt/oracle/apex
> ls
(多数のSQLファイルやimagesディレクトリなどが出力される)

インストール先となる Database サーバへ管理者権限のあるユーザで接続しましょう。Pluggable Database の場合は接続後にコンテナを指定します。コンテナ名が分からない場合は show pdbs;を実行すると全てのコンテナが出力されます。

> sqlplus / AS SYSDBA
SQL> alter session set container = pdb1;

接続した後は、/opt/oracle/apexにある SQL ファイルを読込みましょう。今回は専用の表領域を作成します。

SQL> CREATE TABLESPACE APEX DATAFILE SIZE 100M AUTOEXTEND ON NEXT 1M;
SQL> @apexins.sql APEX APEX TEMP /i/
SQL> @apxchpwd.sql
SQL> @apex_rest_config.sql
SQL> --次のコマンドの引数のディレクトリに注意
SQL> @apex_epg_config.sql /opt/oracle
SQL> ALTER USER ANONYMOUS ACCOUNT UNLOCK;
SQL> SELECT DBMS_XDB.gethttpport FROM DUAL;

GETHTTPPORT
-----------
          0

1 row selected.

SQL> EXEC DBMS_XDB.sethttpport(8080);
SQL> SELECT DBMS_XDB.gethttpport FROM DUAL;

GETHTTPPORT
-----------
       8080

1 row selected.

ここまで作業が完了すると以下の URL で APEX へ接続できるようになります。

http://アドレス>:8080/apex

f:id:chiroito:20170227151750p:plain

*1:Apache HTTP ServerベースのWebサーバ