Como Instalar o Payara Server 4.1 com JDK 8 no Centos 7

Introdução:

O interessante sobre esse post é que para falar do payara, eu vou começar a falando do glassfish mas se você quiser pular direto para parte prática desse post, apenas ignore essa introdução.

O Sun Glassfish Server foi um servidor de aplicação desenvolvido pela Sun lançado em junho de 2005 e em maio de 2006 teve sua primeira versão suportava a especificação Java EE5.  O sucesso do Glassfish, versatilidade e estabilidade chamou a atenção da Ericsson que decidiu lançar o projeto SAILFIN que nada mais era do que a implementação do suporte ao Protocolo de Iniciação de Sessão (SIP). Até a sua versão 3  o Glassfish seguia sua vida sendo um servidor open source.

Em dezembro de 2009 foi lançado a versão 3 que provia suporte a implementação Java EE6 com uma série de melhoras, mas em março de 2010 com a aquisição da Oracle o produto deixaria de ter um roadmap de atualizações e melhorias não consistente. Dessa forma surge como uma alternativa de migração fácil o Payara que nada mais é do que uma versão continuada do Glassfish.

Pré Requisitos:

Para instalarmos o Payara Server Full vamos precisar de:

  • Um servidor com arquitetura 64bits com Centos 7.x ou 8.x instalado.
  • Acesso root ou sudo .
  • JDK8 ou OPENJDK8.

Uma das perguntas que você deve estar se fazendo a essa altura é: “Lucas, quais são os requisitos mínimos do servidor ? ”

Embora eu possa sugerir uma configuração minima, é pouco provável que eu acerte as suas reais necessidades. Sabemos que o Java gosta de memória não é mesmo ? Para este tutorial, estou usando uma VPS com as seguintes Specs:

  •  1x vCPU.
  • 1GB Memória.
  • 30Gb SSD.

A JDK e o Payara não devem ocupar mais que 1Gb em disco, porém é importante ter em mente o dimensionamento de Logs e outros arquivos que podem ser criados em tempo de execução.

Para uma recomendação ( minima ) de um servidor de aplicação com pouca demanda considerado produtivo ( ambiente de produção ), poderia ser a seguinte ( para começar )

  • 4x vCPU.
  • 4GB Memória.
  • 50Gb SSD.

Atualizando o Sistema

Este é um passo opcional, eu particularmente gosto de manter meus ambientes atualizados com os repositórios oficiais, se você está realizando esse procedimento em um servidor existente, considere o impacto e a compatibilidade dos pacotes antes de executar o comando abaixo.

[root@server~] yum update -y

Criando Usuário  Payara

Você pode rodar o payara sob qualquer usário, inclusive o root apesar de não recomendado. Porém aqui eu vou criar um usuário especifico chamado payara e seu home será em /app/home .
Na atual empresa que trabalho tomou como padrão utilizar o /app para instalações que não são da distro. O Ideal, seria utilizar o /opt.

[root@server~]  mkdir -p /app
[root@server~]  useradd -d /app/payara -m -c "Payara Server User" payara

Baixando a JDK 8

Como estamos instalando tudo no /app vamos instalar a jdk lá também.  E para isso vamos usar a jdk da oracle

[root@server ~]  cd /app/
[root@server app]  wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz

Se a sua instalação não possuir o wget instale ele com o comando:

yum install wget -y

Agora que já baixamos o pacote vamos extraí-lo, para isso vamos rodar o seguinte comando:

tar -zxvf jdk-8u161-linux-x64.tar.gz

O comando acima irá extrar o conteúdo da pasta jdk para jdk1.8.0_161 com isso no final vamos criar um link simbólico para que o caminho fique normalizado com /app/jdk:

ln -s jdk1.8.0_161 jdk

Até aqui se tudo ocorreu bem a jdk deve estar disponível  em /app/jdk, e podemos verificar assim.

[root@server jdk]# ls -l /app/jdk
lrwxrwxrwx. 1 root root 12 Apr 11 23:58 /app/jdk -> jdk1.8.0_161
[root@server jdk]#

Porém para executar o java precisamos que java esteja disponível no path  então como root vamos criar um arquivo no caminho /etc/profile.d/ chamado jdk.sh.

O Arquivo /etc/profile.d/jdk.sh deve ter o seguinte conteúdo:

JAVA_HOME=/app/jdk

PATH=$PATH:$JAVA_HOME:bin

export JAVA_HOME PATH

Para criá-lo vamos rodar os seguintes comandos:

echo JAVA_HOME=/app/jdk >> /etc/profile.d/jdk.sh
echo 'PATH=$PATH:$JAVA_HOME/bin'  >> /etc/profile.d/jdk.sh
echo export JAVA_HOME PATH >> /etc/profile.d/jdk.sh

E pronto, assim está instalada sua JVM 1.8.

Resumo de onde estamos

Até agora, o que fizemos foi:

  1. Criamos uma VM com centos 7 em seu provedor preferido.
  2. Atualizamos o centos.
  3. Baixamos  e instalamos a JDK 1.8.

Ok, tudo até aqui foi feito, ou pelo menos eu esperava que fosse, feito com o usuário root. De agora em diante vamos virar o usuário payara criado anteriormente e vamos verificar se o java foi instalado corretamente.

Para isso como root vamos rodar:

[root@server jdk]# su - payara
Last login: Thu Apr 12 00:04:41 UTC 2018 on pts/0
[payara@server ~]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[payara@server ~]$ logout
[root@server jdk]#

Note a saída do comando java -version acima, se você teve uma saída diferente da superior, reveja seus passos até esse ponto.

Os próximos passos serão executados com o usuário payara, para isso vamos executar o comando su – <usuário>

[root@server jdk]# su - payara
Last login: Thu Apr 12 00:04:41 UTC 2018 on pts/0
[payara@server ~]$

Como criamos o  usuário payara em /app/payara, vamos executar o download do servidor de aplicações da página: https://www.payara.fish/downloads.

Para isso eu usei o curl mesmo, copiando o link do botão de download e colando entre aspas duplas tendo certeza que no final o -o “arquivo.zip” tenha o direcionamento correto da saída.

[payara@server ~]$ curl -L "<Endereço do Botão de Donload>" -o payara-5.182.zip

No final, execute o comando unzip payara-5.182.zip, e uma pasta  payara5 deve ser criada, navegue até a pasta bin conforme abaixo:

[payara@node-1 ~]$ cd payara5
[payara@node-1 payara5]$ cd bin
[payara@node-1 bin]$ ls
asadmin asadmin.bat pkg pkg.bat updatetool updatetool.bat
[payara@node-1 bin]$ ./asadmin start-domain

O comando do final, ./asadmin start-domain,  irá iniciar o domain, para acessar ele é só criar um tunel pelo ssh para localhost:4848 ou liberar o acesso com senha,

Colocando uma senha no Domain Admin:

[payara@node-1 bin]$ ./asadmin change-admin-password
Enter admin user name [default: admin]>admin
Enter the admin password>
Enter the new admin password>
Enter the new admin password again>

[payara@node-1 bin]$ ./asadmin enable-secure-admin

Depois disso se tudo der certo você irá conseguir acessar o domain admin pelo ip publico de seu server em https://<ip_do_seu_servidor>:4848

Por hoje é só 🙂

Sobre Lucas Nishimura

Check Also

Badass Dog – Olhá Só :p