En un artículo anterior expliqué como hacer la instalación de APEX en sus equipos locales usando VirtualBox y Vagrant, y esto funciona muy bien para hacer desarrollos sencillos de manera local o en ambientes de desarrollo. Sin embargo, lo más probable es que en ambientes productivos encuentren que APEX se encuentra desplegado sobre algún servidor de aplicaciones (como Tomcat o WebLogic) junto con ORDS. En esta publicación vamos a hacer la instalación de una instancia de Tomcat en una VM en la que también desplegaremos ORDS y lo configuraremos en una base de datos XE 18c en otra VM (tecnicamente es posible hacer la instalación en una sola VM, pero por temas de seguridad se separa siempre la base de datos del servidor de aplicaciones).
Instalación de XE/APEX
Ya la instalación de XE la cubrimos en este artículo sin embargo necesitamos agregar un paso más, que es la instalación de APEX.
Lo primero que haremos será descargar la última versión de APEX desde la página de Oracle; este archivo lo dejaremos en el directorio desde donde arrancamos la VM, ya que este directorio está visible para el sistema operativo de dicha VM en el directorio /vagrant
.
~/vagrant/oracle/vagrant-projects/OracleDatabase/18.4.0-XE> ls -l
total 160780
-rwxrwxr-x 1 jean jean 164603415 feb 11 17:04 apex_20.1.zip
drwxr-xr-x 2 jean jean 4096 jul 29 2020 ora-response
-rw-r--r-- 1 jean jean 5713 jul 29 2020 README.md
drwxr-xr-x 2 jean jean 4096 jul 29 2020 scripts
drwxr-xr-x 2 jean jean 4096 jul 29 2020 userscripts
-rw-r--r-- 1 jean jean 4826 feb 11 15:54 Vagrantfile
Asi se ve cuando vemos el directorio desde la VM (en mi caso tenía disponible el archivo de la versión 20.1, podría ser diferente cuando lean esta publicación)
~/vagrant/oracle/vagrant-projects/OracleDatabase/18.4.0-XE> vagrant ssh
Last login: Tue Feb 16 12:56:08 2021 from 10.0.2.2
Welcome to Oracle Linux Server release 7.9 (GNU/Linux 5.4.17-2036.102.0.2.el7uek.x86_64)
The Oracle Linux End-User License Agreement can be viewed here:
* /usr/share/eula/eula.en_US
For additional packages, updates, documentation and community help, see:
* https://yum.oracle.com/
[vagrant@localhost ~]$ cd /vagrant
[vagrant@localhost vagrant]$ ls -l
total 160780
-rwxrwxr-x. 1 vagrant vagrant 164603415 Feb 11 17:04 apex_20.1.zip
drwxr-xr-x. 1 vagrant vagrant 4096 Jul 29 2020 ora-response
-rw-r--r--. 1 vagrant vagrant 5713 Jul 29 2020 README.md
drwxr-xr-x. 1 vagrant vagrant 4096 Jul 29 2020 scripts
drwxr-xr-x. 1 vagrant vagrant 4096 Jul 29 2020 userscripts
-rw-r--r--. 1 vagrant vagrant 4826 Feb 11 15:54 Vagrantfile
Vamos a copiar al archivo que descargamos al directorio home del usuario oracle y a descomprimirlo
[vagrant@localhost vagrant]$ sudo su - oracle
Last login: Tue Feb 16 14:42:14 -06 2021 on pts/0
[oracle@localhost ~]$ cp /vagrant/apex_20.1.zip .
[oracle@localhost ~]$ unzip apex_20.1.zip
Finalmente tendremos al menos estos archivos y directorios
[oracle@localhost ~]$ ls -l
total 160756
drwxr-xr-x. 6 oracle oinstall 4096 Apr 17 2020 apex
-rwxr-xr-x. 1 oracle oinstall 164603415 Feb 16 14:43 apex_20.1.zip
-rwxr--r--. 1 oracle oinstall 758 Feb 16 10:57 setPassword.sh
Ahora que ya tenemos el instalador en nuestra VM, procedamos a preparar la base de datos y a hacer la instalación. Lo primero será ir al directorio que acabamos de descomprimir y allí iniciaremos SQL*Plus como SYSDBA
[oracle@localhost ~]$ cd apex
[oracle@localhost apex]$ sqlplus / as sysdba
SQL*Plus: Release 18.0.0.0.0 - Production on Tue Feb 16 14:47:38 2021
Version 18.4.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
SQL>
Para mantener los objetos de APEX organizados en la base de datos, vamos a crear un nuevo tablespace donde almacenarlos (este paso es opcional, es posible almacenar los objetos de APEX en el tablespace SYSAUX).
SQL> ALTER SESSION SET CONTAINER=XEPDB1;
SQL> CREATE TABLESPACE apex DATAFILE '/opt/oracle/oradata/XE/XEPDB1/apex01.dbf' SIZE 100M AUTOEXTEND ON NEXT 1M;
El primer comando cambia el contenedor sobre el que voy a trabajar. Recuerden que a partir de 12c Oracle introdujo el concepto de multitenant en la que es posible tener varias BD "virtuales" dentro de una gran instancia. Les recomiendo su lectura ya que será el estándar de las base de datos Oracle de ahora en adelante.
Seguidamente ejecutaremos el instalador de APEX
SQL> @apexins.sql APEX APEX TEMP /i/
Si decidieron no crear otra tablespace simplemente cambien APEX por SYSAUX o el nombre del tablespace que hayan creado. El proceso de instalación puede durar unos minutos dependiendo de la capacidad de su equipo.
Si finalmente la instalación no dio ningún error pueden proceder a crear el usuario ADMIN para administrar la instancia de APEX. Para esto ejecutaremos:
SQL> @apxchpwd.sql
El script les solicitará el nombre del usuario, correo y contraseña, esta última debe cumplir con los estándares básicos de seguridad o no será aceptada por la base de datos (al menos una mayúscula, números y simbolos especiales).
Y finalmente ejecutamos el script para la creacion de los usuarios APEX_LISTENER y APEX_REST_USER, estos son necesarios para la conexión entre ORDS y la base de datos. El script les solicitará las contraseñas para estos nuevos usuarios.
SQL> @apex_rest_config.sql
Configuración del servidor de base de datos
Más arriba había indicado que hacía falta solo instalar APEX a la instalación de XE que ya teníamos, sin embargo nos falta un paso más, este tiene más que ver con la configuración de la red de las VM.
Esto lo explicaré en la próxima publicación de esta serie.
Top comments (0)