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 だけで構築します。
以下のように、ユーザとDatabase の間に OHS を挟む構成ではありません。
事前確認
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 へ接続できるようになります。
*1:Apache HTTP ServerベースのWebサーバ