

# Oracle APEX と Oracle Rest Data Services (ORDS) のセットアップ
<a name="Appendix.Oracle.Options.APEX.settingUp"></a>

次のトピックでは、Oracle APEX と ORDS のセットアップに必要な手順を示します。

**Topics**
+ [

## APEX および APEX-DEV オプションの DB インスタンスへの追加
](#Appendix.Oracle.Options.APEX.Add)
+ [

## DB インスタンスのパブリックユーザーアカウントのロック解除
](#Appendix.Oracle.Options.APEX.PublicUser)
+ [

## Oracle APEX の RESTful サービスの設定
](#Appendix.Oracle.Options.APEX.ConfigureRESTful)
+ [

## ORDS を別のホストにインストールする準備
](#Appendix.Oracle.Options.APEX.ORDS.ords-setup)
+ [

## Oracle APEX リスナーの設定
](#Appendix.Oracle.Options.APEX.Listener)

## APEX および APEX-DEV オプションの DB インスタンスへの追加
<a name="Appendix.Oracle.Options.APEX.Add"></a>

RDS for Oracle DB インスタンスに `APEX` および `APEX-DEV` オプションを追加するには、次の手順を実行します。

1. 新しいオプショングループを作成するか、既存のオプショングループをコピーまたは変更します。

1. オプショングループに `APEX` と `APEX-DEV` オプションを追加します。

1. オプショングループを DB インスタンスに関連付けます。

`APEX` オプションと `APEX-DEV` オプションを追加すると、DB インスタンスが自動的に再起動する間に短時間の停止が発生します。

**注記**  
`APEX_MAIL` は、`APEX` オプションがインストールされている場合に使用できます。`APEX_MAIL` パッケージの実行権限が `PUBLIC` に付与されるため、APEX 管理者アカウントを使用する必要はありません。

**APEX オプションと APEX-DEV オプションを DB インスタンスに追加するには**

1. 使用するオプショングループを決定します。新しいオプショングループを作成することも、既存のオプショングループを使用することもできます。既存のオプショングループを使用する場合は、次のステップは飛ばしてください。または、次の設定でカスタム DB オプショングループを作成します。

   1. [**Engine**] で、使用する Oracle のエディションを選択します。`APEX` オプションと `APEX-DEV` オプションは、すべてのエディションでサポートされます。

   1. [**メジャーエンジンのバージョン**] で、DB インスタンスのバージョンを選択します。

   詳細については、「[オプショングループを作成する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create)」を参照してください。

1. オプショングループにオプションを追加します。Oracle APEX ランタイム環境のみをデプロイする場合には、`APEX` オプションのみを追加します。完全なデプロイ環境をデプロイするには、`APEX` と `APEX-DEV` の両方のオプションを追加します。

   **[バージョン]** で、使用する Oracle APEX のバージョンを選択します。
**重要**  
1 つ以上の DB インスタンスに既にアタッチされている既存のオプショングループに `APEX` オプションまたは `APEX-DEV` オプションを追加すると、短時間の停止が発生します。この停止の間、すべての DB インスタンスが自動的に再起動されます。

   オプションの追加方法の詳細については、「[オプショングループにオプションを追加する](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)」を参照してください。

1. 新規または既存の DB インスタンスに、DB オプショングループを適用します。
   + 新規 DB インスタンスの場合は、インスタンスを起動するときにオプショングループを適用します。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。
   + 既存の DB インスタンスの場合は、インスタンスを修正し、新しいオプショングループを添付することで、オプショングループを適用します。既存の DB インスタンスに `APEX` オプションまたは `APEX-DEV` オプションを追加すると、DB インスタンスが自動的に再起動する間に短時間の停止が発生します。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

## DB インスタンスのパブリックユーザーアカウントのロック解除
<a name="Appendix.Oracle.Options.APEX.PublicUser"></a>

`APEX` オプションまたは `APEX-DEV` オプションを DB インスタンスにインストールしたら、次の操作を必ず実行してください。

1. `APEX_PUBLIC_USER` アカウントのパスワードを変更します。

1. アカウントのロックを解除します。

Oracle SQL\$1Plus コマンドラインユーティリティを使用してこれを行うことができます。DB インスタンスにマスターユーザーとして接続し、次のコマンドを発行します。`new_password` を任意のパスワードに置き換えます。

```
1. ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;
2. ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
```

## Oracle APEX の RESTful サービスの設定
<a name="Appendix.Oracle.Options.APEX.ConfigureRESTful"></a>

Oracle APEX で RESTful サービスを設定するには (APEX 4.1.1.V1 では必要ありません)、SQL\$1Plus を使用して、マスターユーザーとして DB インスタンスに接続します。接続したら、`rdsadmin.rdsadmin_run_apex_rest_config` ストアドプロシージャを実行します。ストアドプロシージャを実行するときは、次のユーザーにパスワードを提供します。
+ `APEX_LISTENER`
+ `APEX_REST_PUBLIC_USER`

ストアドプロシージャは `apex_rest_config.sql` スクリプトを実行し、そのスクリプトによりそれらのユーザーの新しいデータベースアカウントが作成されます。

**注記**  
Oracle APEX バージョン 4.1.1.v1 に対する設定は不要です。この Oracle APEX バージョンに限り、ストアドプロシージャの実行は不要です。

次のコマンドはストアドプロシージャを実行します。

```
1. EXEC rdsadmin.rdsadmin_run_apex_rest_config('apex_listener_password', 'apex_rest_public_user_password');
```

## ORDS を別のホストにインストールする準備
<a name="Appendix.Oracle.Options.APEX.ORDS.ords-setup"></a>

別個のホスト (Amazon EC2 インスタンス、社内のオンプレミスサーバー、またはデスクトップコンピュータなど) にインストールします。このセクションの例では、ホストが Linux を実行し、`myapexhost.example.com` という名前が付けられていることを前提としています。

ORDS をインストールする前に、権限のない OS ユーザーを作成し、Oracle APEX インストールファイルをダウンロードして解凍する必要があります。

**ORDS のインストールを準備するには**

1. `myapexhost.example.com` として `root` にログインします。

1. リスナーのインストールを所有する権限を持っていない OS ユーザーを作成します。以下のコマンドでは、*apexuser* という名前の新規ユーザーを作成します。

   ```
   useradd -d /home/apexuser apexuser
   ```

   以下のコマンドは、新規ユーザーにパスワードを割り当てます。

   ```
   passwd apexuser;
   ```

1. `myapexhost.example.com` に `apexuser` としてログインし、Oracle APEX のインストールファイルを Oracle から `/home/apexuser` ディレクトリにダウンロードします。
   + [http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Oracle Application Express Prior Release Archives](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. ファイルを `/home/apexuser` ディレクトリに解凍します。

   ```
   unzip apex_version.zip
   ```

   ファイルは、`apex` ディレクトリ内に `/home/apexuser` ディレクトリとして解凍されます。

1. `myapexhost.example.com` に `apexuser` としてログインしている間に Oracle から Oracle REST Data Services ファイルを `/home/apexuser` ディレクトリにダウンロードします。[http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html)

## Oracle APEX リスナーの設定
<a name="Appendix.Oracle.Options.APEX.Listener"></a>

**注記**  
Oracle APEX リスナーは非推奨です。

Amazon RDS for Oracle は、引き続き Oracle APEX バージョン 4.1.1 および Oracle APEX リスナーバージョン 1.1.4 をサポートします。サポートされている最新バージョンの Oracle APEX および ORDS を使用することをお勧めします。

Oracle APEX Listener は別個のホストにインストールします (Amazon EC2 インスタンス、社内のオンプレミスサーバー、またはデスクトップコンピュータ)。ここでは、ホスト名が `myapexhost.example.com` であり、ホストで Linux が実行されていることが前提です。

### Oracle APEX リスナーのインストールの準備
<a name="Appendix.Oracle.Options.APEX.Listener.preparing"></a>

Oracle APEX リスナーをインストールする前に、権限のない OS ユーザーを作成し、Oracle APEX インストールファイルをダウンロードして解凍する必要があります。

**Oracle APEX リスナーのインストールを準備するには**

1. `myapexhost.example.com` として `root` にログインします。

1. リスナーのインストールを所有する権限を持っていない OS ユーザーを作成します。以下のコマンドでは、*apexuser* という名前の新規ユーザーを作成します。

   ```
   useradd -d /home/apexuser apexuser
   ```

   以下のコマンドは、新規ユーザーにパスワードを割り当てます。

   ```
   passwd apexuser;
   ```

1. `myapexhost.example.com` に `apexuser` としてログインし、Oracle APEX のインストールファイルを Oracle から `/home/apexuser` ディレクトリにダウンロードします。
   + [http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Oracle Application Express Prior Release Archives](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. ファイルを `/home/apexuser` ディレクトリに解凍します。

   ```
   unzip apex_<version>.zip                
   ```

   ファイルは、`apex` ディレクトリ内に `/home/apexuser` ディレクトリとして解凍されます。

1. `myapexhost.example.com` に `apexuser` としてログインしている間に、Oracle APEX Listener ファイルを Oracle から `/home/apexuser` ディレクトリにダウンロードします。

#### Oracle APEX リスナーのインストールと設定
<a name="Appendix.Oracle.Options.APEX.Listener.installing"></a>

Oracle APEX を使用する前に、`apex.war` ファイルをダウンロードし、Java を使用して Oracle APEX リスナーをインストールしてから、リスナーを起動する必要があります。

**Oracle APEX リスナーをインストールして設定するには**

1. Oracle APEX リスナーに基づいて新しいディレクトリを作成し、リスナーファイルを開きます。

   以下のコードを実行します。

   ```
   mkdir /home/apexuser/apexlistener
   cd /home/apexuser/apexlistener 
   unzip ../apex_listener.version.zip
   ```

1. 以下の コードを実行します。

   ```
   java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
   ```

1. 次のプログラムプロンプトの情報を入力します。
   + APEX Listener Administrator のユーザー名。デフォルト値は *adminlistener* です。
   + APEX Listener Administrator のパスワード。
   + APEX リスナーマネージャのユーザー名。デフォルトは *managerlistener* です。
   + APEX Listener Administrator のパスワード。

   プログラムは、次のように設定を完了するために必要な URL を出力します。

   ```
   INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure
   Database is not yet configured
   ```

1. Oracle Application Express を使用できるように、Oracle APEX リスナーを実行したままにします。この設定手順を完了したら、リスナーをバックグラウンドで実行できます。

1. ウェブブラウザから、Oracle APEX リスナープログラムが提供する URL にアクセスします。Oracle Application Express Listener の管理ウィンドウが表示されます。次の情報を入力します。
   + **Username** - `APEX_PUBLIC_USER`
   + **[Password]** - *APEX\$1PUBLIC\$1USER* のパスワード このパスワードは、以前に Oracle APEX リポジトリの設定時に指定したパスワードです。詳細については、「[DB インスタンスのパブリックユーザーアカウントのロック解除](#Appendix.Oracle.Options.APEX.PublicUser)」を参照してください。
   + **Connection Type** - Basic 
   + **Hostname** - Amazon RDS DB インスタンスのエンドポイント。`mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com` など。
   + **[Port**] - 1521
   + **SID** - Amazon RDS DB インスタンスのデータベースの名前。`mydb` など。

1. [**Apply**] を選択します。Oracle APEX の管理ウィンドウが表示されます。

1. Oracle APEX の `admin` ユーザーのパスワードを設定します。これを行うには、SQL\$1Plus を使用して DB インスタンスにマスターユーザーとして接続し、次のコマンドを実行します。

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   `master` を自身のマスターユーザー名に置き換えます。`apxchpwd.sql` スクリプトによってプロンプトが表示されたら、新しい `admin` パスワードを入力します。

1. ブラウザで Oracle APEX の管理ウィンドウに戻り、**[管理]** を選択します。次に、[**Application Express Internal Administration**] を選択します。認証情報を求められたら、以下の情報を入力します。
   + **User name** - `admin` 
   + **Password** - `apxchpwd.sql` スクリプトを使用して設定したパスワード。

   [**Login**] を選択し、その `admin` ユーザーの新しいパスワードを設定します。

これで、リスナーを使用する準備ができました。