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

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

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

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

Download Required Software

1) Загружаем последнюю версию Oracle Apex, в данном случае 24.1.
https://www.oracle.com/tools/downloads/apex-241-downloads/
Скачиваем файл: Oracle APEX 24.1 – All languages

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, в нашем случае Oracle 19.20 на операционной системе Red Hat Enterprise Linux 9.

1) СОЗДАЕМ TABLESPACE, ГДЕ БУДЕТ ВЫПОЛНЕНА УСТАНОВКА APEX

Создаем новый tablespace, назовем его 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 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, встроенный в 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,
principal_type => xs_acl.ptype_db));
END;

/

PL/SQL procedure successfully completed.

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.

Создаем новый tablespace для хранения данных 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

Enter a number to select the TNS net service name to use from /u01/app/oracle/product/19/dbhome_1/network/admin/tnsnames.ora or specify the database connection
[1] TEST SERVICE_NAME=test
[S] Specify the database connection
Choose [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 через веб-интерфейс.

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

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

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

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

http://localhost:8080/ords

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

Прокрутка к началу