Con la última actualización de Oracle APEX se han realizado varios cambios en la forma de instalación, comparada a los años anteriores, además se incluyeron mejoras con inteligencia artificial y formas más sencillas para integrar APIs de AI Generativa de los distintos proveedores en el mundo.
Es por ello que hoy les enseñaré como hacer una instalación completa en una máquina virtual on-premises que contenga lo siguiente:
- Oracle Linux 8.10
- Oracle Database 21c XE (última versión XE gratuita al momento de esta publicación)
- Oracle APEX 24.1
- Oracle REST Data Service 24.2.3 con el JDK de Java 11
Cómo un extra les dejaré un script con los comandos para que al iniciar la máquina virtual todo se inicie automáticamente.
Links de descarga
Primero debemos descargar los siguientes archivos:
- Oracle linux 8 – Enlace
- Oracle Database 21c XE – Enlace
- Prerequisitos de instalación Oracle Database 21c XE – Enlace
- Oracle APEX 24.1 – Enlace
- Oracle REST Data Services 24.2.3 – Enlace
- Java 11 JDK – Enlace
Cuando se termine de descargar todo, debera tener los siguientes archivos:

Instalación de Oracle linux 8
Hace un tiempo había realizado un video con la instalación de Oracle Linux paso a paso, por ello, les dejo el enlace al video:
Luego de la instalación y cuando tengamos acceso a la máquina virtual, debemos crear una carpeta llamada installers en u01/ y ahí pasar todos los instaladores:

Instalación de Oracle Database 21c XE
Primero debemos instalar el paquete con prerequisitos para la instalación de la base de datos, para ello nos posicionaremos sobre la carpeta donde colocamos los instaladores y ejecutaremos lo siguiente:
yum -y localinstall oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

Luego de ello, instalaremos el motor de base de datos:
yum -y localinstall oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm

Ahora procederemos a crear y configurar nuestra instacia de base de datos, ejecutaremos el siguiente comando:
/etc/init.d/oracle-xe-21c configure
Se solicitará la contraseña que tendrán todos los schemas, colocala y después empezará la instalación:

Ahora procederemos a crear el usuario oracle junto con el grupo oinstall:
groupadd oinstall useradd oracle usermod -g oinstall oracle
Configuraremos las siguientes variables de entorno en el archiv .bash_profile del usuario Oracle:
cd /home/oracle
vi .bash_profile
El archivo debe verse así:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
#Añadimos las siguientes variables
export ORACLE_SID=XE
export ORACLE_HOME=/opt/oracle/product/21c/dbhomeXEGuardamos el archivo con wq! nos loguearemos con el usuario oracle y ejecutaremos lo siguiente:
su - oracle . oraenv ORACLE_SID = [XE] ? The Oracle base has been set to /opt/oracle sqlplus /nolog
De esta manera ya tendremos acceso a nuestra base de datos:

Por último, para que la base de datos inicie automáticamente cuando se arranque la máquina debemos ejecutar los siguientes comandos:
systemctl enable oracle-xe-21c systemctl start oracle-xe-21c

Instalación de Oracle APEX 24c
Primero, nos loguearemos con el usuario root y ejecutaremos el siguiente comando:
chown oracle:oinstall /u01 -R
Ahora nos loguearemos con el usuario oracle e iremos a /u01/installers en donde debemos descomprimir el zip de Oracle APEX; para tener un orden en la instalación, cree un carpeta aquí mismo y descomprima ahí el zip de Oracle APEX:
cd /u01/installers mkdir APEX mv apex_24.1_en.zip APEX/ cd APEX/ unzip apex_24.1_en.zip
Ahora iremos a la ruta /u01/installers/APEX/apex y nos conectaremos a la base de datos usando sqlplus, recuerde que esto lo conectará al container por lo que debe cambiar su sesión a base de datos pluggable para instalar Oracle APEX en la instancia XEPDB1:
sqlplus sys@XE as sysdba;

Cambiaremos la sesión a la base de datos XEPDB1:
alter session set container = XEPDB1;

Y para comenzar la instalación de APEX, ejecutaremos el siguiente comando:
@apexins.sql SYSAUX SYSAUX TEMP /i/

Ahora le pondremos contraseña al usuario ADMIN ejecutando lo siguiente:
@apxchpwd.sql

Desbloquearemos los siguientes usuarios:
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK; ALTER USER APEX_PUBLIC_USER IDENTIFIED BY suPassword;
Ahora, configuraremos los schemas REST para luego poder instalar el ORDS, ejecutamos los siguiente:
@apex_rest_config.sql

Instalación JDK Java 11
Descomprimimos el jdk que descargamos:
cd /u01/installers mkdir java mv jdk-11.0.23_linux-x64_bin.tar.gz java/ cd java/ tar -xzvf jdk-11.0.23_linux-x64_bin.tar.gz
Iremos al archivo .bash_profile del usuario oracle y añadiremos lo siguiente:
export JAVA_HOME=/u01/installers/java/jdk-11.0.23 export PATH=$JAVA_HOME/bin:$PATH
Guardamos y luego para cargar las variables ejecutaremos el siguiente comando:
source /home/oracle/.bash_profile
Y luego ejecutaremos un java -version, nos deberá aparecer la nueva versión de java instalada:

Instalación ORDS 24.2.3
Descomprimimos el zip:
cd /u01/installers mkdir ORDS mv ords-latest.zip ORDS/ cd ORDS/ unzip ords-latest.zip
Ingresamos a la carpeta bin del zip descargado y ejecutaremos lo siguiente:
./ords --config /u01/installers/ordsConfig install
Durante la instalación se nos hará una serie de preguntas, sigue la siguiente imagen para realizar la instalación y nada más toma en cuenta que antes de presionar el Accept and Continue debe elegir la opción 9 y colocar la dirección de las imágenes de Oracle APEX:
Ruta de imágenes: /u01/installers/APEX/apex/images

Ahora abriremos un nuevo tab ssh, dejaremos esta ventana abierta y nos conectaremos usando el usuario root.
En necesario abrir los puertos para acceder a Oracle APEX:
firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --permanent --zone=public --add-port=1521/tcp firewall-cmd --reload

Ahora abriremos una ventana en el navegador y pondremos la ip de la máquina y el puerto 8080:

Presionamos el botón de ir a Oracle APEX:

Aquí colocamos el Workspace INTERNAL, el usuario admin y la contraseña que configuramos:

Script de arranque automático del ORDS
Ahora crearemos un script para que al iniciar la máquina, junto con el arranque automático de la base de datos, también iniciará el ORDS:
cd /etc/init.d/ touch ords chmod +x /etc/init.d/ords vi ords
Dentro del archivo le añadiremos lo siguiente:
#!/bin/sh
#
# File: /etc/init.d/ords
#
# chkconfig: 2345 99 10
# description: Arranque de servicios de ORDS para Oracle APEX
#
start(){
su - oracle -c "cd /u01/installers/ORDS/bin && nohup ./ords --config /u01/installers/ordsConfig serve > /u01/installers/ords
Config/startORDS.log 2>&1 &"
}
start
Guardamos el archivo y ejecutaremos los siguientes comandos:
systemctl enable ords chkconfig --add ords chkconfig ords on
De esta manera quedará un archivo llamado ords en /etc/init.d, el cual arrancará el ORDS cada vez que la máquina se inicie.
Puede verificar que el servicio quedó activo usando el siguiente comando:
chkconfig --list

Por último, debemos configurar SELINUX de modo permisivo para que se permita la ejecución del script al iniciar la máquina virtual:
vi /etc/selinux/config

Guardamos el archivo y reiniciaremos la máquina virtual para verificar que todo inicie automáticamente.
