HTTPS + Mod SSL

Configurando Ambiente de Produção no JBoss AS 7.1.3 (JBoss EAP 6.0.1) – Parte 1

Postado em Atualizado em

Olá amigos,

Sempre coloquei aqui no blog dicas para resolver algum determinado problema ou configurar alguma coisa especifica. Hoje decidi fazer algo mais interessante. Vamos configurar um ambiente de produção com CentOS 6.4, Apache HTTP Server,  JBoss AS 7.1.3 (JBoss EAP 6.0.1) + Mod Cluster, e JDK 7. Vou expor nesse post,  pelo menos o minímo para termos um bom ambiente de produção. Se eu esqueçer alguma coisa ou falar bobagem nao deixem de me corrigir.

Esse post vai ser meio longo então decidi dividi-lo em partes para não ficar muito cansativo.

Baixando e Instalando o JDK 7

Java Development Kit é um conjunto de utilitários que permitem criar softwares para a plataforma Java.  Esse kit é composto por compilador e bibliotecas. Existem várias implementações no mercado cada qual com a sua especificidade. Umas são feitas para se comportar melhor com determinado hardware outras são especificas para ambientes de missão crítica. Nós vamos utilizar a Oracle HotSpot que eu acredito que seja a mais utilizada atualmente. Vou deixar abaixo alguns links para mais informações sobre as JDKs.

Para baixar o JDK 7 navegue até a página http://www.oracle.com/technetwork/java/javase/downloads/index.html e escolha a opção Java Platform (JDK). Em seguida você será direcionado para outra página onde deverá aceitar a License Agreement. Baixe a versão jdk-7u17-linux-x64.rpm.

Para instalar o JDK execute o seguinte comando como root:

  rpm -Uvh /path/to/binary/jdk-7u17-linux-x64.rpm

Agora vamos configurar os utilitários java, javaws e javac. Execute os comandos abaixo:

## Java ##
alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_17/jre/bin/java 20000
## Javaws ##
alternatives --install /usr/bin/javaws javaws /usr/java/jdk1.7.0_17/jre/bin/javaws 20000
## Javac ##
alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_17/bin/javac 20000
alternatives --install /usr/bin/jar jar /usr/java/jdk1.7.0_17/bin/jar 20000

Para verificar se instalamos corretamente o JKD 7, execute java -version:

java -version
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

A instalação do JDK 7 está finalizada.

Instalando e Configurando o Apache HTTP Server

O Apache é o servidor web mais popular atualmente em todo o mundo. Vamos utilizá-lo como proxy reverso e load balancer. Presumo que você já esteja familiarizado com esses termos.

Para instalar o Apache execute o seguinte comando:

 yum install httpd

O proxímo passo é adicionar os native webserver connectors. Vou deixar aqui o arquivo jboss-eap-native-webserver-connectors-6.0.1-RHEL6-x86_64.zip que contém as bibliotecas necessárias para o funcionamento do mod_cluster. Descompacte o arquivo jboss-eap-native-webserver-connectors-6.0.1-RHEL6-x86_64.zip e copie as seguintes bibliotecas para o diretórios modules do Apache Web Server.

cp jboss-eap-6.0/modules/native/lib64/httpd/modules/mod_advertise.so /etc/httpd/modules/
cp jboss-eap-6.0/modules/native/lib64/httpd/modules/mod_manager.so /etc/httpd/modules/
cp jboss-eap-6.0/modules/native/lib64/httpd/modules/mod_proxy_cluster.so /etc/httpd/modules/
cp jboss-eap-6.0/modules/native/lib64/httpd/modules/mod_slotmem.so /etc/httpd/modules/

Edite o arquivo /etc/httpd/conf/httpd.conf e comente a linha LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ,  para não ocorrer um conflito com LoadModule proxy_cluster_module modules/mod_proxy_cluster.so:

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

E adicione os módulos para que o Apache “enxergue” o mod cluster:

LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so

Devemos criar o arquivo  mod_cluster.conf que conterá as configurações do mod_cluster.

Agora em /etc/httpd/conf.d/ crie o arquivo mod_cluster.conf e adicione as configurações abaixo:

<VirtualHost 192.168.0.140:80>

<Directory />
Order deny,allow
Allow from all
</Directory>

KeepAliveTimeout 60
ManagerBalancerName mycluster
MaxKeepAliveRequests 0
ServerAdvertise On

EnableMCPMReceive On

</VirtualHost>

<Location /mod_cluster-manager>
SetHandler mod_cluster-manager
Order deny,allow
Allow from all
</Location>

Acesse a url http://localhost/mod_cluster-manager, você deverá ver algo semelhante a imagem abaixo:

modcluster

Por enquando é isso. Até a próxima parte.

Abraços