POP HOSTING

Como instalar o WildFly, o antigo JBoss, no AlmaLinux e Ubuntu imprimir

  • jboss, wildfly, java, servidor de aplicação, systemd, jakarta ee
  • 0

Veja como instalar o WildFly, o sucessor do JBoss, no AlmaLinux 9 ou Ubuntu 24.04 com Java 21, rodando como serviço do systemd e com usuário próprio.

  • Tempo: 20 min
  • Nível: Intermediário
  • Vale para: WildFly 41 em AlmaLinux e Rocky 9, Ubuntu 22.04 e 24.04, Debian 12
  • Atualizado: outubro de 2026

O JBoss AS passou a se chamar WildFly em 2013, a partir da versão 8. O JBoss 6.1, que este artigo ensinava a instalar, é de 2011, exige Java 6 ou 7 e não recebe correções de segurança há mais de uma década. Hoje existem dois caminhos: o WildFly, gratuito e de código aberto, e o JBoss EAP, versão comercial da Red Hat baseada nele. Este guia instala o WildFly.

Aplicações antigas: do WildFly 27 em diante, o servidor usa o Jakarta EE 10, em que os pacotes javax.* viraram jakarta.*. Uma aplicação feita para o JBoss 6 ou para o Java EE 8 precisa ser migrada antes de rodar no WildFly atual.

Antes de começar

  • Acesso root ou sudo ao servidor. Os comandos abaixo são executados como root.
  • Pelo menos 2 GB de RAM livres para o WildFly e a aplicação.
  • Portas usadas por padrão: 8080 (aplicações) e 9990 (console de administração).
  • A versão mais recente no momento desta revisão é a 41.0.1.Final. Confira a atual na página de downloads do WildFly.

Passo 1: instalar o Java

O WildFly 41 exige Java 17 ou mais novo e é testado com Java 17, 21 e 25. O Java 21 está disponível nos repositórios padrão das distribuições atuais:

# AlmaLinux e Rocky 9
dnf install java-21-openjdk-headless

# Ubuntu 22.04 e 24.04
apt update
apt install openjdk-21-jdk-headless

# Debian 12 (o Java 17 é o disponível no repositório padrão)
apt install openjdk-17-jdk-headless

Confira com java -version.

Passo 2: baixar o WildFly e criar o usuário do serviço

O WildFly não deve rodar como root. Crie um usuário de sistema só para ele e instale em /opt:

WF=41.0.1.Final
cd /tmp
curl -LO https://github.com/wildfly/wildfly/releases/download/$WF/wildfly-$WF.tar.gz
tar xzf wildfly-$WF.tar.gz -C /opt
ln -sfn /opt/wildfly-$WF /opt/wildfly
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
chown -R wildfly:wildfly /opt/wildfly-$WF

O atalho /opt/wildfly facilita as atualizações: na próxima versão, basta extrair a pasta nova, copiar a configuração e apontar o atalho para ela.

Passo 3: criar o usuário do console de administração

/opt/wildfly/bin/add-user.sh

Escolha a opção a (Management User), mantenha o realm ManagementRealm e defina usuário e senha. Esse usuário serve para o console web (porta 9990) e para a linha de comando jboss-cli.sh.

Passo 4: configurar o WildFly como serviço do systemd

Crie o arquivo /etc/systemd/system/wildfly.service:

[Unit]
Description=WildFly
After=network-online.target
Wants=network-online.target

[Service]
User=wildfly
Group=wildfly
ExecStart=/opt/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 127.0.0.1
Restart=on-failure
TimeoutStopSec=60
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

O -b 0.0.0.0 deixa as aplicações acessíveis pela rede. O -bmanagement 127.0.0.1 mantém o console de administração fechado para a internet, que é o recomendado. Ative e inicie:

systemctl daemon-reload
systemctl enable --now wildfly
systemctl status wildfly

O WildFly também traz unidades do systemd prontas na pasta /opt/wildfly/bin/systemd, com um README próprio. A unidade acima faz o mesmo de forma mais direta.

Passo 5: liberar a porta no firewall

# AlmaLinux e Rocky (firewalld)
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

# Ubuntu (ufw)
ufw allow 8080/tcp

Teste no navegador: http://203.0.113.10:8080 deve abrir a página de boas-vindas do WildFly.

Dica: em produção, coloque um Nginx ou Apache na frente, atendendo nas portas 80 e 443 com certificado SSL e repassando para 127.0.0.1:8080. Assim a porta 8080 não precisa ficar aberta para a internet.

Como acessar o console de administração

Como o console só escuta no próprio servidor, acesse por um túnel SSH. No seu computador:

ssh -L 9990:127.0.0.1:9990 [email protected]

Com a conexão aberta, acesse http://localhost:9990 no navegador e entre com o usuário criado no passo 3.

Como publicar uma aplicação (deploy)

O jeito mais simples é copiar o arquivo .war ou .ear para a pasta monitorada:

cp minhaapp.war /opt/wildfly/standalone/deployments/
chown wildfly:wildfly /opt/wildfly/standalone/deployments/minhaapp.war

Em alguns segundos aparece um arquivo marcador ao lado: minhaapp.war.deployed significa sucesso e minhaapp.war.failed indica erro (o motivo fica no log). Pela linha de comando:

/opt/wildfly/bin/jboss-cli.sh --connect --command="deploy /caminho/minhaapp.war"

O log principal fica em /opt/wildfly/standalone/log/server.log.

Problemas comuns

Address already in use na porta 8080

Outro programa (um Tomcat, por exemplo) já usa a porta. Descubra qual com ss -ltnp | grep 8080. Para deslocar todas as portas do WildFly, acrescente -Djboss.socket.binding.port-offset=100 no ExecStart: a 8080 vira 8180 e a 9990 vira 10090.

ClassNotFoundException em classes javax

A aplicação foi feita para Java EE 8 ou anterior e precisa ser migrada para Jakarta EE. Ferramentas como o Eclipse Transformer convertem os pacotes automaticamente, mas teste bem antes de colocar em produção.

OutOfMemoryError ou servidor lento

Ajuste a memória da JVM no arquivo /opt/wildfly/bin/standalone.conf, na variável JAVA_OPTS (opções -Xms e -Xmx), e reinicie com systemctl restart wildfly.

O serviço não sobe

Veja o motivo com journalctl -u wildfly -e. Os erros mais comuns são Java ausente ou antigo e permissão: a pasta do WildFly precisa pertencer ao usuário wildfly.

Precisa de um servidor para rodar suas aplicações Java? Conheça os servidores dedicados da POP Hosting, com acesso root e suporte em português.

Esta resposta lhe foi útil?
« Retornar