Páginas filhas
  • 01. Instalação e configuração do Keycloack

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


CONTEÚDO

  1. Visão geral
  2. Instalação e configuração Windows Service
  3. Primeiro acesso
  4. Requisitos de hardware


01. VISÃO GERAL

Nesta página será explicada a forma de instalação do Módulo específico Biofabrica Muda Pré Brotada:

  • Windows Service: Instalação manual utilizando serviço windows, o ideal é optar por essa abordagem somente em casos em que não seja possível a utilização do Docker, pois se perde as vantagens de observabilidade e entrega continua.

02. INSTALAÇÃO E CONFIGURAÇÃO WINDOWS SERVICE

A instalação do Biofabrica-MPB via serviço windows ainda não possui um instalador por isso é necessário realizar a instalação manualmente.


Primeiramente é necessário realizar o download da versão 11 do java JDK. Encontrada em Java Archive Downloads - Java SE 11 | Oracle Brasil


Para utilizar o Windows Service Wrapper primeiramente é necessário realizar o download de seus binários, encontrados em: Releases · winsw/winsw (github.com).
Neste tutorial será realizado o Download da ultima versão estável disponível.


       


 

Uma vez o executável baixado deve-se criar o arquivo xml vazio e renomear o binário WinSW.NET4 com o mesmo nome do xml.



O Xml deverá conter o seguinte conteudo alterando as configurações destacadas de acordo com a instalação:

<service>
 <id>biofabrica-muda-pre-brotada</id>
 <name>01 TOTVS - Biofabrica Muda Pre Brotada</name>
 <description>01 TOTVS - Biofabrica Muda Pre Brotada</description>
 <env name="HOME" value="C:\{caminho_do_projeto}\biofabrica-mpb"/>
 <executable>C:\{caminho_do_jdk11}\java.exe</executable>
   
 <argument>-Dspring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://{ip_da_aplicacao:porta}/biofabrica/api/auth/realms/{realm_do_biofabrica}/protocol/openid-connect/certs</argument>
   
 <argument>-Dspring.datasource.driver-class-name={application_driver}</argument>
 <argument>-Dspring.datasource.url=jdbc:oracle:thin:@{ip:porta}/{servico}</argument>
 <argument>-Dspring.datasource.username={user}</argument>
 <argument>-Dspring.datasource.password={password}</argument>
   
 <argument>-Dspring.jpa.show-sql=false</argument>
 <argument>-Dspring.jpa.properties.hibernate.show_sql=false</argument>

 <argument>-Dserver.port=8381</argument>
 <argument>-Dserver.servlet.context-path=/biofabrica/api</argument>
   
 <argument>-Dkeycloak.custom.server.keycloak-path=/auth</argument>
   
 <argument>-Dkeycloak.custom.datasource.driverClassName={keycloack_driver}</argument>
 <argument>-Dkeycloak.custom.datasource.url={keycloack_database_url}</argument>
 <argument>-Dkeycloak.custom.datasource.username={user}</argument>
 <argument>-Dkeycloak.custom.datasource.password={password}</argument>
   
 <argument>-Dmpb.frontend.path=C:\{caminho_front_end}\sa-biofabrica-mpb-front</argument>
   
 <argument>-Dlogging.config=C:\{caminho_logback}\logback.xml</argument>
   
 <argument>-jar</argument>
 <argument>"C:\{caminho_jar}\biofabrica-mpb-app-0.0.1-SNAPSHOT.jar"</argument>
    
  <download from="http://engenharia.agro.totvs.com.br:8080/download/biofabrica-mpb-app-0.0.1-SNAPSHOT.jar" to="%EXE_BASE%\biofabrica-mpb-app-0.0.1-SNAPSHOT.jar"
  auth="basic" unsecureAuth="true" user="eng.agro" password="uehjf80234yt" />
  <logmode>none</logmode>
</service>


Onde a presente instalação será instalada conforme:


Banco de Dados: O Biofabrica-MPB tem suporte apenas para os banco de dados PostgreSQL e Oracle DB 

String de conexão JDBC: URL de conexão para a aplicação se conectar com o banco de dados, alguns exemplos de string são:

É importante destacar que a aplicação Biofabrica MPB precisa de dois schemas/databases. Um schema/database é para os dados do MPB e o outro é para as informações de autenticação/autorização. Os dois databases podem ser ou não do mesmo vendor, ou seja, oracle, postgres, mysql… E não precisam ser a mesma instalação do banco. Podendo estar em duas máquinas diferentes, por exemplo.

        

        O arquivo Logback deve ser adicionado conforme:

       

      

       E seu conteudo:

<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
     <file>./logs/biofabrica-mpb.log</file>
     <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
       <!-- rollover daily -->
       <fileNamePattern>./logs/biofabrica-mpb-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
        <maxFileSize>10MB</maxFileSize>
        <totalSizeCap>100MB</totalSizeCap>
     </rollingPolicy>

     <encoder>
       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
     </encoder>
   </appender> 

   <root level="INFO">
     <appender-ref ref="FILE" />
   </root>
</configuration>

Inicialização do serviço

Durante a inicialização do serviço, ele faz o download do aplicativo mais recente (lgpd-artifacts.zip) e o executa, para verificar se correu tudo certo com o serviço deve-se verificar o log lgpd-service.wrapper.

Acompanhamento da aplicação

Os logs do aplicativo ficarão no arquivo lgpd.log, nele pode-se verificar se ocorreu algum erro durante a execução.

04. PRIMEIRO ACESSO

Ao término da inicialização da aplicação, será necessário configurar a aplicação de autenticação e cadastrar novos usuários.

Para logar na aplicação de autenticação é necessário digitar o seguinte endereço: endereço da máquina + porta + /auth, exemplo: http://192.168.0.1:8090/auth

Deve ser aberta esta tela:

Clicar em Administration Console.

Você será redirecionado para a tela de login, onde já possui um usuário padrão cadastrado:

usuário: admin

senha: admin

Depois é necessário clicar em Clients -> lgpd-api



Nesta tela é possível configurar várias opções relacionadas ao protocolo OAuth2, não recomendamos alterar nenhuma opção, poderá causar falha na aplicação. A única opção que deve ser alterada são as URIs de redirecionamento.

Alterar o valor localhost:4200 para o endereço + porta + /lgpd. Exemplo:

http://192.168.0.1:8090/lgpd/signin-auth-callback

http://192.168.0.1:8090/lgpd/signout-auth-callback

*IMPORTANTE: Verificar o endereço e a porta correta informada na instalação.

Após cadastrar os endereços corretos, é necessário salvar no final da página.

O próximo passo é cadastrar novos usuários. Clicar no menu Users.

Para adicionar um usuário é preciso clicar em Add user. Será aberto um formulário onde pode ser preenchido apenas o username que é obrigatório;

Depois de salvar você será redirecionado para a tela de edição de usuário, agora é preciso definir uma senha para o usuário, clique em Credentials, digite uma senha e depois Set Password. Se deixar a opção Temporary habilitada, essa senha será temporária e na primeira vez que o usuário realizar o login, ele será redirecionado para alterar a senha.

E por último é necessário definir os papéis deste usuário. No LGPD definimos 2 papéis, um é o gestor que é responsável pelos cadastros da aplicação e o segundo papel é o operador que tem a responsabilidade de anonimizar os registros.

Para definir papéis é preciso clicar em Role Mappings e depois escolher a opção lgpd-api no campo Client Roles.

Escolha o papel do usuário e clique em Add selected.

Acessando a aplicação

Para logar é preciso entrar na aplicação usando o endereço da máquina + porta + /lgpd, exemplo: http://192.168.0.1:8090/lgpd (ou o DNS configurado)

Você será redirecionado para a tela de login, o produto já possui um usuário padrão cadastrado:

usuário: administrador

senha: administrador

Ao entrar com esse usuário, apenas um item de menu estará disponível, que é a seção de Administração. Ao entrar neste menu, você será redirecionado para a aplicação de gerenciamento de usuários, nela é possível alterar senhas, criar e apagar usuários.

Ao logar com um usuário cadastrado, dependendo do seu papel, os menus irão se alternar.


04. REQUISITOS DE HARDWARE

  • 2GB Ram
  • 5GB espaço em disco disponível



HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>