Páginas

quarta-feira, 1 de abril de 2015

Configurando JBoss EAP 6 no Centos 7

Nesta postagem irei mostrar como configurar o JBoss EAP 6.x no Centos 7 e colocar como serviço no systemd. 

Desde o seu lançamento, em meiados de 2014, a nova versão vem ganhando força e atualmente já está totalmente consolidada no mercado.


Nas publicações anteriores utilizamos o Centos 6 para rodar o JBoss EAP 6, mas para quem já está querendo utilizar o Centos 7, irei mostrar como realizar as principais configurações para o perfeito funcionamento do JBoss EAP 6, baseando-se no projeto anterior de um ambiente de produção com alta disponibilidade.

Levando em consideração que todo o processo de configuração do JBoss independe do Sistema Operacional, irei mostrar nesta postagem apenas como configurar o JBoss EAP 6 como serviço no Centos 7 e incluí-lo no systemd.

Alguns comandos que utilizamos na versão anterior do Centos sofreram algumas alterações, como o caso dos mostrados abaixo:

Desabilitando o IPTables

O IpTbales vem por padrão configurado para inicializar automaticamente com o Sistema Operacional, para desabilitar esta opção, basta executar o comando abaixo:

[root@localhost]# systemctl disable iptables.service


Para finalizar o serviço do iptables em execução, basta executar o comando abaixo:

[root@localhost]# systemctl stop iptables.service

Desabilitando o Firewall

O Firewall, da mesma forma que o IpTbales, tambem vem habilitado para inicializar com o SO, para desabilitar, execute o comando abaixo:

[root@localhost]# systemctl disable firewalld

Para finalizar o serviço do Firewall, basta executar o comando abaixo:

[root@localhost]# systemctl stop firewalld

Estes são alguns dos comandos que sofreram alteração, a seguir mostrarei como configurar desde o início o JBoss EAP 6 como serviço no Centos 7:

Configurando o JBoss EAP 6 como serviço no Centos 7


Todo o processo de configuração como serviço é bem parecido como na versão do Centos 6, porém, precisaremos realizar alguns passos a mais para incluir o serviço do JBoss no systemd do Sistema Operacional, abaixo, irei descrever o processo completo para isso:

1- Primeiro, teremos que criar um usuário para o JBoss, conforme o comando abaixo:

[root@localhost]# adduser jboss


2- Vamos agora definir uma senha para este usuário:

[root@localhost]# passwd jboss


3- Vamos descompactar o JBoss no diretório /opt

[root@localhost]# unzip /tmp/jboss-eap-6.3.0.zip -d /opt


4- Agora vamos dar as permissões para o usuário jboss

[root@localhost]# chown -R jboss.jboss /opt/jboss-eap-6.3


5- Vamos criar um link simbólico do JBoss para facilitar a configuração

[root@localhost]# ln -s /opt/jboss-eap-6.3 /opt/jboss


6 - Precisaremos criar alguns diretórios que o serviço utilizará, conforme os comandos abaixo:

[root@localhost]# mkdir /var/log/jboss-as
[root@localhost]# mkdir /var/run/jboss-as
[root@localhost]# mkdir /etc/jboss-as


Precisaremos dar a permissão para o usuário jboss a estes diretórios:

[root@localhost]# chown -R jboss.jboss /var/run/jboss-as
[root@localhost]# chown -R jboss.jboss /var/log/jboss-as
[root@localhost]# chown -R jboss.jboss /etc/jboss-as


7 - Será necessário copiar o arquivo de configuração do serviço para o diretório criado, conforme o comando abaixo:

[jboss@localhost]$ cp /opt/jboss/bin/init.d/jboss-as.conf /etc/jboss-as


8- Alguns ajustes serão necessários neste arquivo. Neste momento será configurado um Domain Controller, então deixe o arquivo conforme mostrado abaixo:

# General configuration for the init.d scripts,
# not necessarily for JBoss AS itself.

# The username who should own the process.
#
JBOSS_USER=jboss

# The amount of time to wait for startup
#
# STARTUP_WAIT=30

# The amount of time to wait for shutdown
#
# SHUTDOWN_WAIT=30

# Location to keep the console log
#
JBOSS_CONSOLE_LOG=/var/log/jboss-as/console.log

JBOSS_HOME=/opt/jboss

JBOSS_HOST_CONFIG=host-master.xml



9 - Agora será necessário copiar o script de inicialização para o diretório /etc/init.d, conforme o comando abaixo:

[root@localhost]# cp /opt/jboss/bin/init.d/jboss-as-domain.sh /etc/init.d


10- Renomeie o arquivo conforme mostrado abaixo:

[root@localhost]# mv /etc/init.d/jboss-as-domain.sh /etc/init.d/jboss



11 - Agora vamos criar um script para o systemd, conforme mostrado abaixo:

[root@localhost]# vim /etc/systemd/system/jboss.service


Deixe o arquivo conforme mostrado abaixo:

[Unit]
Description=JBoss EAP Service
After=syslog.target network.target

[Service]
ExecStart=/etc/init.d/jboss start
ExecStop=/etc/init.d/jboss stop
Type=forking
PIDFile=/var/run/jboss-as/jboss-as-domain.pid

[Install]
WantedBy=multi-user.target


12 - Ajuste as permissões do arquivo criado, conforme mostrado abaixo:

[root@localhost]# chmod 644 /etc/systemd/system/jboss.service


13 -  Caso queira que o JBoss inicialize junto com o Sistema Operacional, crie um link simbólico para a opção multi-user, conforme mostrado abaixo, caso contrário, pule esta etapa:

[root@localhost]# ln -s /etc/systemd/system/jboss.service /etc/systemd/system/multi-user.target.wants/jboss.service


14 - Se você criou o link simbólico do item anterior e que remover o JBoss da inicialização do Sistema Operacional, então execute o comando abaixo:

[root@localhost]# systemctl disable jboss.service


Iniciando o JBoss pelo Systemd


Pronto, a partir deste ponto já temos o JBoss configurado no systemd e poderá ser inicializado com o comando abaixo:

[jboss@localhost]$  sudo systemctl start jboss.service


Para finalizar o serviço em execução, basta executar o comando abaixo:

[jboss@localhost]$ sudo systemctl stop jboss.service


Para verificar o status, basta executar o comando abaixo:

[jboss@localhost]$ sudo systemctl status jboss.service



Com estas dicas acima, já é possível migrar o JBoss EAP 6.x para o Centos 7 e desfrutar das vantagens do novo SO.


Até a próxima.

Nenhum comentário :

Postar um comentário