CONFIGURAÇÃO DO AMBIENTE
DEINF
Informações sobre o Documento
Nome do cliente: MITSUI GÁS Nome do Projeto: GGÁS
Gerente do Projeto: Filipe Almada Disciplina: Gerenciamento e Desenvolvimento
Gerente do Projeto Cliente: Rodrigo Nunes Versão do Modelo: 1
Revisões e Aprovações
Responsável por Nome Data de Execução
Revisão Filipe Almada 25-06-2021
Revisão Filipe Almada 30-06-2021
Revisão Filipe Almada 08-07-2021
Revisão Filipe Almada 30-09-2021
Revisão Filipe Almada 01-10-2021
Revisão Filipe Almada 25-10-2021
Histórico de Versões
Versão Data Responsável Descrição da Alteração Arquivo
1.0 02-06-2021 Fabio Santos Criação do documento Guia de Configuração do GGÁS 1.0 24-06-2021 Hudson Falcão Atualização do documento Guia de Configuração do GGÁS 1.1 28-06-2021 Hudson Falcão Atualização de Telas do documento Guia de Configuração do GGÁS 1.1 29-06-2021 Fabio Santos Atualização de Telas do documento Guia de Configuração do GGÁS 1.2 08-07-2021 Fabio Santos Atualização de Telas do documento Guia de Configuração do GGÁS 1.3 30-09-2021 Mattheus Bebiano Inclusão de configuração por Docker Guia de Configuração do GGÁS 1.3.1 30-09-2021 Mattheus Bebiano Atualização do script docker-compos Guia de Configuração do GGÁS 1.3.2 24-10-2021 Mattheus Bebiano Criação docker yaml Guia de Configuração do GGÁS
S4Sys Reservado DEINF
2 de 30
1. Objetivo
Esse documento tem como objetivo ser um guia prático para preparação do ambiente do Projeto GGAS.
2. Introdução
Primeiro listaremos as Ferramentas usadas no Sistema, e necessárias para o funcionamento do Sistema.
2.1. Ferramentas
Java8:
https://www.oracle.com/br/java/technologies/javase/javase8-archive-downloads.html
Oracle11XE:
https://www.oracle.com/database/technologies/xe-prior-releases.html#license-lightbox
SqlDeveloper:
https://www.oracle.com/tools/downloads/sqldev-downloads.html
Gradle 2.2.1:
https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
EclipseMars2:
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ma rs/2/eclipse-jee-mars-2-win32-x86_64.zip
Tomcat7:
https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69-windows- i64.zip
NodeJS:
https://nodejs.org/en/download/
* Obs: Para os downloads no site da Oracle, deve-se fazer cadastro e login.
S4Sys Reservado DEINF
3 de 30
2.2. Ferramenta Docker
Evidenciamos a possibilidade do uso da ferramenta Docker para o Sistema GGAS seguindo em paralelo ao uso das ferramentas convencionais citadas anteriormente.
A instalação e execução dos procedimentos necessários para configuração do ambiente GGAS serão abordadas neste documento no tópico 12.
3. Instalação do Banco de Dados
3.1. Sistema Windows
Atualmente o projeto GGAS pode ser executado em ambientes Windows e Linux utilizando Banco de Dados Oracle versão 11g. Para tal instalação é necessário seguir os passos abaixo:
Baixar o instalador do oracle 11 através do link: (data de acesso do link 30/06/2021)
https://www.oracle.com/database/technologies/xe-prior-releases.html#license-lightbox Descompactar o Arquivo .Zip
Executar o arquivo setup.exe dentro do diretório Disk1 e escolher o local da instalação.
S4Sys Reservado DEINF
4 de 30
Informar uma senha para os usuários SYS e SYSTEM do banco de dados (estes são os usuários administradores do banco de dados e você precisará se lembrar dessa senha depois).
Ao final, é apresentada uma tela de resumo da instalação, e ao clicar em “Instalar” o instalador dará seguimento a instalação até a sua conclusão.
* Obs: Atentar para o serviço Listener do Oracle, o mesmo utiliza porta http 8080, através da url http://localhost:8080. A mesma pode causar conflito com o Tomcat, como abordaremos mais adiante.
S4Sys Reservado DEINF
5 de 30
3.2. Sistema Linux
A Oracle fornece instalador para ambiente Linux em formato RPM, portanto esse instalador é compatível apenas com distribuições RedHat ou distribuições baseadas nesta, tais como CentOs e Fedora. É possível instalar o Oracle em distribuições derivadas do Debian e Ubuntu porém para isto é necessário converter o instalador RPM para o formato DEB utilizando software de terceiros.
Para a elaboração deste tutorial, utilizamos a distribuição CentOs 7.
Entramos como usuário root através do comando sudo -su Depois, instalamos a dependência: yum install libaio bc flex
Em seguida, realizamos o download do Oracle através do link: (data de acesso do link 30/06/2021)
https://www.oracle.com/database/technologies/xe-prior-releases.html#license-lightbox
Feito o download do arquivo oracle-xe-11.2.0-1.0.x86_64.rpm.zip é necessário extrair o arquivo:
unzip q oraclexe11.2.01.0.x86_64.rpm.zip.
O arquivo RPM será extraído dentro da pasta Disk1 e o mesmo deverá ser executado pelos comandos:
cd Disk1 rpm ivh oraclexe11.2.01.0.x86_64.rpm
Neste ponto, o SGDB já está instalado, porém ainda não configurado.
É necessário configurar as portas e senha dos usuários administradores SYS e SYSTEM.
Esta configuração será feita através do comando: ./etc/init.d/oraclexe configure Uma vez configurado, devemos configurar as variáveis de Ambiente.
Podemos configurar as variáveis através do script:
/u01/app/oracle/product/11.2.0/xe/bin/ oracle_env.sh.
S4Sys Reservado DEINF
6 de 30
Para iniciar o Oracle, digitamos: /etc/init.d/oracle-xe start
Com o Oracle instalado, iniciaremos a instalação do Java.
4. Instalação do Java 8
O Java 8 é a release mais recente do Java, contendo novas funcionalidades, aprimoramentos e correções de bug para aumentar a eficiência do desenvolvimento e execução dos programas.
4.1. Ambiente Windows
O Projeto GGAS em sua versão atual é compatível com o Java Development Kit 1.8 O instalador do JDK 8 está disponível através do link: (data de acesso do link 30/06/2021)
https://www.oracle.com/br/java/technologies/javase/javase8-archive-downloads.html
S4Sys Reservado DEINF
7 de 30
Após a execução do instalador, é necessário configurar a variável de ambiente JAVA_HOME com o caminho da pasta onde o JDK foi instalado através da Propriedades do Sistema / Variáveis de Ambiente, vide baixo:
Para verificar a instalação, basta abrir o cmd e digitar “java -version”.
S4Sys Reservado DEINF
8 de 30
4.2. Ambiente Linux
Primeiro baixamos o java diretamente do repositório da Oracle, através do seguinte comando:
wget nocookies nocheckcertificate header "https://download.oracle.com/otn/java/jdk/8u291- b10/d7fc238d0cbf4b0dac67be84580cfb4b/jdk-8u291-linux-i586.rpm"
Em seguida, executamos a instalação do pacote através do comando:
yum localinstall jdk-8u291-linux-i586.rpm.
S4Sys Reservado DEINF
9 de 30
Para confirmar a instalação do Java, digitamos: java -version:
Para criarmos a variável JAVA_HOME, digitamos:
nano /etc/profile, e acrescentamos no final do arquivo a linha:
export JAVA_HOME=”/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64”
S4Sys Reservado DEINF
10 de 30
Depois, fazemos o mesmo no arquivo /etc/bashrc.
Para confirmarmos, digitamos echo $JAVA_HOME:
* Obs: Caso não possua o editor nano, instalar através do comando: yum install nano.
S4Sys Reservado DEINF
11 de 30
5. Instalação do SqlDeveloper
O SqlDeveloper é uma IDE para administração do SGDB Oracle fornecida gratuitamente pelo fabricante.
5.1. Ambiente Windows
Esta IDE tem como pré-requisito que uma máquina virtual Java tenha sido instalada.
Podemos obter o SQLDeveloper através do link: (data de acesso do link 30/06/2021)
https://www.oracle.com/tools/downloads/sqldev-downloads.html
Extrair o conteúdo do arquivo .Zip para um diretório e executar o arquivo sqldeveloper.exe
Após a execução do SqlDeveloper, devemos fazer um teste de Conexão utilizando o usuário SYSTEM e senha definida na seção 2.
S4Sys Reservado DEINF
12 de 30
5.2. Ambiente Linux
Obtemos o SqlDeveloper através do link: (data de acesso do link 30/06/2021)
https://www.oracle.com/tools/downloads/sqldev-downloads.html
Escolhemos a opção “Linux RPM” e clicamos em Download.
Caso não esteja logado no site da Oracle, o mesmo solicitará o login e a senha para realizar o download.
Abrirá então, o Gerenciador de Pacotes, solicitando se deseja instalar ou baixar o arquivo rpm:
Selecionamos a opção Save File, e clicamos em OK.
S4Sys Reservado DEINF
13 de 30
Após o download, realizamos a instalação através do comando:
rpm -Uhv sqldeveloper-20.4.1.407.0006-20.4.1-407.0006.noarch.rpm.
Para executar o programa, digitamos: /usr/local/bin/sqldeveloper Será solicitado o caminho do Java JDK:
S4Sys Reservado DEINF
14 de 30
Então, informamos o caminho:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/
(o mesmo da variável JAVA_HOME)
Ou então, alteramos diretamente no arquivo de configuração do SqlDeveloper:
nano /root/.sqldeveloper/20.4.1/product.conf Incluímos na última linha do arquivo:
SetJavaHome /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/.
Salvamos e executamos novamente o comando para iniciar o SqlDeveloper:
/usr/local/bin/sqldeveloper
S4Sys Reservado DEINF
15 de 30
6. Instalação do Gradle
A versão atual do projeto GGAS utiliza o Framework Gradle.
Este possui a responsabilidade de gerenciar as dependências do projeto e configurar a montagem dos pacotes possibilitando que seja utilizado qualquer IDE para desenvolvimento.
A versão utilizada no projeto é a versão 2.2.1 que está disponível em:
https://services.gradle.org/distributions/gradle-2.2.1-bin.zip (data de acesso do link 30/06/2021).
Após o download e extração do arquivo ZIP é necessário atualizar a variável de ambiente PATH com o caminho da instalação “gradle2.2.1/bin”.
7. Instalação do Eclipse IDE
Devemos utilizar a versão Eclipse IDE for Java EE Developers disponível em:
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ma rs/2/eclipse-jee-mars-2-win32-x86_64.zip(data de acesso do link 30/06/2021)
Após o download, devemos extrair a pasta e executar o arquivo “eclipse”.
Após abrir a IDE devemos acessar o Marketplace pelo menu:
Help >> Eclipse MarketPlace para que possamos adquirir os plugins Gradle IDE Pack e Egit.
S4Sys Reservado DEINF
16 de 30
Depois, temos que configurar o Eclipse de acordo com as nossas ferramentas.
7.1. Configuração do Charset
O Sistema GGAS utiliza a codificação padrão UTF-8, portanto para o projeto executar, devemos primeiro acessar o menu “Window >> Preferences >> General >> Workspace”.
Na opção Text File Encoding , alteramos a opção default “Cp1252” para “UTF-8”.
S4Sys Reservado DEINF
17 de 30
7.2. Configuração do Gradle
No menu do Eclipse, acessamos “Window >> Preferences >> Gradle(STS)”.
Na seção Gradle Distribution, marcamos a opção folder, e apontamos para a pasta onde extraímos o Gradle 2.2.1.
S4Sys Reservado DEINF
18 de 30
7.3. Configuração do Java
No menu do Eclipse, acessamos “Window >> Preferences >> Java >> Installed JRE´s”.
Clicamos em Edit, e apontamos para o caminho do Java JRE 1.8.
S4Sys Reservado DEINF
19 de 30
8. Instalação do Tomcat 7
Para executarmos o GGAS necessitamos de um servidor de aplicação Java e para isso podemos utilizar o TOMCAT 7.0 disponível em:
https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69-windows- i64.zip(data de acesso do link 30/06/2021)
Após o download, extraímos a pasta onde estão os arquivos do tomcat, então abrimos o Eclipse para realizar as configurações necessárias, conforme veremos a seguir.
8.1. Configuração através do Eclipse
No Eclipse, com a opção Java EE selecionada, seguimos para a aba inferior Servers e clicamos com o botão direito selecionando “Adicionar novo”.
Deve-se selecionar o TOMCAT 7.0 e avançar.
S4Sys Reservado DEINF
20 de 30
Deve-se informar a pasta onde o TOMCAT foi extraído e clicar em Finish.
Com a aba Servers ainda selecionada, clicamos duas vezes em Tomcat 7, abrirá uma guia no Eclipse para o configurarmos:
S4Sys Reservado DEINF
21 de 30
Na seção Timeouts, alteramos o tempo de start de 75 para 200 segundos.
Na seção Ports, alteramos a porta HTTP para 8000, pois o Oracle roda o serviço Listenner na porta 8080, conforme mencionado anteriormente no item 3.1.
Na seção Server Locations, marcamos a opção Use Tomcat Installation.
Deve-se editar o arquivo context.xml dentro do servidor alterando a tag Context acrescentando o atributo useHttpOnly=”false”.
S4Sys Reservado DEINF
22 de 30
9. Instalação do Node.js
O node js se faz necessário para a instalação de algumas dependências via pacote npm.
O download está disponível em: https://nodejs.org/en/download/ (data de acesso do link 30/06/2021)
Após a instalação devemos reiniciar o computador, para o Sistema reconhecer o node. Para verificarmos a versão instalada, basta executarmos o prompt de comando do Windows e digitar node -v.
Depois, abrimos o Windows Explorer e acessamos a pasta web, dentro do projeto GGAS, clicamos com o botão direito juntamente com a tecla shit pressionada e selecionamos “Abrir janela do PowerShell aqui”. Nesta janela digitamos npm install para instalar as dependências necessárias para abrir as páginas web do projeto, em seguida npm start. Qualquer dúvida com relação a este procedimento, consultar o arquivo README.md encontrado no mesmo diretório.
S4Sys Reservado DEINF
23 de 30
10. Carga Inicial do Banco de Dados
Voltamos ao Eclipse e no menu:
File, selecionamos Import >> Git >> Projects from Git >> Clone URI.
Na tela seguinte informamos o endereço do repositório do GGAS:
https://www.ggas.com.br/root/ggas.git
(data de acesso do link 30/06/2021)
Após a obtenção dos fontes via Git, devemos abrir via SqlDeveloper o script GGAS_SCRIPT_INICIAL_ORACLE_01_ROLES.sql contido na pasta SQL do projeto, alterar caso necessário o caminho da opção DATAFILE de acordo com o ambiente de banco de dados instalado.
Após a atualização, o script deve ser executado e os usuários serão criados.
Com os usuários criados, deslogamos do SqlDeveloper como SYSTEM e nos logamos com o usuário recém-criado GGAS_ADMIN e senha GGAS_ADMIN.
O próximo passo é carregar e executar via SqlDeveloper o arquivo GGAS_SCRIPT_INICIAL_ORACLE_02_ESTRUTURA_CONSTRAINTS_CARGA_INICIAL.sql e as sequences encontradas na pasta sql.
Obs: Todos os arquivos contidos na pasta SQL do projeto devem ser executados de forma sequencial, são cerca de 508 arquivos SQL, sugerimos gerar um script de execução puxando os arquivos direto do diretório, estes arquivos são responsáveis por implementar todas alterações necessárias que foram feitas nas tabelas durante evolução do sistema.
Antes talvez, seja necessário alterar a configuração de charset do banco de dados para aceitar caracteres latinos, pois alguns textos podem aparecer na tela com erros de codificação.
S4Sys Reservado DEINF
24 de 30
11. Executando o Projeto
No menu File, em seguida Import, agora selecionamos a opção Gradle (STS) Project.
Na tela seguinte, no campo Root Folder, informamos o caminho do projeto GGAS , em seguida clicamos em Build Model, e em Finish.
Para executar o projeto no navegador, clicamos com o botão direito na raiz do projeto e em Run as >> Run on Server.
Para logar no sistema deve-se utilizar o usuário: admin e senha: admin.
Será necessário alterar esta senha no primeiro login e a mesma leve conter números e letras.
S4Sys Reservado DEINF
25 de 30
12. Configuração do ambiente via Docker
Para instalação do ambiente via Docker é necessário disponibilidade de aproximadamente 16 GB incluindo as ferramentas citadas anteriormente. Para o guia de configuração atual tomaremos como referência o sistema operacional Ubuntu Server na versão 20.04. Salientamos a não obrigatoriedade da utilização do sistema operacional supracitado.
12.1. Ferramentas
As dependências que se relacionam para a implementação do ambiente via Docker são, Java8 e NodeJS já informadas nos tópicos anteriores além do, gerenciador de pacotes NPM, Docker, docker compose.
Docker:
https://docs.docker.com/engine/install/ubuntu/
Docker-compose:
https://docs.docker.com/engine/install/ubuntu/
NPM:
https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
12.2. Instalação do Docker
Para a instalação do Docker utilizamos o seguinte comando:
apt install docker.io -y
S4Sys Reservado DEINF
26 de 30
12.3. Instalação do Docker Compose
Para a instalação do Docker Compose utilizamos o seguinte comando:
apt install docker-compose -y
12.4. Instalação do NPM
Para a instalação do Docker Compose utilizamos o seguinte comando:
apt install npm -y
12.5. Ajustes no build.gradle
Abra o diretório onde encontra-se o clone do repositório GGAS e no diretório principal localize o arquivo build.gradle. Abra com o arquivo com o editor de textos de sua preferência e faça as seguintes modificações:
● Comente as linhas 58 e 59, onde encontra-se:
// maven { url "https://repo.spring.io/libs-milestone/"
// maven { url "https://repo.spring.io/plugins-release/"
● Adicione nas linhas 60 e 61:
maven { url "http://maven.icm.edu.pl/artifactory/repo/com/"}
maven { url "https://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/"}
● Comente as linhas 443 a 448, onde encontra-se:
// exec {
// workingDir "$projectDir/web"
//
// println "npm run build"
// commandLine npmCommand, "run", "build"
// }
S4Sys Reservado DEINF
27 de 30
12.6. Ajustes no hibernate.properties
No diretório principal do projeto caminhe até a subdiretório src/main/resources. Abra o arquivo hibernate.properties com o editor de textos de sua preferência e substitua o valor atribuído no hibernate.connection.url de localhost para 10.6.0.2. Essa substituição viabiliza a conexão do sistema ao banco de dados que subiremos através do docker.
hibernate.connection.url=jdbc:oracle:thin:@10.6.0.2:1521:XE
12.7. Ajustes no constantes.properties
No diretório principal do projeto caminhe até a subdiretório src/main/resources. Abra o arquivo constantes.properties com o editor de textos de sua preferência e modifique o valor da variável IS_AMBIENTE_PRODUÇÃO para false.
IS_AMBIENTE_PRODUCAO=false
12.8. Alterações nos arquivos web
É necessário alterar o endereço para que o front-end fique visível ao back-end ggas que será gerado no passo 12.9. Para isso será necessário fazer as alterações utilizando o endereço ip do seu servidor.
A partir do diretório principal do GGAS vá para subdiretório src/main/webapp/jsp/comum e altere o arquivo head.jsp na linha 54:
<%--<c:set var="ctxWebpack" value="http://SEUIP:9000" scope="application"/>--%>
Feita a alteração no arquivo head.jsp salve e continue para o subdiretório src/main/webapp/jsp/comum/template e altere o arquivo templateMvc.jsp na linha 55:
<c:set var="ctxWebpack" value="http://SEUIP:9000" scope="application"/>
Continue no subdiretório template e altere o arquivo templateHome.jsp na linha 55:
<c:set var="ctxWebpack" value="http://SEUIP:9000" scope="application"/>
Continue no subdiretório template e altere o arquivo template_popupBoostrap.jsp na linha 55:
<c:set var="ctxWebpack" value="http://SEUIP:9000" scope="application"/>
Feitas as alterações, salve os arquivos.
S4Sys Reservado DEINF
28 de 30
12.9. Gerar arquivo .war
Retorne ao diretório principal do ggas e execute:
./gradlew war
Necessário instalação do Java 8
12.10. Criação e build do arquivo Dockerfile
Após a geração do arquivo acesse o subdiretório /build/libs altere o nome do arquivo com extensão war gerado para ggas.war.
Feito isso no mesmo diretório do arquivo ggas.war crie um novo arquivo com o nome Dockerfile sem extensão e adicione o seguinte texto ao arquivo:
FROM tomcat:8.5.47-jdk8-openjdk
COPY ./ggas.war /usr/local/tomcat/webapps
Ao finalizar e salvar o arquivo Dockerfile no mesmo diretório, execute o seguinte comando:
docker build -t ggasv3tomcat .
S4Sys Reservado DEINF
29 de 30
12.11. Criação do arquivo docker-compose.yaml
Em um novo diretório inicializamos a criação do docker-compose.yaml, arquivo responsável fazer o push da imagem do banco de dados do ggas e a configuração de rede do container integrando o back-end (gerado no passo anterior) e o banco de dados.
Para isso gere um novo arquivo com o nome docker-compose.yaml adicionando o seguinte trecho de código:
version: '3' services:
oracledb:
image: s4sysdockerhub/populated-database-ggas container_name: oracledb
ports:
- "1521:1521"
networks:
ggasredelab:
ipv4_address: 10.6.0.2 ggas-api:
image: ggasv3tomcat
container_name: ggasv3tomcat ports:
- "8080:8080"
networks:
ggasredelab:
ipv4_address: 10.6.0.3
networks:
ggasredelab:
ipam:
driver: default config:
- subnet: 10.6.0.0/16
Ao finalizar salve o arquivo e execute o seguinte comando para inicializamos os containers:
docker-compose up -d
S4Sys Reservado DEINF
30 de 30
12.12. Inicialização do Front
Para inicialização do Front, a partir do diretório principal, acesse o subdiretório web e execute o seguinte comando:
npm start