Instalação e configuração do ORDS






Oracle REST Data Services (ORDS) e Oracle Application Express (APEX) são duas tecnologias poderosas que trabalham em conjunto para fornecer uma experiência de desenvolvimento web robusta e eficiente. ORDS permite que você publique serviços Web RESTful para o seu banco de dados Oracle, facilitando a exposição de tabelas, visualizações e até procedimentos armazenados como serviços web, sem a necessidade de escrever ou manter código adicional. APEX é uma ferramenta de desenvolvimento que permite construir e entregar rapidamente aplicações web a partir do seu banco de dados Oracle. Ele utiliza ORDS para disponibilizar essas aplicações via HTTP(S). Juntos, ORDS e APEX oferecem uma solução completa para o desenvolvimento de aplicações web, com a facilidade de uso e a flexibilidade necessárias para atender às demandas de projetos de todos os tamanhos.
Neste post apresento o processo de instalação e configuração do ORDS com SSL para disponibilizar aplicações Apex. Neste post não apresento o processo de instalação do apex e criação de aplicações. Assume-se que as aplicações Apex já estão prontas.

Instalação

yum-config-manager --add-repo=http://yum.oracle.com/repo/OracleLinux/OL7/oracle/software/x86_64
yum info ords
yum install ords -y

Configuração do ORDS com SSL

Gerar chave e certificado (necessário apenas ser for configurar ssl)

Referências:

cd /etc/ords/config
openssl req -new -newkey rsa:2048 -nodes -keyout localdomain.com.key -out localdomain.com.csr
## OBS: Importante informar o hostname do servidor que vai usar o certificado e ser acessado: apex-prod.localdomain.com

## Converter a private key gerando a .der
openssl pkcs8 -topk8 -inform PEM -outform DER -in localdomain.com.key -out localdomain.com.der -nocrypt

## Gerar o certificado
openssl x509 -req -days 365 -in localdomain.com.csr -signkey localdomain.com.key -out localdomain.com.crt

Especificar o tipo de conexão com o banco de dados

ords --config /etc/ords/config install

  Enter a number to select the database connection type to use
    [1] Basic (host name, port, service name)
    [2] TNS (TNS alias, TNS directory)
    [3] Custom database URL
  Choose [1]: 1

Informar os dados de conexão com o banco de dados

 Enter the database host name [localhost]: cluster-scan-prd
 Enter the database listen port [1521]: 
 Enter the database service name [orcl]: apexpdb
 Provide database user name with administrator privileges.
   Enter the administrator username: sys
 Enter the database password for SYS AS SYSDBA: 

Definir o protocolo de conexão - https

  • Opção: 6
  • Opção: 2
  • Porta: 8443
  • Path do certificado .crt
  • Path do certificado .der
  Enter a number to update the value or select option A to Accept and Continue
    [1] Connection Type: Basic
    [2] Basic Connection: HOST=cluster-scan-prd PORT=1521 SERVICE_NAME=apexpdb
           Administrator User: SYS AS SYSDBA
    [3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <generate>
    [4] Additional Feature: Database Actions
    [5] Configure and start ORDS in Standalone Mode: Yes
    [6]    Protocol: HTTP
    [7]       HTTP Port: 8080
    [8]   APEX static resources location: 
    [A] Accept and Continue - Update configuration
    [Q] Quit - Do not proceed. No changes
  Choose [A]: 6
  Enter a number to select the protocol
    [1] HTTP
    [2] HTTPS
  Choose [1]: 2
  Enter the HTTPS port [8443]: 
  Enter a number to select the certificate type
    [1] Use self-signed certificate (generates automatically)
    [2] Use my SSL certificate (requires SSL certificate and SSL certificate private key)
  Choose [1]: 2
  Enter the path for the SSL Certificate: /etc/ords/config/localdomain.com.crt
  Enter the path for the SSL Certificates private key: /etc/ords/config/localdomain.com.der

Definir o caminho dos recursos estáticos (pasta de imagens)

  Enter a number to update the value or select option A to Accept and Continue
    [1] Connection Type: Basic
    [2] Basic Connection: HOST=cluster-scan-prd PORT=1521 SERVICE_NAME=apexpdb
           Administrator User: SYS AS SYSDBA
    [3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <generate>
    [4] Additional Feature: Database Actions
    [5] Configure and start ORDS in Standalone Mode: Yes
    [6]    Protocol: HTTPS
    [7]       HTTPS Port: 8443
    [8]    Certificate Type: Use my SSL Certificate
    [9]      Path for the SSL Certificate: /etc/ords/config/localdomain.com.crt
    [10]      Path for the SSL Certificate private key: /etc/ords/config/localdomain.com.der
    [11]   APEX static resources location: 
    [A] Accept and Continue - Update configuration
    [Q] Quit - Do not proceed. No changes
  Choose [A]: 11
  Enter the APEX static resources location: /etc/ords/config/images

Configurando o startup automático do ORDS

Para configurar o startup automático é necessário criar o arquivo vi /etc/init.d/apex e inserir o conteúdo abaixo:

#!/bin/bash
# chkconfig: 345 99 10
# Description: auto start apex
#
case "$1" in
 'start')
   su - oracle -c "/usr/local/bin/ords --config /etc/ords/config serve &";;
 'stop')
   pkill -f "/opt/oracle/ords/ords.war --config /etc/ords/config serve";;
esac

Depois do arquivo criado, é necessário ajustar as permissões do arquivo

cd /etc/init.d
chown root.root apex
chmod 777 apex

Caso esteja usando um Oracle Linux 6

chkconfig --add apex
chkconfig --level 2345 apex on
chkconfig --level 016  apex off
service apex start
service apex stop

Caso esteja usando Oracle Linux 7

systemctl enable apex
systemctl start apex
systemctl stop apex

Para validar se os serviços subiram podemos verificar se:

  • A porta 8443 está up
netstat -antp | grep 8443
  • O servido do ORDS está em execução
ps -ef | grep ords

Postar um comentário

0 Comentários