2022年11月22日火曜日

Oracle APEXの環境作成(5) - APEXのインストール

作成したオラクル・データベースにOracle APEXをインストールします。

Oracle APEXのインストール


Oracle APEXのインストール・メディアをダウンロードするページを開きます。ダウンロードできる最新のOracle APEXのバージョンを確認します。
https://www.oracle.com/tools/downloads/apex-downloads.html

2024年6月18日現在、24.1が最新のバージョンです。


Oracle APEXのメディアも、仮想マシンより取得できます。Use this link for the latest version updateのリンクをcurlコマンドを使ってダウンロードします。
https://download.oracle.com/otn_software/apex/apex-latest.zip

オラクル・データベースのRPMをインストールすると、ユーザーoracleとグループoinstallが作成されます。Oracle APEXのインストールはユーザーoracleにて実行します。

su - oracle

[root@localhost ~]# su - oracle

Last login: Tue Jun 18 12:54:30 JST 2024

[oracle@localhost ~]$ 


Oracle APEXのインストールに使用するZIPファイルを取得します。作業はユーザーoracleのホーム・ディレクトリ/home/oracleで行います。

curl -OL https://download.oracle.com/otn_software/apex/apex-latest.zip

[oracle@localhost ~]$ curl -OL https://download.oracle.com/otn_software/apex/apex-latest.zip

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  276M  100  276M    0     0  9794k      0  0:00:28  0:00:28 --:--:-- 10.1M

[oracle@localhost ~]$ 


ダウンロードされたapex-latest.zipunzipします。apexというディレクトリ以下にzipファイルの内容が展開されます。

unzip apex-latest.zip

[oracle@localhost ~]$ unzip apex-latest.zip 

Archive:  apex-latest.zip

  inflating: META-INF/MANIFEST.MF    

  inflating: META-INF/ORACLE_C.SF    

  inflating: META-INF/ORACLE_C.RSA   

   creating: apex/

  inflating: apex/LICENSE.txt        

  inflating: apex/apex_rest_config.sql  

  inflating: apex/apex_rest_config_cdb.sql  

  inflating: apex/apex_rest_config_core.sql  

  inflating: apex/apex_rest_config_nocdb.sql  

  inflating: apex/apexins.sql        

  inflating: apex/apexins1.sql       

  inflating: apex/apexins2.sql       

   

[中略]


  inflating: apex/images/wwv_user_quick.gif  

  inflating: apex/images/yellow.gif  

 extracting: apex/images/yellow_flag.gif  

 extracting: apex/images/yes.gif     

 extracting: apex/images/apex_version.txt  

 extracting: apex/images/apex_version.js  

[oracle@localhost ~]$ 


ダウンロードしたメディアのAPEXのバージョンを確認します。images以下のapex_version.txtの内容を表示します。

cat apex/images/apex_version.txt

[oracle@localhost ~]$ cat apex/images/apex_version.txt 

Oracle APEX Version:  24.1

[oracle@localhost ~]$ 


APEXのアプリケーションが必要とする静的ファイルを/i/24.1.0にコピーします。24.1.0の部分はインストールするAPEXのバージョンによって変わります。

mkdir i
cp -r -p apex/images i/24.1.0

[oracle@localhost ~]$ mkdir i

[oracle@localhost ~]$ cp -r -p apex/images i/24.1.0

[oracle@localhost ~]$ 


これらのファイルをCDNから取得するようにOracle APEXを構成する場合は、/i/24.1.0の作成は必要ではありません。

作成されたディレクトリapexへ移動します。

cd apex

[oracle@localhost ~]$ cd apex

[oracle@localhost apex]$ 


ユーザーsysでPDB、FREEPDB1に接続し、Oracle APEXのインストール・スクリプトapexins.sqlを実行します。インストール・スクリプトに与える引数はSYSAUX SYSAUX TEMP /i/24.1.0/です。APEXのインストール先となる表領域として標準で作成されているSYSAUXを指定しています。一時表領域としてTEMPを使い、イメージのパスには複数のAPEXのバージョンを同時にホストできるように、バージョン番号を加えて/i/24.1.0/としています。

NLS_LANGとして、必ずAmerican_America.AL32UTF8を設定します。

export NLS_LANG=American_America.AL32UTF8
. oraenv
ORACLE_SID = [oracle] ? FREE
sqlplus sys/*******@localhost/freepdb1 as sysdba
@apexins SYSAUX SYSAUX TEMP /i/24.1.0/

[oracle@localhost apex]$ export NLS_LANG=American_America.AL32UTF8

[oracle@localhost apex]$ . oraenv

ORACLE_SID = [oracle] ? FREE

The Oracle base has been set to /opt/oracle

[oracle@localhost apex]$ sqlplus sys/********@localhost/freepdb1 as sysdba


SQL*Plus: Release 23.0.0.0.0 - Production on Tue Jun 18 13:16:28 2024

Version 23.4.0.24.05


Copyright (c) 1982, 2024, Oracle.  All rights reserved.



Connected to:

Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

Version 23.4.0.24.05


SQL> @apexins SYSAUX SYSAUX TEMP /i/24.1.0/

...set_appun.sql


PL/SQL procedure successfully completed.














...set_ufrom_and_upgrade.sql


PL/SQL procedure successfully completed.







Session altered.



FOO3

------------------------------

install2024-06-18_13-17-05.log


. ORACLE

.

. Oracle APEX Installation.

..........................................


[中略]

The structure of the link to the Oracle APEX development interface is as follows:

http://host:port/ords



timing for: Phase 3 (Switch)

Elapsed:    0.28



timing for: Complete Installation

Elapsed:    7.10


SYS> 


apexins.sqlの終了後、続けて日本語リソースを導入します。load_trans.sqlに引数としてJAPANESEを与えて実行します。

@load_trans JAPANESE

SYS> @load_trans JAPANESE


PL/SQL procedure successfully completed.


Installing Oracle APEX translation - JAPANESE


. ORACLE

.

. Oracle APEX Hosted Development Service Installation.

..............................................................


PL/SQL procedure successfully completed.



PL/SQL procedure successfully completed.


--application/set_environment

API Last Extended:20240531

Your Current Version:20240531

This import is compatible with version: 20240531

COMPATIBLE (You should be able to run this import without issues.)

ID offset during import: 0

New ID offset for application: 0


[中略]


--application/pages/page_00203

--application/pages/page_00204

--application/pages/page_00205

--application/pages/page_00206

--application/deployment/definition

--application/deployment/checks

--application/deployment/buildoptions

--application/end_environment

... elapsed: 5.17 sec

...done

Adjust instance settings


PL/SQL procedure successfully completed.


SYS>


APEXの管理ユーザーの設定を行います。apxchpwd.sqlを実行します。設定するパスワードは以下のルールに従う必要があります。
  • 少なくても1文字の数値を含む。(0123456789)
  • 少なくても1文字の記号を含む。(!"#$%&()``*+,-/:;?_)
  • 少なくても1文字の大文字を含む。
@apxchpwd

SYS> @apxchpwd

...set_appun.sql

================================================================================

This script can be used to change the password of an Oracle APEX

instance administrator. If the user does not yet exist, a user record will be

created.

================================================================================

Enter the administrator's username [ADMIN] 

User "ADMIN" does not yet exist and will be created.

Enter ADMIN's email [ADMIN] 

Enter ADMIN's password [] ********

Created instance administrator ADMIN.


SYS> 


データベース・ユーザーAPEX_PUBLIC_USERアンロックします。パスワードの設定は不要です。

set feedback on
alter user apex_public_user no authentication account unlock;

SQL> set feedback on

SQL> alter user apex_public_user no authentication account unlock;


User altered.


SQL> 


プロシージャAPEX_WEB_SERVICE.MAKE_REST_REQUESTを呼び出してHTTPのコールアウトができるように、スキーマAPEX_240100にネットワークACLによる許可を追加します。
begin
    dbms_network_acl_admin.append_host_ace(
        host => '*',
        ace => xs$ace_type(
            privilege_list => xs$name_list('connect'),
            principal_name => 'APEX_240100',
            principal_type => xs_acl.ptype_db
        )
     );
     commit;
end;
/

SQL> begin

    dbms_network_acl_admin.append_host_ace(

        host => '*',

        ace => xs$ace_type(

            privilege_list => xs$name_list('connect'),

            principal_name => 'APEX_240100',

            principal_type => xs_acl.ptype_db

        )

     );

     commit;

end;

/  2    3    4    5    6    7    8    9   10   11   12  


PL/SQL procedure successfully completed.


SQL> 


以上でOracle APEXのデータベースへのインストールは完了です。sqlplusよりexitします。

exit

SYS> exit

Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

Version 23.4.0.24.05

[oracle@localhost apex]$ 


ダウンロードしたAPEXのZIPファイルを削除します。

cd
rm apex-latest.zip

[oracle@localhost apex]$ cd

[oracle@localhost ~]$ rm apex-latest.zip 

[oracle@localhost ~]$ 


この後にOracle REST Data Servicesをインストールすることにより、Oracle APEXを利用できるようになります。

続く