Установка Oracle Apex в Linux

Простое руководство по установке Oracle Apex и ORDS на Linux-системы в формате Standalone.

Versiones a instalar en esta guía:
APEX 24.1
Java23
ORDS 24.4

Загрузить файлы можно по следующим ссылкам:

Загрузите необходимое программное обеспечение

1) Скачайте последнюю версию Oracle Apex, в нашем случае 24.1.
https://www.oracle.com/tools/downloads/apex-241-downloads/
Скачайте файл: Oracle APEX 24.1 - Все языки

2) Скачайте последнюю версию ORDS, в нашем случае 24.4.
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/
Наша установка будет проходить в автономном режиме.

3) Скачайте JDK версии 11 или выше. В нашем случае версия 23.
https://www.oracle.com/java/technologies/downloads/?er=221886#java23



ШАГИ, КОТОРЫЕ НЕОБХОДИМО ВЫПОЛНИТЬ ДЛЯ УСТАНОВКИ APEX

В этом посте предполагается, что у нас уже установлена база данных Oracle Database, в нашем случае Oracle 19.20 на операционной системе Red Hat Enterprise Linux 9.

1) СОЗДАЙТЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО, В КОТОРОМ БУДЕТ ПРОИСХОДИТЬ УСТАНОВКА APEX

Создадим новое табличное пространство, назовем его APEX, куда и будем выполнять установку.

SQL> CREATE BIGFILE TABLESPACE APEX DATAFILE SIZE 500M AUTOEXTEND ON next 1G MAXSIZE UNLIMITED ;
— Comprobamos que se ha instalado correctamente
SQL> select name from v$tablespace where name=’APEX’;

После загрузки ресурсов, перечисленных в начале статьи, необходимо извлечь установочные файлы Apex
и Ords в определенную папку для каждой из установок.

2) УСТАНОВКА ORACLE APEX

Переходим в папку, куда были извлечены файлы apex, где находится файл apexins.sql
Формат установки следующий:
- @apexins.sql tablespace_apex tablespace_files tablespace_temp images

SQL> @apexins.sql APEX APEX APEX APEX TEMP /i/

Через несколько минут вы получите сообщение о завершении установки.

3) СОЗДАНИЕ УЧЕТНОЙ ЗАПИСИ АДМИНИСТРАТОРА APEX

После завершения выполнения предыдущей команды запустим скрипт apxchpwd.sql, который создаст учетную запись администратора экземпляра, имя которой по умолчанию - ADMIN. В нашем случае мы оставляем пользователя ADMIN.

При выборе пароля для пользователя-администратора необходимо учитывать следующее:

* Password must contain at least one punctuation character (!»`’#$%&()[]{},.*+-/|\:;?_~).

4) РАЗБЛОКИРУЙТЕ ПУБЛИЧНОГО ПОЛЬЗОВАТЕЛЯ И УСТАНОВИТЕ ПАРОЛЬ.

Разблокируйте пользователя APEX_PUBLIC_USER и назначьте новый пароль, так как эта учетная запись создается со случайным паролем во время установки и оставляет пользователя заблокированным, поэтому его необходимо изменить, прежде чем приступать к настройкам. Этот пароль не может содержать специальных символов.

Пользователь APEX_PUBLIC_USER по умолчанию имеет профиль DEFAULT, поэтому, если вы хотите избежать истечения срока действия пароля, необходимо изменить параметр PASSWORD_LIFE_TIME. В моем случае, будучи тестовым экземпляром, я собираюсь создать новый профиль, чтобы срок действия пароля не истекал, очевидно, в производственных средах это нежелательно, и в целях безопасности лучше менять пароль каждые 180 дней, значение, установленное в профиле DEFAULT.

SQL> CREATE PROFILE «UNLIMITED_PWD_EXPIRATION» LIMIT
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
CONNECT_TIME UNLIMITED
IDLE_TIME UNLIMITED
SESSIONS_PER_USER UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
PRIVATE_SGA UNLIMITED
COMPOSITE_LIMIT UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME DEFAULT
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_LOCK_TIME 1
FAILED_LOGIN_ATTEMPTS 10;

Назначьте новый профиль пользователю APEX_PUBLIC_USER. Измените пароль и разблокируйте пользователя.

5) Конфигурирование RESTful-сервисов

В этом пункте мы настроим Oracle REST Data Services как веб-сервер, на который статические файлы будут доставляться через модуль RESTful service, интегрированный в Oracle APEX. Для этого мы должны выполнить файл apex_rest_config.sql.

Этот процесс создает две новые учетные записи базы данных, поэтому мы должны назначить пароль вновь созданным пользователям.

SQL> @apex_rest_config.sql          

PL/SQL procedure successfully completed.
.
.
.
PL/SQL procedure successfully completed.

Enter a password for the APEX_LISTENER user []
Enter a password for the APEX_REST_PUBLIC_USER user []

6) ОТКЛЮЧИТЕ Oracle XML DB Protocol Server, если он еще не отключен.

Мы отключаем сервер протокола XML, чтобы порт, который нужно настроить, не использовался.

6.1 - Мы проверяем, отключена ли она:

В противном случае мы выполним следующее:

7. ДОСТУП К БАЗЕ ДАННЫХ (ACL)

По умолчанию сетевые службы, позволяющие подключаться к пользователю базы данных, владеющему схемой APEX, отключены, поэтому вам необходимо использовать пакет DBMS_NETWORK_ACL_ADMIN для предоставления привилегий подключения этому пользователю.

Перед запуском команды вам нужно определить, какой хост вы собираетесь разрешить для подключения к APEX.

  • Если мы хотим предоставить привилегии подключения к любому узлу для собственной базы данных схемы APEX, мы используем *.
  • Если мы хотим предоставить привилегии подключения только серверам, работающим на том же хосте, что и база данных, мы будем использовать localhost

Подключившись как DBA, мы выполняем следующую команду. В нашем случае мы будем использовать *, чтобы дать разрешение на подключение к любому узлу.

SQL> BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => APEX_APPLICATION.g_flow_schema_owner,
main_type => xs_acl.ptype_db));
END;

/

Процедура PL/SQL успешно завершена.

SQL>

8) УСТАНОВКА ORACLE REST Data Service (ORDS)

Создаем каталог, в который будет производиться установка. В нашем случае /u01/ords.

unzip ords-24.4.0.345.1601.zip -d /u01/ords/

8.1) За пределами каталога ords, следуя спецификациям Oracle, мы создаем каталог config, в котором впоследствии будем указывать конфигурацию ORDS.

mkdir -p /u01/ords_install/config

8.2) Создаем папку images.

mkdir /u01/ords/images

Скопируйте все изображения из директории "images" вашей установки APEX в директорию "images" вашего ORDS.

cp -r images/ /u01/ords/

Создайте папку журнала вне каталога ords.

mkdir -p /u01/ords_install/logs

9) УСТАНОВКА JAVA

Перед началом установки ORDS необходимо, чтобы в вашей системе была установлена версия Oracle Java, требуемая версией Apex. В зависимости от версии Oracle Apex поддерживаемая версия Java меняется, для нашей версии требуется Java 11 или 17.

Мы проверяем нашу текущую версию:

[oracle@localhost ords]$ java -version
openjdk version "1.8.0_272"
OpenJDK Runtime Environment (build 1.8.0_272-b10)
OpenJDK 64-Bit Server VM (build 25.272-b10, mixed mode)
[oracle@localhost ords]$

Мы обновляем версию java следующим образом:

[oracle@localhost softwareapex]$ sudo rpm -iv jdk-23_linux-x64_bin.rpm

Мы снова проверяем версию и убеждаемся, что она обновлена правильно:

[oracle@localhost softwareapex]$ java -version
java version "23.0.2" 2025-01-21
Java(TM) SE Runtime Environment (build 23.0.2+7-58)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.2+7-58, mixed mode, sharing)

10 СОЗДАНИЕ ОРДЕРОВ.

Мы создаем новое табличное пространство для хранения данных ORDS.

SQL> CREATE BIGFILE TABLESPACE ORDS DATAFILE SIZE 500M AUTOEXTEND ON next 1G MAXSIZE UNLIMITED ;

Tablespace created.

Запустите установку. В папке bin каталога ords запускаем следующую команду.

./ords --config /u01/ords_install/config install --interactive --log-folder /u01/ords_install/logs

Важно: Параметр -config указывает на каталог конфигурации, а параметр -log-folder - на место, где будут размещены файлы журнала ords.

Выбираем базу данных, в которой будет происходить установка.

Oracle REST Data Services - Interactive Install

Введите число, чтобы выбрать имя службы TNS net из файла /u01/app/oracle/product/19/dbhome_1/network/admin/tnsnames.ora или укажите подключение к базе данных
[1] TEST SERVICE_NAME=test
[S] Укажите подключение к базе данных
Выберите [1]:

Мы просматриваем значения установки и изменяем некоторые значения в соответствии с нашими требованиями. После установки мы используем опцию [A], и установка начинается. Наша установка будет выполняться по протоколу HTTP.

 Introduzca un número para actualizar el valor, o bien seleccione la opción A para aceptar y continuar
[1] Tipo de conexión: TNS
[2] Conexión TNS: TNS_NAME=TEST TNS_FOLDER=/u01/sw/network/admin
Usuario administrador: SYS AS SYSDBA
[3] Contraseña de base de datos para usuario de tiempo de ejecución de ORDS (ORDS_PUBLIC_USER): <contraseña especificada>
[4] Usuario de tiempo de ejecución de ORDS y tablespaces de esquema: Valor por defecto: ORDS Temporal TEMP
[5] Función adicional: Acciones de Base de Datos
[6] Configurar e iniciar ORDS en modo autónomo: Sí
[7] Protocolo: HTTP
[8] Puerto HTTP: 8080
[9] Ubicación de recursos estáticos de APEX:
[A] Aceptar y continuar - Crear configuración e instalar ORDS en la base de datos
[Q] Salir - No continuar. Sin cambios

После завершения установки мы можем запустить исполняемый файл ORDS для доступа к Apex через Web.

В папке ords bin вручную запускаем следующую команду:

./ords --config /u01/ords_install/config serve  --port 8080 --apex-images /u01/ords/images

Если все правильно, то было бы удобно сделать скрипт запуска/остановки сервиса.

Теперь вы можете перейти на домашнюю страницу APEX.

http://localhost:8080/ords

Начальный экран после установки Oracle Apex.

Прокрутка к верху