miércoles, 2 de marzo de 2016

Instalación de Oracle Apex 5 - Oracle Restful - Apache Tomcat 7

Oracle Apex 5 - Oracle Restful Services - Apache Tomcat 7


Esta es una alianza que me dió muy buenos resultados, estuve experimentado con otros  productos como Glassfish. En mi caso me resultó mas familiar usar Apache Tomcat como servidor de Java, su instalación es bastante simple y hacer el "deploy" con Ords (Oracle rest data services) se sintetiza en dos simples pasos.
Ambiente de Instalación: Linux Centos 7, sistema operativo muy compatible con la base de datos Oracle ya que genéticamente proviene de la linea de Oracle Linux/Redhat.

La presente documentación se inicia a partir de disponer Centos con Oracle Express 11g ya instalados y también algo que es de extrema importancia, la instalación de Java (Java Distribution Kit jdk), hay  bastante documentación en la Red. En este servidor tengo instalada la versión jdk1.8.0_71 si no me equivoco es la última que encontré.

Pasos:

1.- Instalación de Apex 5:
2.- Instalación de Apache Tomcat 7
3.- Instalación de Ords
4.- Deploy de Ords con Tomcat

1.- Instalación de Apex 5 para Ords.-

     Descargamos de www.oracle.com el último Apex que a la fecha es el 5.0.3

     Una vez descargado el zip como usuario "oracle", lo descomprimimos en:
    /home/oracle  cuya ruta quedará como /home/oracle/apex

    a) Crear el tablespace Apex en la base de datos:

        sqlplus / as sysdba

     create tablespace apex datafile '/u01/app/oracle/oradata/XE/apex_01.dbf' size 200M reuse autoextend on next 10M maxsize 1000M logging extent management local segment space management auto;

    b)  Correr el sql apexins.sql que instala Apex.

           SQL @apexins.sql APEX APEX TEMP /i/

    c) Una vez instalado el script sale del entorno sqlplus, hay que volver a conectarse:

         sqlplus / as sysdba

          Cambiar la contraseña de admin:

         SQL @apxchpwd.sql


     d) Preparamos Apex para ords

         SQL>@apex_rest_config.sql

     e) Ponemos en Cero el puerto 8080 que Apex configura por defecto, para no interferir
         con los puertos de Apache.

         SQL exec dbms_xdb.sethttpport(0);

      f) Instalar imágenes, este paso no lo encontré en otras documentaciónes acerca de
apex para ords, no estoy seguro pero considero necesario, de todas maneras no tuve
ningún inconveniente.

         SQL @apxldimg.sql /home/oracle

      g) Desbloquear el usuario anonymous y usuario de ords

        SQL alter user anonymous account unlock;

        SQL alter user apex_public_user account unlock;


         --- Fin de Paso 1 ---

2.-  Apache Tomcat 7


        a) Crear usuario tomcat y configurar el entorno:

            useradd tomcat

             vi /home/tomcat/.bash_profile
           
               export JAVA_HOME=/home/tomcat/jdk1.8.0_71
               export CATALINA_HOME=/home/tomcat/apache-tomcat-7
               export CATALINA_BASE=$CATALINA_HOME
               export CATALINA_PID=$CATLINA_HOME/tomcat.pid
               export CLASS_PATH=$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar


        a) Descargar de la página de Apache el archivo zip, en esta instalación
descarqué  apache-tomcat-7.0.65.zip

          unzip apache-tomcat-7.0.65

           Quedando tomcat instalado en:

          /home/tomcat/apache-tomcat-7.0.65

        b) Confituracion de Tomcat

            archivos a modificar:
                    usuario, contraseña y derechos:
                   /home/tomcat/apache-tomcat-7.0.65/tomcat-users.xml
                   datos del servidor: ip, puerto
                   /home/tomcat/apache-tomcat-7.0.65/server.xml

         Iniciar tomcat:

          $CATALINA_HOME/bin/startup.sh

         Para tomcat:

         $CATALINA_HOME/bin/shutdown.sh



         --- Fin de Paso 2 ---


3.- Instalación de Oralce Rest Data Services (Ords).-

      Los siguientes procesos se deben hacer como usuario tomcat:

     a) download ords 3 (en este caso) de www.oracle.com
          /home/tomcat/ords.3.0.0.343.07.58.zip

     b) unzip ords.3.0.0.343.07.58.zip

      mv /home/tomcat/ords.3.0.0.343.07.58 /home/tomcat/ords.3

      renombramos la carpeta para que el nombre sea mas corto.
      creamos la carpeta donde vamos a configurar ords

      mkdir /home/tomcat/ords-conf

      configuramos la ruta de configuracion de ords

      cd ords.3
      java -jar ords.war configdir /home/tomcat/ords-conf

      instalamos ords:   java -jar ords.war

             Configuramos los datos: host (puede ir la ip o localhost)
             puerto:  1521
             sid:  en caso de trabajar con oracle express, si no es mas seguro poner
             el servicio (sid.miservidor.com)

             A la pregunta:  instalar pl/sql gateway (1) o omitir(2)
             responder 1, instalar pls/sql gateway ya que vamos a trabajar con apex.

             Luego nos pide las contraseñas de los usuarios administradores:
             apex_public_user
             apex_listener
             apex_rest_public_user

              --Fin-de-la-instalacion.

    Ultimo paso: Deploying Apex - Desplegando Apex con Apache Tomcat
       
                Crear una carpeta /i/  en la ruta:
                      CATALINA_HOME/webapps/i

                Copiar el contenido de la carpeta apex/images a la carpeta i/ de Tomcat:

               cp -rf /home/oracle/apex/images/* $CATALINA_HOME/webapps/i/

              --Fin-del-Deploy


              http://localhost:8080/ords/

             Problemas comunes:

             Puede que nos encontremos con:

             Oracle Rest Dataservices 404 Not Found

              Para ver que esta pasando, cambiamos a modo debug en el archivo
              defaults.xml que esta dentro la carpeta de configuración de ords.

               true
              true

                Comprobar que el usuario apex_public_user no esta lockeado.

                sqlplus apex_public_user/password


                 Fin---------------------------------------------------------------



No hay comentarios: