Servidor local

Um guia completo para instalação do webBudget a moda antiga, sem auxilio de containers

Aviso aos aventureiros!

Antes de seguir, saiba que, daqui para baixo são necessários conhecimentos intermediários de administração de servidores Windows/Linux

Antes de iniciar

Para instalar e disponibilizar o webBudget em rede para seus usuários ou apenas usá-lo em seu computador pessoal você precisará:

  1. Ter Java JDK versão 11 instalado (versão Oracle ou OpenJDK, ambos são homologados)

  2. Ter acesso administrador no sistema operacional onde o sistema será instalado

  3. Ter o banco de dados PostgreSQL versão 11 (ou superior) instalado

  4. Pelo menos 1GB de memória livre e disponível para o aplicativo e todos os seus componentes

  5. Pelo menos 200MB de espaço em disco para instalação

Como instalar o PostgreSQL?

Aqui você poderá encontrar um guia completo para instalação do Postgres nos principais sistemas operacionais existentes no mercado

Como criar o banco de dados?

Para criar o banco de dados você poderá utilizar as instruções da seção de configuração com Docker, lá foram apresentados os scripts para a criação do banco padrão

Como instalar o Java JDK?

Caso tenha dúvidas de como instalar o Java JDK (não é a JRE!) siga este tutorial oficial da Oracle.

Não esqueça de setar a variável de ambiente JAVA_HOME, ela é muito importante para o funcionamento do Wildfly.

Configurando o Wildfly

Primeiramente você precisará baixar o servidor de aplicação Wildfly versão 18 ou superior, para fazê-lo, clique neste link.

Selecione a pasta em seu computador onde irá instalar os componentes e em seguida descompacte o arquivo baixado dentro deste diretório

Após descompactar, os diretórios devem parecer como na imagem acima

Seguindo, crie uma pasta em "modules\system\layers\base\org" com o nome de "postgresql" e dentro dela crie outro diretório chamado "main".

Baixe o driver do banco de dados (neste link) que será utilizado para gerenciar as conexões entre a aplicação e o servidor de aplicação (Wildfly). Baixe aquele que diz "PostgreSQL JDBC 4.2 Driver, 42.x.x".

Copie o arquivo JAR baixado para o diretório criado acima e crie um arquivo XML chamado "module.xml" dentro da pasta em que você copiou o arquivo.

O conteúdo deste XML deverá ser:

<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.5" name="org.postgresql">
<resources>
<resource-root path="postgresql-42.2.9.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>

Substitua o parâmetro path pelo nome exato do JAR que você baixou, no caso acima o arquivo baixado foi "postgresql-42.2.9.jar".

A estrutura final do diretório devera parecer com a imagem abaixo:

Disposição final dos arquivos do driver e sua descrição de módulo

Agora que todos os arquivos estão no lugar correto, vamos configurar o datasource do sistema, para isso, abra no seu editor de texto preferido o arquivo "standalone.xml" ele pode ser encontrado na pasta "standalone\configuration" na raiz do Wildfly.

Após abrir o arquivo, procure pela seção "drivers" e dentro dela cole o seguinte XML:

<driver name="postgresql" module="org.postgresql">
<driver-class>org.postgresql.Driver</driver-class>
</driver>

E na seção "datasources", adicione o datasource do webBudget:

<datasource jta="true" jndi-name="java:/datasources/webBudgetDS" pool-name="webBudgetDS" enabled="true" use-ccm="true" statistics-enabled="true">
<connection-url>jdbc:postgresql://localhost:5432/webbudget</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<driver>postgresql</driver>
<pool>
<min-pool-size>5</min-pool-size>
<initial-pool-size>2</initial-pool-size>
<max-pool-size>15</max-pool-size>
<prefill>true</prefill>
<use-strict-min>true</use-strict-min>
<flush-strategy>AllInvalidIdleConnections</flush-strategy>
</pool>
<security>
<user-name>sa_webbudget</user-name>
<password>sa_webbudget</password>
</security>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
<background-validation>true</background-validation>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
</validation>
</datasource>

Como alterar as informações de conexão ao banco de dados?

No XML acima, altere a linha 2 para indicar o host, porta ou banco de dados a ser utilizado e altere as linhas 14 e 15 para definir o usuário e senha de conexão.

Para finalizar a configuração do Wildfly, agora vamos iniciá-lo executando o arquivo "standalone.bat" (em caso de Windows, ou "standalone.sh" em caso de Linux) que pode ser encontrado na pasta "bin". Durante o a inicialização você deverá ver uma mensagem como a mostrada abaixo indicando sucesso na configuração.

Indicação de que o datasource foi configurado e esta pronto para uso

Como iniciar o Wildfly junto com o sistema operacional?

Se você quiser que a aplicação inicie junto ao sistema operacional, procure pela pasta "docs\contrib\scripts" na raiz da instalação do Wildfly e veja o arquivo README.md para saber como fazer isso.

Construindo a aplicação

O próximo passo agora é construir a aplicação para que possamos realizar o deploy no Wildfly.

Para iniciarmos vá até o repositório do webBudget (neste link) e faça o download da versão estável (branch master) ou de uma tag (versão) específica.

Selecione o branch master ou a tag, clique em "clone or download" e em seguida em "download ZIP"

Copie o arquivo baixado para a pasta que você criou anteriormente durante a configuração do Wildfly e descompacte. Após isso a pasta deverá ter a seguinte estrutura:

Conteúdo da pasta baixado do github após descompactar

Para construir o projeto, execute o comando abaixo nas pasta o projeto:

No Windows:

.\mvnw.cmd clean package -Prelease

No Linux:

./mvnw clean package -Prelease

Este processo poderá demorar pois neste momento vários arquivos serão baixados para a construção do projeto e geração do artefato que usaremos para fazer o deploy no Wildfly.

Quando o build finalizar, uma mensagem como esta abaixo devera aparecer no seu console:

\o/

Neste momento, uma pasta chamada "target" terá sido criada e dentro dela um arquivo chamado "web-budget-x.x.x-RELEASE", este é o artefato final do sistema.

Com o Wildfly parado, copie o arquivo citado acima para a pasta "\standalone\deployments" dentro do diretório de instalação do Wildfly e inicie o servidor de aplicação (mesmo processo explicado acima para testar a configuração do datasource).

Se tudo tiver dado certo, nenhum erro deverá aparecer no console e a aplicação estará pronta para uso no link https://localhost:8443/.

Usuário e senha padrão

O usuário e senha padrão do sistema quando recém instalado é admin