

# Oracle APEX 및 Oracle Rest Data Services(ORDS) 설정
<a name="Appendix.Oracle.Options.APEX.settingUp"></a>

다음 주제에서는 Oracle APEX 및 ORDS를 설정하는 데 필요한 단계를 나열합니다.

**Topics**
+ [DB 인스턴스에 APEX 및 APEX-DEV 옵션 추가](#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 Listener 설정](#Appendix.Oracle.Options.APEX.Listener)

## DB 인스턴스에 APEX 및 APEX-DEV 옵션 추가
<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` 옵션이 설치되면 `APEX_MAIL`을 사용할 수 있습니다. `APEX_MAIL` 패키지에 대한 실행 권한은 `PUBLIC`에 부여되므로 APEX 관리자 계정이 없어도 사용할 수 있습니다.

**DB 인스턴스에 APEX 및 APEX-DEV 옵션을 추가하는 방법**

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 버전을 선택합니다.
**중요**  
하나 이상의 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 서비스를 구성하려면(Oracle 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 인스턴스, 회사의 온프레미스 서버 또는 사용자의 데스크톱 컴퓨터와 같은 별도의 호스트에 ORDS를 설치합니다. 이 섹션의 예제에서는 호스트가 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의 Oracle APEX 설치 파일을 `/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 REST Data Services 파일을 Oracle에서 `/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 Listener 설정
<a name="Appendix.Oracle.Options.APEX.Listener"></a>

**참고**  
Oracle APEX Listener는 더 이상 사용되지 않습니다.

Amazon RDS for Oracle은 Oracle APEX 버전 4.1.1 및 Oracle APEX Listener 버전 1.1.4를 계속 지원합니다. 지원되는 최신 버전의 Oracle APEX 및 ORDS를 사용하는 것이 좋습니다.

Amazon EC2 인스턴스, 회사의 온프레미스 서버 또는 사용자의 데스크톱 컴퓨터와 같은 별도의 호스트에 Oracle APEX Listener를 설치합니다. 여기에서는 호스트의 이름이 `myapexhost.example.com`이고 이 호스트에서 Linux를 실행 중이라고 가정합니다.

### Oracle APEX Listener 설치 준비
<a name="Appendix.Oracle.Options.APEX.Listener.preparing"></a>

Oracle APEX Listener를 설치하려면 먼저 권한 없는 OS 사용자를 생성한 다음, Oracle APEX 설치 파일을 다운로드하여 압축을 풀어야 합니다.

**Oracle APEX Listener 설치를 준비하려면**

1. `myapexhost.example.com`에 `root`로 로그인합니다.

1. 리스너 설치를 소유할 권한 없는 OS 사용자를 생성합니다. 다음 명령은 *apexuser*라는 새 사용자를 생성합니다.

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

   다음 명령은 새로운 사용자에게 암호를 할당합니다.

   ```
   passwd apexuser;
   ```

1. `myapexhost.example.com`에 `apexuser`로 로그인하고, Oracle의 Oracle APEX 설치 파일을 `/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 APEX 리스너 파일을 `/home/apexuser` 디렉터리에 다운로드합니다.

#### Oracle APEX Listener 설치 및 구성
<a name="Appendix.Oracle.Options.APEX.Listener.installing"></a>

Oracle APEX를 사용하기 전에 `apex.war` 파일을 다운로드하고 Java를 사용하여 Oracle APEX Listener를 설치한 다음 리스너를 시작해야 합니다.

**Oracle APEX Listener를 설치하고 구성하려면**

1. Oracle APEX Listener를 기반으로 새 디렉터리를 생성하고 리스너 파일을 엽니다.

   다음 코드를 실행합니다.

   ```
   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 관리자 이름. 기본값은 *adminlistener*입니다.
   + APEX Listener 관리자의 암호 
   + APEX Listener Manger의 사용자 이름입니다. 기본값은 *managerlistener*입니다.
   + APEX Listener 관리자의 암호 

   다음과 같이 구성을 완료하는 데 필요한 URL이 인쇄됩니다.

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

1. Oracle Application Express를 사용할 수 있도록 Oracle APEX Listener를 계속 실행합니다. 이 구성 절차를 마치면 Listener를 백그라운드에서 실행할 수 있습니다.

1. 웹 브라우저에서 Oracle APEX Listener 프로그램에 제공된 URL로 이동합니다. Oracle Application Express Listener 관리 창이 나타납니다. 다음 정보를 입력합니다.
   + **Username(사용자 이름**)`APEX_PUBLIC_USER` – 
   + **Password(암호)** – *APEX\$1PUBLIC\$1USER*에 대한 암호입니다. 앞에서 Oracle APEX 리포지토리를 구성할 때 지정한 암호입니다. 자세한 내용은 [DB 인스턴스의 퍼블릭 사용자 계정 잠금 해제](#Appendix.Oracle.Options.APEX.PublicUser) 섹션을 참조하세요.
   + **Connection Type(연결 유형)** – 기본 
   + **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` 사용자용 새 암호를 설정합니다.

이제 리스너를 사용할 준비가 끝났습니다.