<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Learning JBoss</title>
	<atom:link href="http://jbossdivers.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jbossdivers.wordpress.com</link>
	<description>Aprendendo a aprender...</description>
	<lastBuildDate>Fri, 24 Feb 2012 15:15:56 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jbossdivers.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Learning JBoss</title>
		<link>http://jbossdivers.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jbossdivers.wordpress.com/osd.xml" title="Learning JBoss" />
	<atom:link rel='hub' href='http://jbossdivers.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Balanceamento de Carga no JBoss AS 6.1 – Parte 2 ( Final )</title>
		<link>http://jbossdivers.wordpress.com/2012/02/14/balanceamento-de-carga-no-jboss-as-6-1-parte-2-final/</link>
		<comments>http://jbossdivers.wordpress.com/2012/02/14/balanceamento-de-carga-no-jboss-as-6-1-parte-2-final/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 23:45:47 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss AS 6]]></category>
		<category><![CDATA[JBoss AS 6 Cluster]]></category>
		<category><![CDATA[JBoss Mod Cluster]]></category>
		<category><![CDATA[Load Balance]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=739</guid>
		<description><![CDATA[Mod Cluster  é um balanceador de carga HTTP,  mas diferente do mod_jk, o mod_cluster se baseia na carga da aplicação para distribuir as requisições. Vamos utilizar o Mod Cluster 1.1.3. O primeiro passo é baixar os binários para o sistema operacional que será utilizado. Para isso execute o comando abaixo: Copie os arquivos  *.so, para [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=739&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/02/logo2.gif"><img class="aligncenter size-full wp-image-757" title="logo2" src="http://jbossdivers.files.wordpress.com/2012/02/logo2.gif?w=544" alt=""   /></a></p>
<p>Mod Cluster  é um balanceador de carga HTTP,  mas diferente do mod_jk, o mod_cluster se baseia na carga da aplicação para distribuir as requisições. Vamos utilizar o Mod Cluster 1.1.3.</p>
<p>O primeiro passo é baixar os binários para o sistema operacional que será utilizado. Para isso execute o comando abaixo:</p>
<p><pre class="brush: bash;">
   wget http://downloads.jboss.org/mod_cluster//1.1.3.Final/mod_cluster-1.1.3.Final-linux2-x64-ssl.tar.gz
   wget mod_cluster-1.1.3.Final-linux2-x64-ssl.tar.gz
</pre></p>
<p>Copie os arquivos  *.so, para o diretório /etc/httpd/modules :</p>
<ul>
<li>mod_slotmem.so</li>
<li>mod_manager.so</li>
<li>mod_proxy_cluster.so</li>
<li>mod_advertise.so</li>
</ul>
<p><pre class="brush: bash;">
 cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_slotmem.so /etc/httpd/modules/
 cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_manager.so /etc/httpd/modules/
 cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_proxy_cluster.so /etc/httpd/modules/
 cp /opt/opt/jboss/httpd/lib/httpd/modules/mod_advertise.so /etc/httpd/modules/
</pre></p>
<p>Edite o arquivo httpd.conf, e insira as linhas abaixo:</p>
<p><pre class="brush: bash;">
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
&lt;VirtualHost *:80&gt;
&lt;Directory /&gt;
  Order deny,allow
  Allow from all
&lt;/Directory&gt;
&lt;Location /mod_cluster_manager&gt;
  SetHandler mod_cluster-manager
  Order deny,allow
  Allow from all
&lt;/Location&gt;
  KeepAliveTimeout 60
  MaxKeepAliveRequests 0
  ManagerBalancerName testcluster
  AdvertiseFrequency 5
&lt;/VirtualHost&gt;
</pre></p>
<div>Comente a linha <em>LoadModule proxy_balancer_module modules/mod_proxy_balancer.so</em> ,  para não ocorrer um conflito com <em>LoadModule proxy_cluster_module modules/mod_proxy_cluster.so</em>.</div>
<div></div>
<div>Incie o apache e acesse a url : <a href="http://192.168.0.169/mod_cluster_manager">http://ip/mod_cluster_manager</a> , você deverá ver algo semelhante a imagem abaixo:</div>
<div></div>
<ul>
<li><strong>Mod Cluster Manager<br />
</strong></li>
</ul>
<div></div>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod11.jpg"><img class="aligncenter size-full wp-image-750" title="mod1" src="http://jbossdivers.files.wordpress.com/2012/02/mod11.jpg?w=544" alt=""   /></a></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div>Agora no JBoss AS 6.1, crie um novo profile , para ser utilizado no balanceamento:<pre class="brush: bash;">
  cd /opt/jboss-6.1.0.Final/server/
  cp -Rap all instance01
</pre></p>
</div>
<div></div>
<div>Para habilitar o profile instance01, edite o arquivo :</div>
<div><pre class="brush: bash;">
    vim /opt/jboss-6.1.0.Final/server/instance01/deploy/mod_cluster.sar/META-INF/mod_cluster-jboss-beans.xml
</pre></p>
</div>
<div>Altere a seguinte linha conforme abaixo:</div>
<div><pre class="brush: xml;">
     &lt;property name=&quot;advertise&quot;&gt;${jboss.mod_cluster.advertise.enabled:true}&lt;/property&gt;&lt;/div&gt;
</pre></p>
</div>
<div>Outra forma é acrecentando o  parâmetro a linha de execução:</div>
<div></div>
<div><pre class="brush: bash;">
   -Djboss.mod_cluster.advertise.enabled=true
</pre></p>
</div>
<div>Edite o arqui server.xml :</div>
<div><pre class="brush: bash;">
  vim jboss-6.1.0.Final/server/instance01/deploy/jbossweb.sar/server.xml
</pre></p>
</div>
<div></div>
<div>Adicione o parâmetro para o JvmRoute :<br />
<pre class="brush: xml;">
 &lt;Engine name=&quot;jboss.web&quot; defaultHost=&quot;localhost&quot; jvmRoute=&quot;${jboss.jvmRoute}&quot;&gt;
</pre></p>
</div>
<div></div>
<div>Para finalizar, crei uma nova instância:</div>
<div><pre class="brush: bash;">
   cp -Rap instance01 instance02
</pre></p>
</div>
<div>Agora inicie as duas instâncias, utilizando os comandos abaixo:</div>
<div><pre class="brush: bash;">

./run.sh -b 0.0.0.0 -g mycluster -c instance01 -Djboss.service.binding.set=ports-default -Djboss.jvmRoute=&quot;instance01&quot;  -Djboss.messaging.ServerPeerID=1

 ./run.sh -b 0.0.0.0 -g mycluster -c instance02 -Djboss.service.binding.set=ports-01 -Djboss.jvmRoute=&quot;instance02&quot;  -Djboss.messaging.ServerPeerID=2
</pre></p>
</div>
<div></div>
<div>Acesse novamente <a href="http://192.168.0.169/mod_cluster_manager">http://ip/mod_cluster_manager</a> ,  você deverá ver as instâncias que acabamos de inciar:</div>
<div></div>
<ul>
<li><strong>Mod Cluster Manager / Instances</strong></li>
</ul>
<div></div>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod2.jpg"><img class="aligncenter size-full wp-image-751" title="mod2" src="http://jbossdivers.files.wordpress.com/2012/02/mod2.jpg?w=544&#038;h=201" alt="" width="544" height="201" /></a></div>
<div></div>
<div>Baixe o Java Bundles do Mod Cluster. Vamos utilizar as aplicações de demo, para realizar alguns testes:</div>
<div><pre class="brush: bash;">
  wget http://downloads.jboss.org/mod_cluster//1.1.3.Final/mod_cluster-1.1.3.Final-bin.tar.gz&lt;/div&gt;
  tar -xvzf mod_cluster-1.1.3.Final-bin.tar.gz
</pre></p>
</div>
<div>Faça  o deploy da aplicação load-demo.war , na pasta farm de instance01 para que seja replicado para instance02.</div>
<div><pre class="brush: bash;">
   cp demo/server/load-demo.war /opt/jboss-6.1.0.Final/server/instance01/farm/
</pre></p>
</div>
<div>Veja que a aplicação já está disponível e pronto para os testes:</div>
<ul>
<li><strong>Mod Cluster Manager / Instances / Deploy<br />
</strong></li>
</ul>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod3.jpg"><img class="aligncenter size-full wp-image-752" title="mod3" src="http://jbossdivers.files.wordpress.com/2012/02/mod3.jpg?w=544&#038;h=340" alt="" width="544" height="340" /></a></div>
<div></div>
<div></div>
<div></div>
<div>Agore execute o client, e divirta-se a vontade.</div>
<div></div>
<div><pre class="brush: bash;">
cd demo/client
./run-demo.sh
</pre></p>
</div>
<ul>
<li><strong>Client Demo &#8211; Client Controll<br />
</strong></li>
</ul>
<div></div>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod111.jpg"><img class="aligncenter size-full wp-image-755" title="mod11" src="http://jbossdivers.files.wordpress.com/2012/02/mod111.jpg?w=544&#038;h=318" alt="" width="544" height="318" /></a></div>
<div></div>
<div></div>
<div>
<ul>
<li><strong>Client Demo &#8211; Server Load Controll</strong></li>
</ul>
</div>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod12.jpg"><img class="aligncenter  wp-image-756" title="mod12" src="http://jbossdivers.files.wordpress.com/2012/02/mod12.jpg?w=551&#038;h=320" alt="" width="551" height="320" /></a></div>
<div></div>
<div>
<ul>
<li><strong>Client Demo &#8211; Request Balancing<br />
</strong></li>
</ul>
</div>
<div></div>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod13.jpg"><img class="aligncenter size-full wp-image-753" title="mod13" src="http://jbossdivers.files.wordpress.com/2012/02/mod13.jpg?w=544&#038;h=322" alt="" width="544" height="322" /></a></div>
<div></div>
<div></div>
<div>
<ul>
<li><strong>Client Demo &#8211; Sesssion Balancing<br />
</strong></li>
</ul>
</div>
<div></div>
<div></div>
<div></div>
<div><a href="http://jbossdivers.files.wordpress.com/2012/02/mod14.jpg"><img class="aligncenter size-full wp-image-754" title="mod14" src="http://jbossdivers.files.wordpress.com/2012/02/mod14.jpg?w=544&#038;h=319" alt="" width="544" height="319" /></a></div>
<div></div>
<div></div>
<div></div>
<div>Espero que tenha ajudado <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div></div>
<div>Fonte: <a href="http://www.jboss.org/mod_cluster/">http://www.jboss.org/mod_cluster/</a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/739/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/739/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/739/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=739&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/02/14/balanceamento-de-carga-no-jboss-as-6-1-parte-2-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/logo2.gif" medium="image">
			<media:title type="html">logo2</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod11.jpg" medium="image">
			<media:title type="html">mod1</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod2.jpg" medium="image">
			<media:title type="html">mod2</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod3.jpg" medium="image">
			<media:title type="html">mod3</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod111.jpg" medium="image">
			<media:title type="html">mod11</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod12.jpg" medium="image">
			<media:title type="html">mod12</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod13.jpg" medium="image">
			<media:title type="html">mod13</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/mod14.jpg" medium="image">
			<media:title type="html">mod14</media:title>
		</media:content>
	</item>
		<item>
		<title>Utilizando LDAP Login Module no JBoss AS 7.1</title>
		<link>http://jbossdivers.wordpress.com/2012/02/12/utilizando-ldap-login-module-no-jboss-as-7-1/</link>
		<comments>http://jbossdivers.wordpress.com/2012/02/12/utilizando-ldap-login-module-no-jboss-as-7-1/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 18:25:04 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[LDAP JBoss]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=652</guid>
		<description><![CDATA[Segundo a Wikipedia LDAP Lightweight Directory Access Protocol, ou LDAP, é um protocolo para atualizar e pesquisar diretórios rodando sobre TCP/IP. Um servidor LDAP pode fornecer uma central de informações de diretório para: • As credenciais do usuário (login e senha) • Informações de diretório do usuário (como nomes e endereços de correio electrónico) • [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=652&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px417.png"><img class="aligncenter size-full wp-image-653" title="jbossas7_logo_600px41" src="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px417.png?w=544" alt=""   /></a></p>
<p>Segundo a Wikipedia <a href="http://pt.wikipedia.org/wiki/LDAP">LDAP </a><strong>Lightweight Directory Access Protocol</strong>, ou <strong>LDAP</strong>, é um <a title="Protocolo" href="http://pt.wikipedia.org/wiki/Protocolo">protocolo</a> para atualizar e pesquisar diretórios rodando sobre <a title="TCP/IP" href="http://pt.wikipedia.org/wiki/TCP/IP">TCP/IP</a>.</p>
<p>Um servidor LDAP pode fornecer uma central de informações de diretório para:</p>
<p>• As credenciais do usuário (login e senha)<br />
• Informações de diretório do usuário (como nomes e endereços de correio electrónico)<br />
• Web diretórios</p>
<p>Vamos instalar o OpenLDAP e criar a nossa primeira estrutura de diretórios.</p>
<p><strong>Instalando e Criando a Estrutura Inicial do OpenLDAP<br />
</strong></p>
<p>Para instalar o LDAP no CentOS 6.2, execute o comando abaixo:</p>
<p><pre class="brush: bash;">
   yum install openldap openldap-servers openldap-devel compat-openldap php-ldap openldap-clients
</pre></p>
<p>O próximo passo é gerar a senha root do Distinguished Name (dn) :</p>
<p><pre class="brush: bash;">
  /usr/sbin/slappasswd
</pre></p>
<p>Anote o Hash retornado:</p>
<p><em>{SSHA}lQtV0mTn20N8PLuurHjoqgkXMPe0owG3</em></p>
<p>Copie o DB_CONFIG.example para <em>/var/lib/ldap/</em> :</p>
<p><pre class="brush: bash;">
  cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
</pre></p>
<p>Edite o arquivo de configuração:</p>
<p><pre class="brush: bash;">
  vim /etc/openldap/ldap.conf
</pre></p>
<p>E deixe-o como abaixo:</p>
<p><pre class="brush: bash;">
 include /etc/openldap/schema/core.schema
 include /etc/openldap/schema/cosine.schema
 include /etc/openldap/schema/inetorgperson.schema
 include /etc/openldap/schema/nis.schema
 allow bind_v2
 pidfile /var/run/openldap/slapd.pid
 argsfile /var/run/openldap/slapd.args
 database bdb
 suffix &quot;dc=example,dc=com&quot;
 rootdn &quot;cn=Manager,dc=example,dc=com&quot;
 rootpw {SSHA}lQtV0mTn20N8PLuurHjoqgkXMPe0owG3
 directory /var/lib/ldap
 index objectClass eq,pres
 index ou,cn,mail,surname,givenname eq,pres,sub
 index uidNumber,gidNumber,loginShell eq,pres
</pre></p>
<p>Para iniciar o serviço execute:</p>
<p><pre class="brush: bash;">
  /etc/init.d/slapd start
</pre></p>
<p>Agora crie o arquivo LDIF, conforme a estrutura abaixo:</p>
<p><pre class="brush: bash;">
dn: dc=example,dc=com
objectclass: top
objectclass: dcObject
objectclass: organization
dc: example
o: MCC

dn: ou=People,dc=example,dc=com
objectclass: top
objectclass: organizationalUnit
ou: People

dn: uid=admin,ou=People,dc=example,dc=com
objectclass: top
objectclass: uidObject
objectclass: person
uid: admin
cn: Manager
sn: Manager
userPassword: secret

dn: ou=Roles,dc=example,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Roles

dn: cn=Manager,ou=Roles,dc=example,dc=com
objectClass: top
objectClass: groupOfNames
cn: Manager
description: the Sample group
member: uid=admin,ou=People,dc=example,dc=com
</pre></p>
<p>Adicione usuário ao LDAP, utilizando o comando abaixo:</p>
<p><pre class="brush: bash;">
  ldapadd -x -D &quot;cn=Manager,dc=example,dc=com&quot; -W -f users.ldif
</pre></p>
<p><em>Enter LDAP Password:</em><br />
<em>adding new entry &#8220;dc=example,dc=com&#8221;</em><br />
<em>adding new entry &#8220;ou=People,dc=example,dc=com&#8221;</em><br />
<em>adding new entry &#8220;uid=admin,ou=People,dc=example,dc=com&#8221;</em><br />
<em>adding new entry &#8220;ou=Roles,dc=example,dc=com&#8221;</em><br />
<em>adding new entry &#8220;cn=Manager,ou=Roles,dc=example,dc=com&#8221;</em></p>
<p>Se ocorrer algum problema, sigam as dicas desse link: <a href="http://www.ezylinux.com/en/red-hat-6-how-to-fixes-ldapadd-ldap_bind-invalid-credentials-49/">http://www.ezylinux.com/en/red-hat-6-how-to-fixes-ldapadd-ldap_bind-invalid-credentials-49/</a></p>
<p><strong>Utilizando o Apache Directory Studio</strong></p>
<p>Clique no Menu File  &#8211;&gt; New, e crie uma nova LDAP Connection:</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/ldap02.jpg"><img class="aligncenter  wp-image-725" title="ldap02" src="http://jbossdivers.files.wordpress.com/2012/02/ldap02.jpg?w=416&#038;h=396" alt="" width="416" height="396" /></a></p>
<p>Preencha os dados de conexão conforme o seu ambiente:</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/ldap03.jpg"><img class="aligncenter  wp-image-723" title="ldap03" src="http://jbossdivers.files.wordpress.com/2012/02/ldap03.jpg?w=398&#038;h=407" alt="" width="398" height="407" /></a></p>
<p>Insira os dados de acesso configurados anteriormente e verifique se a conexão foi realizada com sucesso:</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/ldap05.jpg"><img class="aligncenter  wp-image-724" title="ldap05" src="http://jbossdivers.files.wordpress.com/2012/02/ldap05.jpg?w=450&#038;h=299" alt="" width="450" height="299" /></a></p>
<p>Agora estamos conectados ao servidor LDAP <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Observe a estrutura criada anteriormente:</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/ldap06.jpg"><img class="aligncenter  wp-image-726" title="ldap06" src="http://jbossdivers.files.wordpress.com/2012/02/ldap06.jpg?w=408&#038;h=224" alt="" width="408" height="224" /></a></p>
<p>Agora estamos pronto para iniciar a configuração do JBoss, para autenticação no LDAP.</p>
<p><strong>Configurando o JBoss AS 7.1</strong></p>
<p>O primeiro passo é <span id="result_box" lang="pt"> <span class="hps">adicionar o</span> <span class="hps atn">&#8220;my</span>_ldap_security_domain&#8221;  <span class="hps">no arquivo</span><span class="hps"> JBOSS_HOME/standalone/configuration/standalone.xml , como abaixo:<br />
</span></span></p>
<p><pre class="brush: bash;">
&lt;security-domain name=&quot;my_ldap_security_domain&quot;&gt;
  &lt;authentication&gt;
     &lt;login-module code=&quot;LdapExtended&quot; flag=&quot;required&quot;&gt;
       &lt;module-option name=&quot;java.naming.factory.initial&quot;  value=&quot;com.sun.jndi.ldap.LdapCtxFactory&quot;/&gt;
       &lt;module-option name=&quot;java.naming.provider.url&quot; value=&quot;ldap://localhost:389&quot;/&gt;
       &lt;module-option name=&quot;java.naming.security.authentication&quot; value=&quot;simple&quot;/&gt;
       &lt;module-option name=&quot;bindDN&quot; value=&quot;uid=admin,ou=People,dc=example,dc=com&quot;/&gt;
       &lt;module-option name=&quot;bindCredential&quot; value=&quot;secret&quot;/&gt;
       &lt;module-option name=&quot;baseCtxDN&quot; value=&quot;ou=People,dc=example,dc=com&quot;/&gt;
       &lt;module-option name=&quot;baseFilter&quot; value=&quot;(uid={0})&quot;/&gt;
       &lt;module-option name=&quot;rolesCtxDN&quot; value=&quot;ou=Roles,dc=example,dc=com&quot;/&gt;
       &lt;module-option name=&quot;roleFilter&quot; value=&quot;(member={1})&quot;/&gt;
       &lt;module-option name=&quot;roleAttributeID&quot; value=&quot;cn&quot;/&gt;
       &lt;module-option name=&quot;throwValidateError&quot; value=&quot;true&quot;/&gt;
       &lt;module-option name=&quot;searchScope&quot; value=&quot;ONELEVEL_SCOPE&quot;/&gt;
     &lt;/login-module&gt;
   &lt;/authentication&gt;
&lt;/security-domain&gt;
</pre></p>
<p><span id="result_box" lang="pt"><span class="hps">A login-module &#8220;org.jboss.security.auth.spi.LdapExtLoginModule&#8221; requer a classe </span></span>&#8220;com.sun.jndi.ldap.LdapCtxFactory&#8221;,  então adicione o móludo global ao arquivo <span id="result_box" lang="pt"><span class="hps">JBOSS_HOME/standalone/configuration/standalone.xml :</span></span></p>
<p><pre class="brush: xml;">
&lt;subsystem xmlns=&quot;urn:jboss:domain:ee:1.0&quot;&gt;
  &lt;global-modules&gt;
    &lt;module name=&quot;sun.jdk&quot; slot=&quot;main&quot;/&gt;
  &lt;/global-modules&gt;
&lt;/subsystem&gt;
</pre></p>
<p>Adicione também  a categoria para o logging:</p>
<p><pre class="brush: xml;">
&lt;logger category=&quot;org.jboss.security&quot;&gt;
  &lt;level name=&quot;TRACE&quot;/&gt;
&lt;/logger&gt;
</pre></p>
<p><span id="result_box" lang="pt"><span class="hps">Agora crie uma aplicação para utilizar o dominio de segurança </span></span><span id="result_box" lang="pt"><span class="hps atn">my</span>_ldap_security_domain.</span></p>
<p>No jboss-web.xml , adicione o dominio de segurança:</p>
<p><pre class="brush: xml;">
&lt;jboss-web&gt;
    &lt;security-domain&gt;java:/jaas/my_ldap_security_domain&lt;/security-domain&gt;
&lt;/jboss-web&gt;
&lt;pre&gt;</pre></p>
<p><span id="result_box" lang="pt"><span class="hps">E no web.xml,  as configurações como abaixo:<br />
</span></span></p>
<p><pre class="brush: xml;">
&lt;security-constraint&gt;
  &lt;web-resource-collection&gt;
    &lt;web-resource-name&gt;HtmlAuth&lt;/web-resource-name&gt;
    &lt;description&gt;application security constraints
    &lt;/description&gt;
    &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
    &lt;http-method&gt;GET&lt;/http-method&gt;
    &lt;http-method&gt;POST&lt;/http-method&gt;
  &lt;/web-resource-collection&gt;
  &lt;auth-constraint&gt;
    &lt;role-name&gt;Manager&lt;/role-name&gt;
  &lt;/auth-constraint&gt;
&lt;/security-constraint&gt;
&lt;login-config&gt;
    &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
    &lt;realm-name&gt;Test LDAP&lt;/realm-name&gt;
&lt;/login-config&gt;
&lt;security-role&gt;
    &lt;role-name&gt;Manager&lt;/role-name&gt;
&lt;/security-role&gt;
</pre></p>
<p><span id="result_box" lang="pt"><span class="hps">Faça o deploy e acesse a aplicação. Será solicitado usuário e senha, adicionados anteriormente ( users.ldif  &#8211;&gt; </span></span><span id="result_box" lang="pt"><span class="hps">admin / secret </span></span><span id="result_box" lang="pt"><span class="hps"> ) . </span></span></p>
<p><span id="result_box" lang="pt"><span class="hps"><a href="http://jbossdivers.files.wordpress.com/2012/02/ldap07.jpg"><img class="aligncenter size-full wp-image-730" title="ldap07" src="http://jbossdivers.files.wordpress.com/2012/02/ldap07.jpg?w=544&#038;h=173" alt="" width="544" height="173" /></a></span></span></p>
<p>Vou deixar <a href="https://sites.google.com/site/jbossdivers/ldaptest.zip?attredirects=0&amp;d=1">aqui </a>a aplicação web criada para testar a autenticação no LDAP, o arquivo users.ldif e o standalone.xml.</p>
<p>Espero que tenha ajudado.<br />
Abraços</p>
<p>Fonte: <a href="http://blog.javachap.com/index.php/installing-openldap-on-centos/">http://blog.javachap.com/index.php/installing-openldap-on-centos/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/652/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/652/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/652/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=652&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/02/12/utilizando-ldap-login-module-no-jboss-as-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px417.png" medium="image">
			<media:title type="html">jbossas7_logo_600px41</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/ldap02.jpg" medium="image">
			<media:title type="html">ldap02</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/ldap03.jpg" medium="image">
			<media:title type="html">ldap03</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/ldap05.jpg" medium="image">
			<media:title type="html">ldap05</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/ldap06.jpg" medium="image">
			<media:title type="html">ldap06</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/ldap07.jpg" medium="image">
			<media:title type="html">ldap07</media:title>
		</media:content>
	</item>
		<item>
		<title>Qual JBoss Escolher?</title>
		<link>http://jbossdivers.wordpress.com/2012/02/12/qual-jboss-escolher/</link>
		<comments>http://jbossdivers.wordpress.com/2012/02/12/qual-jboss-escolher/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 16:24:04 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[JBoss AS 5]]></category>
		<category><![CDATA[JBoss AS 6]]></category>
		<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[JBoss EAP x JBoss AS]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=727</guid>
		<description><![CDATA[Se você está em dúvida entre o JBoss EAP da RedHat e JBoss AS da comunidade, assista o video abaixo:<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=727&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Se você está em dúvida entre o JBoss EAP da RedHat e JBoss AS da comunidade, assista o video abaixo:</p>
<span style="text-align:center; display: block;"><a href="http://jbossdivers.wordpress.com/2012/02/12/qual-jboss-escolher/"><img src="http://img.youtube.com/vi/iNFV0r9v14g/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/727/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=727&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/02/12/qual-jboss-escolher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>
	</item>
		<item>
		<title>Café com Java 2012</title>
		<link>http://jbossdivers.wordpress.com/2012/02/11/cafe-com-java-2012/</link>
		<comments>http://jbossdivers.wordpress.com/2012/02/11/cafe-com-java-2012/#comments</comments>
		<pubDate>Sat, 11 Feb 2012 22:10:06 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[Café com Java 2012]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=719</guid>
		<description><![CDATA[Hoje pela manhã no auditório da Caelum na Vila Mariana, aconteceu o  3º Café com Java que  iniciou com o  assunto Classloaders da JVM ministrada pelo Adriano Almeida, foi bem legal e deu pra aprender bastante,  e ainda por cima com alguns comentários do Paulo Silveira da Caelum, que demonstrou conhecer a fundo Java&#8230; As [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=719&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hoje pela manhã no auditório da Caelum na Vila Mariana, aconteceu o  3º Café com Java que  iniciou com o  assunto Classloaders da JVM ministrada pelo Adriano Almeida, foi bem legal e deu pra aprender bastante,  e ainda por cima com alguns comentários do Paulo Silveira da Caelum, que demonstrou conhecer a fundo Java&#8230;<br />
As mini-palestras continuaram com o Arthur Junior, que demonstrou como trabalhar com o JRules. Depois Lucas Catón deu uma introdução ao Ruby on Rails, e isso foi bem divertido <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Para encerrar o dia Eduardo Bregaida fechando com chave de ouro com Scrum Passos e Desafios. Realmente não conhecia muito o Scrum, deu para se ter uma boa idéia do que fazer ou não <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  , no dia a dia utilizando essa metodologia.<br />
Depois rolou uma confraternização bem legal com a galera, deu para conheçer muitas figuras do GUJ, relembramos alguns tópicos épicos de alguns trolls <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
Bom posso dizer que foi muito divertido, e que no próximo nos veremos lá <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Abraços</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/719/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/719/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/719/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=719&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/02/11/cafe-com-java-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>
	</item>
		<item>
		<title>Configurando Proxy Reverso Utilizando Nginx 1.0 / JBoss AS 7.1</title>
		<link>http://jbossdivers.wordpress.com/2012/02/03/configurando-proxy-reverso-utilizando-nginx-1-0-e-jboss-as-7-1/</link>
		<comments>http://jbossdivers.wordpress.com/2012/02/03/configurando-proxy-reverso-utilizando-nginx-1-0-e-jboss-as-7-1/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 03:18:18 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[JBoss AS 7.1 Proxy Reverso]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=696</guid>
		<description><![CDATA[Ambiente: JBoss AS 7.1 CR1 Nginx 1.0.11 RHEL 6.2 Segundo a Wikipedia, Nginx  ( pronuncia-se &#8220;engine-x&#8221; ) é um servidor e proxy reverso HTTP de alta performance, gratuito e livre, bem como um servidor proxy para IMAP/POP3. Foi criado pelo programador russo Igor Sysoev em 2005. Segundo pesquisa da Alexa, reportada pela W3Techs, o nginx [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=696&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/02/nginx_main_logo.gif"><img class="aligncenter  wp-image-697" title="nginx_main_logo" src="http://jbossdivers.files.wordpress.com/2012/02/nginx_main_logo.gif?w=250&#038;h=172" alt="" width="250" height="172" /></a>Ambiente:</p>
<ul>
<li>JBoss AS 7.1 CR1</li>
<li>Nginx 1.0.11</li>
<li>RHEL 6.2</li>
</ul>
<p>Segundo a <a href="http://pt.wikipedia.org/wiki/Nginx">Wikipedia</a>,<strong> Nginx </strong> ( pronuncia-se <strong>&#8220;engine-x&#8221;</strong> ) é um <a title="Servidor" href="http://pt.wikipedia.org/wiki/Servidor">servidor</a> e <a title="Proxy" href="http://pt.wikipedia.org/wiki/Proxy">proxy</a> reverso <a title="HTTP" href="http://pt.wikipedia.org/wiki/HTTP">HTTP</a> de alta <a title="Performance" href="http://pt.wikipedia.org/wiki/Performance">performance</a>, gratuito e livre, bem como um servidor proxy para <a title="IMAP" href="http://pt.wikipedia.org/wiki/IMAP">IMAP</a>/<a title="POP3" href="http://pt.wikipedia.org/wiki/POP3">POP3</a>. Foi criado pelo programador russo Igor Sysoev em <a title="2005" href="http://pt.wikipedia.org/wiki/2005">2005</a>. Segundo pesquisa da <a title="Alexa" href="http://pt.wikipedia.org/wiki/Alexa">Alexa</a>, reportada pela W3Techs, o nginx é usado por 5.2% dos domínios, tornando-se o quarto servidor mais popular. <sup><a href="http://pt.wikipedia.org/wiki/Nginx#cite_note-0">[1]</a></sup> Outra pesquisa, realiazada pela <a title="Netcraft" href="http://pt.wikipedia.org/wiki/Netcraft">Netcraft</a> em Julho de <a title="2010" href="http://pt.wikipedia.org/wiki/2010">2010</a>, o nginx é usado em 5.21% dos domínios, tornando-se o quarto servidor web mais popular.</p>
<p>O JBoss AS 7 é a nova versão do servidor de aplicação open source mais utilizando no mundo. A nova versão é bem leve e modular, trazendo muitos novos recursos da especificação JavaEE6.</p>
<p>O nosso objetivo é realizar a configuração de um proxy reverso utilizando Boss AS 7.1  e Nginx 1.0.</p>
<p>Para instalar o Nginx 1.0 no RHEL 6.2, execute os comandos abaixo:</p>
<p><pre class="brush: bash;">
  mkdir /usr/local/src/nginx
  cd /usr/local/src/nginx
  wget http://nginx.org/download/nginx-1.0.11.tar.gz
  tar -zxvf nginx-1.0.11.tar.gz
  cd nginx-1.0.11
  ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/sbin --conf-path=/etc/nginx/nginx.conf
  make
  make install
</pre></p>
<p>Agora devemos criar o arquivo de inicialização do Nginx. Crie o arquivo nginx</p>
<p><pre class="brush: bash;">
   vim /etc/init.d/nginx
</pre></p>
<p>E adicione o conteúdo abaixo:</p>
<p><pre class="brush: bash;">
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse #               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# pidfile:     /usr/local/nginx/logs/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ &quot;$NETWORKING&quot; = &quot;no&quot; ] &amp;&amp; exit 0

nginx=&quot;/usr/local/sbin/nginx&quot;
prog=$(basename $nginx)

NGINX_CONF_FILE=&quot;/etc/nginx/nginx.conf&quot;

lockfile=/var/lock/subsys/nginx

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $&quot;Starting $prog: &quot;
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] &amp;&amp; touch $lockfile
return $retval
}

stop() {
echo -n $&quot;Stopping $prog: &quot;
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] &amp;&amp; rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
start
}

reload() {
configtest || return $?
echo -n $&quot;Reloading $prog: &quot;
killproc $nginx -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status &gt;/dev/null 2&gt;&amp;1
}

case &quot;$1&quot; in
start)
rh_status_q &amp;&amp; exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $&quot;Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}&quot;
exit 2
esac
</pre></p>
<p>Configure a permisão e adicione-o como serviço.</p>
<p><pre class="brush: bash;">
  chmod +x /etc/init.d/nginx
  chkconfig nginx on
</pre></p>
<p>Inicie o Nginx e acesse a url <em> http://localhost</em> ou <em>http://ip</em> , você deverá visualizar a página no Nginx abaixo:</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/blognginx.jpg"><img class="aligncenter size-full wp-image-699" title="blognginx" src="http://jbossdivers.files.wordpress.com/2012/02/blognginx.jpg?w=544&#038;h=304" alt="" width="544" height="304" /></a>Agora  instale o JBoss AS 7.1 . Para isso leia o post  <a href="http://jbossdivers.wordpress.com/2012/01/20/introducao-ao-jboss-as-7-parte-1/">Introdução ao JBoss AS 7.1 – Parte 1</a>. Devemos realizar o deploy da  nossa aplicação no JBoss AS 7 e verficarmos o nome do contexto.  O contexto será utilizado nos arquivos de configuração do Nginx.</p>
<p>Agora edite o arquivo:</p>
<p><pre class="brush: bash;">
  vim /etc/nginx/nginx.conf
</pre></p>
<p>Abaixo da tag  http, descomente as configurações abaixo:</p>
<p><pre class="brush: bash;">
#http {

log_format  main  '$remote_addr - $remote_user [$time_local] &quot;$request&quot; '
                  '$status $body_bytes_sent &quot;$http_referer&quot; '
                  '&quot;$http_user_agent&quot; &quot;$http_x_forwarded_for&quot;';
</pre></p>
<p>E abaixo da tag server insira as configurações abaixo:</p>
<p><pre class="brush: bash;">
#server {

listen       80;
server_name  localhost;

#charset koi8-r;

access_log /var/log/nginx/host.access.log main;
error_log  /var/log/nginx/host.error.log  debug;
# Obs: Criar o diretorio /var/log/nginx/

location / {
  root      /opt/jboss-as-7.1.0.CR1b/standalone/deployments/myapp_test.war;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://localhost:8080;
}
# }
</pre></p>
<p>A propriedade root ( <em> root   /opt/jboss-as-7.1.0.CR1b/standalone/deployments/myapp_test.war</em>  ) , indica o caminho real da nossa aplicação.</p>
<p>Agora reinicie o Nginx utilizando o comando abaixo:</p>
<p><pre class="brush: bash;">
  service nginx restart;
</pre></p>
<p>Retornará algo pareçido com:</p>
<p><em>nginx: the configuration file /etc/nginx/nginx.conf syntax is ok</em><br />
<em>nginx: configuration file /etc/nginx/nginx.conf test is successful</em><br />
<em>Parando o nginx:                                           [  OK  ]</em><br />
<em>Iniciando o nginx:                                         [  OK  ]</em></p>
<p>Finalmente acesse a url da aplicação: http://localhost/myapp_test/ ou http://ip/myapp_test/ ,  o JBoss AS 7.1 já está trabalhando em conjunto com o Nginx. Veja as imagens abaixo de uma aplicação de teste funcionando perfeitamente.</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/blognginx01.jpg"><img class="aligncenter size-full wp-image-700" title="blognginx01" src="http://jbossdivers.files.wordpress.com/2012/02/blognginx01.jpg?w=544&#038;h=196" alt="" width="544" height="196" /></a></p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/02/blognginx02.jpg"><img class="aligncenter size-full wp-image-701" title="blognginx02" src="http://jbossdivers.files.wordpress.com/2012/02/blognginx02.jpg?w=544&#038;h=201" alt="" width="544" height="201" /></a></p>
<p>Lembre-se que para um ambiente real de produção, teríamos que realizar muitas outras configurações.</p>
<p>Espero que tenha ajudado <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Fonte: <a href="http://www.devmedia.com.br/post-21462-CentOS-5-Instalar-Nginx--um-servidor-web-de-alta-performance.html">http://www.devmedia.com.br/post-21462-CentOS-5-Instalar-Nginx&#8211;um-servidor-web-de-alta-performance.html</a><br />
<a href="http://wiki.nginx.org/Install">http://wiki.nginx.org/Install<br />
</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/696/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/696/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/696/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=696&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/02/03/configurando-proxy-reverso-utilizando-nginx-1-0-e-jboss-as-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/nginx_main_logo.gif" medium="image">
			<media:title type="html">nginx_main_logo</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/blognginx.jpg" medium="image">
			<media:title type="html">blognginx</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/blognginx01.jpg" medium="image">
			<media:title type="html">blognginx01</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/02/blognginx02.jpg" medium="image">
			<media:title type="html">blognginx02</media:title>
		</media:content>
	</item>
		<item>
		<title>Habilitando Log HTTP ( Request , Reponse ) no JBoss AS 5.1</title>
		<link>http://jbossdivers.wordpress.com/2012/01/31/habilitando-log-http-no-jboss-as-5-1/</link>
		<comments>http://jbossdivers.wordpress.com/2012/01/31/habilitando-log-http-no-jboss-as-5-1/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 03:50:14 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss AS 5]]></category>
		<category><![CDATA[HTTP Header]]></category>
		<category><![CDATA[pragma]]></category>
		<category><![CDATA[Problemas HTTPS IE JBoss]]></category>
		<category><![CDATA[request uri]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=685</guid>
		<description><![CDATA[A alguns dias atrás, tive problemas para realizar downloads de alguns arquivos utilizando HTTPS e Internet Explorer. A causa raiz é que requisições ao IE/HTTPS , devem ser realizadas enviando um cabeçalho HTTP completo ( HTTP header full ). Para isso adicione ao request, o código abaixo: Para verificar o funcionamento das requisições,  temos que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=685&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/01/logo3.gif"><img class="aligncenter size-full wp-image-687" title="logo" src="http://jbossdivers.files.wordpress.com/2012/01/logo3.gif?w=544" alt=""   /></a><br />
A alguns dias atrás, tive problemas para realizar downloads de alguns arquivos utilizando HTTPS e Internet Explorer. A causa raiz é que requisições ao IE/HTTPS , devem ser realizadas enviando um cabeçalho HTTP completo ( HTTP header full ).</p>
<p>Para isso adicione ao request, o código abaixo:</p>
<p><pre class="brush: java;">
response.setHeader(&quot;Pragma&quot;, &quot;public&quot;);
response.setHeader(&quot;Cache-Control&quot;, &quot;maxage=3600&quot;);
</pre></p>
<p>Para verificar o funcionamento das requisições,  temos que adicionar ao JBossWeb uma válvula para que seja realizado o logging do request e response.<br />
Sendo assim, edite o arquivo: JBOSS_HOME/server/instance01/deploy/jbossweb.sar/server.xml , e entre as tags Host, adicione o código abaixo:</p>
<p><pre class="brush: xml;">
&lt;Host name=&quot;localhost&quot;&gt;

&lt;Valve className=&quot;org.apache.catalina.valves.RequestDumperValve&quot;
prefix=&quot;localhost_access_log.&quot; suffix=&quot;.log&quot;
pattern=&quot;common&quot; directory=&quot;${jboss.server.log.dir}&quot;
resolveHosts=&quot;false&quot; /&gt;

&lt;/Host&gt;
</pre></p>
<p>Inicie o JBoss, realize o deploy de sua aplicação, você deverá ver algo pareçido com o log abaixo:</p>
<p><pre class="brush: bash;">
01:35:50,269 INFO  [[localhost]] ===============================================================
01:36:00,128 INFO  [[localhost]] REQUEST URI       =/IETest/OutSimplePdf
01:36:00,128 INFO  [[localhost]]           authType=null
01:36:00,128 INFO  [[localhost]]  characterEncoding=null
01:36:00,128 INFO  [[localhost]]      contentLength=-1
01:36:00,128 INFO  [[localhost]]        contentType=null
01:36:00,128 INFO  [[localhost]]        contextPath=/IETest
01:36:00,128 INFO  [[localhost]]             cookie=JSESSIONID=DFD04B42EF225E194C19686823CF91D5
01:36:00,129 INFO  [[localhost]]             header=host=localhost:8080
01:36:00,129 INFO  [[localhost]]             header=user-agent=Mozilla/5.0 (X11; Linux i686; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
01:36:00,129 INFO  [[localhost]]             header=accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
01:36:00,129 INFO  [[localhost]]             header=accept-language=en-us,en;q=0.5
01:36:00,129 INFO  [[localhost]]             header=accept-encoding=gzip, deflate
01:36:00,129 INFO  [[localhost]]             header=accept-charset=ISO-8859-1,utf-8;q=0.7,*;q=0.7
01:36:00,129 INFO  [[localhost]]             header=connection=keep-alive
01:36:00,129 INFO  [[localhost]]             header=referer=http://localhost:8080/IETest/index.jsp
01:36:00,130 INFO  [[localhost]]             header=cookie=JSESSIONID=DFD04B42EF225E194C19686823CF91D5
01:36:00,130 INFO  [[localhost]]             locale=en_US
01:36:00,130 INFO  [[localhost]]             method=GET
01:36:00,130 INFO  [[localhost]]           pathInfo=null
01:36:00,130 INFO  [[localhost]]           protocol=HTTP/1.1
01:36:00,130 INFO  [[localhost]]        queryString=null
01:36:00,130 INFO  [[localhost]]         remoteAddr=127.0.0.1
01:36:00,130 INFO  [[localhost]]         remoteHost=127.0.0.1
01:36:00,130 INFO  [[localhost]]         remoteUser=null
01:36:00,130 INFO  [[localhost]] requestedSessionId=DFD04B42EF225E194C19686823CF91D5
01:36:00,130 INFO  [[localhost]]             scheme=http
01:36:00,130 INFO  [[localhost]]         serverName=localhost
01:36:00,131 INFO  [[localhost]]         serverPort=8080
01:36:00,131 INFO  [[localhost]]        servletPath=/OutSimplePdf
01:36:00,131 INFO  [[localhost]]           isSecure=false
01:36:00,131 INFO  [[localhost]] ---------------------------------------------------------------
01:36:00,340 INFO  [[localhost]] ---------------------------------------------------------------
01:36:00,340 INFO  [[localhost]]           authType=null
01:36:00,340 INFO  [[localhost]]      contentLength=892
01:36:00,340 INFO  [[localhost]]        contentType=application/pdf
01:36:00,340 INFO  [[localhost]]             header=X-Powered-By=Servlet 2.5; JBoss-5.0/JBossWeb-2.1
01:36:00,341 INFO  [[localhost]]             header=Expires=0
01:36:00,341 INFO  [[localhost]]             header=Cache-Control=maxage=3600, must-revalidate, post-check=0, pre-check=0
01:36:00,341 INFO  [[localhost]]             header=Pragma=public
01:36:00,341 INFO  [[localhost]]             header=Content-Type=application/pdf
01:36:00,341 INFO  [[localhost]]             header=Content-Length=892
01:36:00,341 INFO  [[localhost]]             header=Date=Tue, 31 Jan 2012 03:36:00 GMT
01:36:00,341 INFO  [[localhost]]            message=null
01:36:00,341 INFO  [[localhost]]         remoteUser=null
01:36:00,341 INFO  [[localhost]]             status=200
01:36:00,341 INFO  [[localhost]] ===============================================================
</pre></p>
<p>Espero que tenha ajudado <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Abraços!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/685/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/685/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/685/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=685&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/01/31/habilitando-log-http-no-jboss-as-5-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/logo3.gif" medium="image">
			<media:title type="html">logo</media:title>
		</media:content>
	</item>
		<item>
		<title>JBoss Certified Application Administrator (JBCAA) – Parte 2</title>
		<link>http://jbossdivers.wordpress.com/2012/01/29/jboss-certified-application-administrator-jbcaa-parte-2/</link>
		<comments>http://jbossdivers.wordpress.com/2012/01/29/jboss-certified-application-administrator-jbcaa-parte-2/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 22:52:05 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Diversos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JBCAA]]></category>
		<category><![CDATA[JBoss AS 5]]></category>
		<category><![CDATA[JBoss EAP]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=597</guid>
		<description><![CDATA[Continuando os meus estudos para JBCAA, hoje vamos abordar mais um tópico. 3 &#8211; Configuração dos conectores do JBoss Web (incluindo HTTPS)  ( Configure JBoss Web Connectors (including HTTPS) ) No Study Guide, podemos verificar as seguintes informações para esse tópico: ● JB336 JBoss for Administrators course ● JBoss EAP Administration and Configuration Guide3 ● [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=597&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.redhat.com/resourcelibrary/catalogs/jbcaa-study-guide"><img class="aligncenter size-full wp-image-598" title="jbcaa" src="http://jbossdivers.files.wordpress.com/2012/01/jbcaa1.jpg?w=544" alt=""   /></a>Continuando os meus estudos para JBCAA, hoje vamos abordar mais um tópico.</p>
<p><strong>3 &#8211; Configuração dos conectores do JBoss Web (incluindo HTTPS)  ( Configure JBoss Web Connectors (including HTTPS) )</strong></p>
<p>No <a href="http://www.redhat.com/resourcelibrary/catalogs/jbcaa-study-guide">Study Guide</a>, podemos verificar as seguintes informações para esse tópico:</p>
<p>● JB336 JBoss for Administrators course<br />
● JBoss EAP Administration and Configuration Guide3<br />
● JBoss Web Documentation4<br />
● http://community.jboss.org/wiki/SecureTheJmxConsole<br />
● http://community.jboss.org/wiki/SSLSetup<br />
● Creating an SSL Keystore Using the Java Keytool5<br />
● http://java.sun.com/javase/6/docs/technotes/tools/index.html#security (look for keytool)<br />
● Example configurations included with JBoss EAP</p>
<p>Vamos iniciar abordando a segurança no Jmx-Console, que já é bem conheçida pelos administradores mais experientes.</p>
<p>O primeiro passo é visualizar o web.xml, da app jmx-console.war, e verificar se o atributo  <strong>&lt;security-constraint&gt;</strong> está descomentado, e com as devidas configurações, abaixo temos uma exemplo em que tudo está correto:</p>
<p>Localização do arquivo:  <em>JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/web.xml</em></p>
<p><pre class="brush: xml;">
&lt;security-constraint&gt;
 &lt;web-resource-collection&gt;
   &lt;web-resource-name&gt;HtmlAdaptor&lt;/web-resource-name&gt;
   &lt;description&gt;An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application
   &lt;/description&gt;
   &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
 &lt;/web-resource-collection&gt;
 &lt;auth-constraint&gt;
    &lt;role-name&gt;JBossAdmin&lt;/role-name&gt;
 &lt;/auth-constraint&gt;
 &lt;user-data-constraint&gt;
    &lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt;
 &lt;/user-data-constraint&gt;
&lt;/security-constraint&gt;

&lt;login-config&gt;
  &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
  &lt;realm-name&gt;JBoss JMX Console&lt;/realm-name&gt;
&lt;/login-config&gt;

&lt;security-role&gt;
  &lt;role-name&gt;JBossAdmin&lt;/role-name&gt;
&lt;/security-role&gt;
</pre></p>
<p>Agora devemos verificar o arquivo jboss-web.xml, o &lt;security-domain&gt;, deve estar descomentado, como abaixo:</p>
<p>Localização do arquivo: <em>JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/jboss-web.xml</em></p>
<p><pre class="brush: xml;">
&lt;!DOCTYPE jboss-web PUBLIC
&quot;-//JBoss//DTD Web Application 5.0//EN&quot;
&quot;http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd&quot;&gt;

&lt;jboss-web&gt;
&lt;!-- Uncomment the security-domain to enable security. You will need to edit the htmladaptor login configuration to setup the login modules used to authentication users. --&gt;
   &lt;security-domain&gt;java:/jaas/jmx-console&lt;/security-domain&gt;
&lt;/jboss-web&gt;
</pre></p>
<p>Obs: Segundo a <a href="https://community.jboss.org/wiki/SecureTheJmxConsole"><strong>security note &#8211; CVE-2010-0738</strong></a>, devemos remover do<em> JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/web.xml</em>  os métodos HTTP:</p>
<p><pre class="brush: xml;">
  &lt;http-method&gt;GET&lt;/http-method&gt;
  &lt;http-method&gt;POST&lt;/http-method&gt;
</pre></p>
<p>Deve-se ainda adicionar ao <em>JBOSS_HOME/server/instance01/deploy/jmx-console.war/WEB-INF/web.xml</em> , o atributo CONFIDENTIAL que garante o uso de HTTPS, que vamos ativar posteriormente.</p>
<p><pre class="brush: xml;">
&lt;user-data-constraint&gt;
   &lt;transport-guarantee&gt;CONFIDENTIAL&lt;/transport-guarantee&gt;
&lt;/user-data-constraint&gt;
</pre></p>
<p>Para finalizar, verificamos se os arquivos aonde estão armazenados os roles e users estão descomentados.</p>
<p>Localização do Arquivo: <em>JBOSS_HOME/server/instance01/conf/props/jmx-console-roles.properties</em></p>
<p><pre class="brush: bash;">
  # A sample roles.properties file for use with the UsersRolesLoginModule
  admin=JBossAdmin,HttpInvoker
</pre></p>
<p>Localização do Arquivo: J<em>BOSS_HOME/server/instance01/conf/props/jmx-console-users.properties</em></p>
<p><pre class="brush: bash;">
  # A sample users.properties file for use with the UsersRolesLoginModule
  admin=admin
</pre></p>
<p>Application Policy do Jmx-Console:</p>
<p><pre class="brush: xml;">
 &lt;application-policy name=&quot;jmx-console&quot;&gt;
   &lt;authentication&gt;
     &lt;login-module code=&quot;org.jboss.security.auth.spi.UsersRolesLoginModule&quot; flag=&quot;required&quot;&gt;
       &lt;module-option name=&quot;usersProperties&quot;&gt;props/jmx-console-users.properties&lt;/module-option&gt;
       &lt;module-option name=&quot;rolesProperties&quot;&gt;props/jmx-console-roles.properties&lt;/module-option&gt;
     &lt;/login-module&gt;
   &lt;/authentication&gt;
&lt;/application-policy&gt;
</pre></p>
<p>Como já disse anteriormente, eu nunca fiz a prova e realmente não sei o que vai ser cobrado,  então  a aprenderem o máximo que puderem sobre os assuntos mencionados no study guide. Como recomendação para essa parte eu aconselho que os precedimentos acima sejam repetidos para o web-console e jbossws, qualquer dificuldade nessas tarefas deixem comentários.</p>
<p>Vamos gerar o nosso certificado ( keystore ), e habilitar o connetor HTTPS. Para obter o certificado execute o comando abaixo:</p>
<p><pre class="brush: bash;">
   keytool -genkey -alias example -keystore example.keystore -keypass 123456 -keyalg RSA
</pre></p>
<p>Por convenção geralmente o .keystore, fica armazenado no diretório JBOSS_HOME/server/instance01/conf/ .</p>
<p>Para visualizar informações do certificado execute:</p>
<p><pre class="brush: bash;">
  keytool -v -list -keystore example.keystore
</pre></p>
<p>&nbsp;</p>
<p><pre class="brush: bash;">
Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: example
Creation date: Jan 29, 2012
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Mauricio Magnani, OU=Home, O=Home, L=SP, ST=SP, C=BR
Issuer: CN=Mauricio Magnani, OU=Home, O=Home, L=SP, ST=SP, C=BR
Serial number: 4f25c7bf
Valid from: Sun Jan 29 20:27:11 BRST 2012 until: Sat Apr 28 19:27:11 BRT 2012
Certificate fingerprints:
MD5:  70:2F:D1:5E:23:E2:1A:3C:DF:E4:76:1D:82:28:AE:0A
SHA1: 03:EF:60:BF:2D:33:D1:29:6A:67:44:07:28:4B:09:E5:6F:56:70:D2
Signature algorithm name: SHA1withRSA
Version: 3

*******************************************
*******************************************
</pre></p>
<p>Finalmente vamos ativer o connector HTTPS, isso é bem simples, no arquivo JBOSS_HOME/server/instance01/deploy/jbossweb.sar/server.xml, descomente e altere o bloco abaixo:</p>
<p><pre class="brush: xml;">
&lt;!-- SSL/TLS Connector configuration using the admin devl guide keystore--&gt;
&lt;Connector protocol=&quot;HTTP/1.1&quot; SSLEnabled=&quot;true&quot; port=&quot;8443&quot; address=&quot;${jboss.bind.address}&quot;
scheme=&quot;https&quot; secure=&quot;true&quot; clientAuth=&quot;false&quot; keystoreFile=&quot;${jboss.server.home.dir}/conf/example.keystore&quot;
keystorePass=&quot;123456&quot; sslProtocol = &quot;TLS&quot; /&gt;
</pre></p>
<p>Agora acesse a url https://localhost:8443/ , e verifique se tudo está funcionando.</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/01/screenshot-at-2012-01-29-204807.png"><img class="aligncenter size-full wp-image-679" title="Screenshot at 2012-01-29 20:48:07" src="http://jbossdivers.files.wordpress.com/2012/01/screenshot-at-2012-01-29-204807.png?w=544&#038;h=340" alt="" width="544" height="340" /></a></p>
<p>Não percam a próxima parte <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>abraços!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/597/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/597/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/597/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=597&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/01/29/jboss-certified-application-administrator-jbcaa-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/jbcaa1.jpg" medium="image">
			<media:title type="html">jbcaa</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/screenshot-at-2012-01-29-204807.png" medium="image">
			<media:title type="html">Screenshot at 2012-01-29 20:48:07</media:title>
		</media:content>
	</item>
		<item>
		<title>Cluster de Servidores Standalone no JBoss AS 7.1 &#8211; Parte 1</title>
		<link>http://jbossdivers.wordpress.com/2012/01/29/cluster-de-servidores-standalone-no-jboss-as-7-1-parte-1/</link>
		<comments>http://jbossdivers.wordpress.com/2012/01/29/cluster-de-servidores-standalone-no-jboss-as-7-1-parte-1/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 15:45:04 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[Cluster JBoss AS 7]]></category>
		<category><![CDATA[Cluster Standalone]]></category>
		<category><![CDATA[multicast]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=655</guid>
		<description><![CDATA[Em aplicações sérias, é essencial que o ambiente ofereça escalabilidade e alta disponibilidade, esse objetivo pode ser alcançado através de ambientes clusterizados e altamente elásticos. Hoje vamos abordar uma das formas de criação de Cluster no JBoss AS 7.1, utilizando o conceito de servidores standalone. As possíveis configurações de cluster  para servidores standalone podem ser [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=655&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px418.png"><img class="aligncenter size-full wp-image-656" title="jbossas7_logo_600px41" src="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px418.png?w=544" alt=""   /></a></p>
<p>Em aplicações sérias, é essencial que o ambiente ofereça escalabilidade e alta disponibilidade, esse objetivo pode ser alcançado através de ambientes clusterizados e altamente elásticos. Hoje vamos abordar uma das formas de criação de Cluster no JBoss AS 7.1, utilizando o conceito de servidores standalone.</p>
<p>As possíveis configurações de cluster  para servidores standalone podem ser divididos em dois cenários principais:</p>
<p>• Cluster de nós executando na mesma máquina<br />
• Cluster de nós executando em máquinas diferentes</p>
<p><strong>Cluster de Nós Executando na Mesma Máquina</strong></p>
<p>A criação de cluster de servidores JBoss na mesma máquina, se aplica  quando possuímos ótimos recursos de hardware. A configuração de nós na mesma máquina exige que você duplique a sua distribuição do JBoss AS 7.  Também será necessário que você escolha entre duas opções:</p>
<p>1. Definir múltiplos endereços IP  na mesma máquina.<br />
2. Definir um offset de portas para cada nó.</p>
<p>A primeira forma é conhecida como <a href="http://en.wikipedia.org/wiki/Multihoming">multi-homing</a>,  possuir multiplas conexões reduzem a chance de acontecer uma parada catastrófica se uma das conexões falhar. Para configurar multi-homing no linux, é bem simples, basta especificar o IP que deverá responder em determinada interface:</p>
<p><em># ifconfig eth0 192.168.0.10 up</em><br />
<em># ifconfig eth1 192.168.0.20 up</em></p>
<p>Exemplo:</p>
<p><pre class="brush: bash;">
eth0      Link encap:Ethernet  Endereço de HW 08:00:27:53:CD:E5
          inet end.: 192.168.0.10  Bcast:192.168.0.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:fe53:cde5/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:4939 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4919 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:5269711 (5.0 MiB)  TX bytes:761430 (743.5 KiB)

eth1      Link encap:Ethernet  Endereço de HW 08:00:27:4A:3C:82
          inet end.: 192.168.0.20  Bcast:192.168.0.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:fe4a:3c82/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:118 errors:0 dropped:0 overruns:0 frame:0
          TX packets:190 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:32243 (31.4 KiB)  TX bytes:22900 (22.3 KiB)
</pre></p>
<p>O próximo passo agora é configurarmos o arquivo <em><strong>standalone-ha.xml</strong></em>, só para deixar claro, nós duplicamos os arquivos de instalação do JBoss AS 7, então temos JBossAS7-1 e JBossAS7-2 .</p>
<p>Edite o arquivo standalone-ha.xml do JBossAS7-1</p>
<p><pre class="brush: bash;">
   vim JBOSS_HOME/standalone/configuration/standalone-ha.xml
</pre></p>
<p>Atualize as interface public e management, com o IP configurado anteriormente.</p>
<p><pre class="brush: xml;">
 &lt;interfaces&gt;
         &lt;interface name=&quot;management&quot;&gt;
            &lt;inet-address value=&quot;192.168.0.10&quot;/&gt;
         &lt;/interface&gt;
         &lt;interface name=&quot;public&quot;&gt;
            &lt;inet-address value=&quot;192.168.0.10&quot;/&gt;
         &lt;/interface&gt;
 &lt;/interfaces&gt;
</pre></p>
<p>Repita o Processo para o JBossAS-2</p>
<p><pre class="brush: bash;">
vim JBOSS_HOME/standalone/configuration/standalone-ha.xml
</pre></p>
<p>Atualize as interfaces:</p>
<p><pre class="brush: xml;">
 &lt;interfaces&gt;
         &lt;interface name=&quot;management&quot;&gt;
            &lt;inet-address value=&quot;192.168.0.20&quot;/&gt;
         &lt;/interface&gt;
         &lt;interface name=&quot;public&quot;&gt;
            &lt;inet-address value=&quot;192.168.0.20&quot;/&gt;
         &lt;/interface&gt;
 &lt;/interfaces&gt;
</pre></p>
<p>Agora já estamos prontos para iniciar o cluster do JBoss AS 7, para isso execute os comandos abaixo:</p>
<p><em>JBossAS7-1 &#8211;&gt;    ./JBOSS_HOME/bin/standalone.sh &#8211;server-config=standalone-ha.xm -Djboss.node.name=node1</em></p>
<p><em>JBossAS7-2 &#8211;&gt;    ./JBOSS_HOME/bin/standalone.sh &#8211;server-config=standalone-ha.xm -Djboss.node.name=node2</em></p>
<p>Ao iniciarmos os servidores não encontramos detalhes sobre os nós do cluster, isso se deve ao fato de que o serviço de cluster só é  iniciado sob demanda no JBoss AS 7, por isso não conseguimos visualizar nada relacionado a isso no console.<br />
Para habilitarmos o cluster, devemos realizar o deploy de uma aplicação que esteja utilizando a tag <em><strong>&lt;distributable/&gt;</strong></em>  no web.xml.</p>
<p><pre class="brush: xml;">
&lt;web-app&gt;
   &lt;distributable/&gt;
&lt;/web-app&gt;
</pre></p>
<p>Ao realizar o deploy, podemos verificar que os serviços de cluster são ativados:</p>
<p><pre class="brush: bash;">
13:35:05,796 INFO  [stdout] (MSC service thread 1-2)
13:35:05,797 INFO  [stdout] (MSC service thread 1-2) -------------------------------------------------------------------
13:35:05,797 INFO  [stdout] (MSC service thread 1-2) GMS: address=node2/web, cluster=web, physical address=192.168.0.20:55200
13:35:05,797 INFO  [stdout] (MSC service thread 1-2) -------------------------------------------------------------------
13:35:06,177 INFO  [org.jboss.as.clustering.CoreGroupCommunicationService.web] (MSC service thread 1-2) JBAS010207: Number of cluster members: 2
13:35:08,184 INFO  [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-2) ISPN000078: Starting JGroups Channel
13:35:08,187 AVISO [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (MSC service thread 1-2) Channel Muxer already has a default up handler installed (org.jboss.as.clustering.jgroups.ClassLoaderAwareUpHandler@35cfee57) but now it is being overridden
13:35:08,190 INFO  [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-2) ISPN000094: Received new cluster view: [node1/web|1] [node1/web, node2/web]
13:35:08,192 INFO  [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (MSC service thread 1-2) ISPN000079: Cache local address is node2/web, physical addresses are [192.168.0.20:55200]
13:35:08,201 INFO  [org.infinispan.factories.GlobalComponentRegistry] (MSC service thread 1-2) ISPN000128: Infinispan version: Infinispan 'Brahma' 5.1.0.CR1
13:35:08,203 WARN  [org.infinispan.config.ConfigurationValidatingVisitor] (MSC service thread 1-1) ISPN000152: Passivation configured without a valid eviction policy. This could mean that the cache store will never get used unless code calls Cache.evict() manually.
13:35:08,681 INFO  [org.infinispan.jmx.CacheJmxRegistration] (MSC service thread 1-2) ISPN000031: MBeans were successfully registered to the platform mbean server.
13:35:08,805 INFO  [org.infinispan.jmx.CacheJmxRegistration] (MSC service thread 1-1) ISPN000031: MBeans were successfully registered to the platform mbean server.
13:35:09,469 INFO  [org.jboss.as.clustering] (MSC service thread 1-2) JBAS010301: Started registry cache from web container
13:35:09,474 INFO  [org.jboss.as.clustering] (MSC service thread 1-1) JBAS010301: Started repl cache from web container
13:35:09,939 INFO  [org.jboss.web] (MSC service thread 1-2) registering web context: /myapptest
13:35:10,124 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed &quot;myapptest.war&quot;
</pre></p>
<p>Lembrando que que não existe mais o conceito de farm deployment, mas você pode realizar o deploy de uma aplicação para todos as instâncias que fazem parte do mesmo grupo de servidores. Vamos abordar esse conceito mais a frente. Nesse caso é necessário realizar o deploy nos dois nós. O deploy pode pode ser realizado no diretório JBOSS_HOME/standalone/deployments/.</p>
<p>Uma ultima observação é de que poderíamos ter ter passado via parametro na inicialização os IPs das interfaces public e management, como abaixo:</p>
<p><em>JBossAS7-1 &#8211;&gt; ./JBOSS_HOME/standalone.bat &#8211;server-config=standalone-ha.xml –b 192.168.0.10 -bmanagement 192.168.0.10 -Djboss.node.name=node1</em></p>
<p><em>JBossAS7-2 &#8211;&gt; ./JBOSS_HOME/standalone.bat &#8211;server-config=standalone-ha.xml –b 192.168.0.20 -bmanagement 192.168.0.20 -Djboss.node.name=node2</em></p>
<p>Na próxima parte vamos abordar Cluster de nós executando em máquinas diferentes, que é muita similar ao que fizemos.</p>
<p>Abraços a todos!</p>
<p> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/655/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/655/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/655/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=655&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/01/29/cluster-de-servidores-standalone-no-jboss-as-7-1-parte-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px418.png" medium="image">
			<media:title type="html">jbossas7_logo_600px41</media:title>
		</media:content>
	</item>
		<item>
		<title>Implantando Sua Aplicação Web No Contexto Raiz no JBoss AS 7.1</title>
		<link>http://jbossdivers.wordpress.com/2012/01/28/implantando-sua-aplicacao-web-no-contexto-raiz-no-jboss-as-7-1/</link>
		<comments>http://jbossdivers.wordpress.com/2012/01/28/implantando-sua-aplicacao-web-no-contexto-raiz-no-jboss-as-7-1/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 14:26:58 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[context-root]]></category>
		<category><![CDATA[Deploy Contexto Raiz JBoss]]></category>
		<category><![CDATA[ROOT.war]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=644</guid>
		<description><![CDATA[Ps: Copei boa parte do post Implantando Sua Aplicação Web No Contexto Raiz no JBoss AS 6.1 Como implantar os aplicativos criados para que sejam acessados no contexto raiz ( localhost:8080 ) ?. Bom para fazer isso é bem simples \o/ , basta criar em sua aplicação web o arquivo jboss-web.xml , abaixo de WEB_INF, e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=644&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px416.png"><img class="aligncenter size-full wp-image-645" title="jbossas7_logo_600px41" src="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px416.png?w=544" alt=""   /></a></p>
<p><em>Ps: Copei boa parte do post Implantando Sua Aplicação Web No Contexto Raiz no JBoss AS 6.1</em></p>
<p>Como implantar os aplicativos criados para que sejam acessados no contexto raiz ( localhost:8080 ) ?. Bom para fazer isso é bem simples \o/ , basta criar em sua aplicação web o arquivo <em>jboss-web.xml</em> , abaixo de WEB_INF, e inserir o conteúdo abaixo:</p>
<p><pre class="brush: xml;">
&lt;!DOCTYPE jboss-web PUBLIC
&quot;-//JBoss//DTD Web Application 5.0//EN&quot;
&quot;http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd&quot;&gt;

 &lt;jboss-web&gt;
    &lt;context-root&gt;/&lt;/context-root&gt;
 &lt;/jboss-web&gt;
</pre></p>
<p>No JBoss AS 7 não podemos mais remover  <em>ROOT.war</em> , a solução agora é desativá-lo.</p>
<p>No arquivo JBOSS_HOME/standalone/configuration/standalone.xml, e subsystem jboss:domain:web: atualize a propriedade<strong> enable-welcome-root</strong> para <strong>false</strong> .</p>
<p><pre class="brush: xml;">
&lt;subsystem xmlns=&quot;urn:jboss:domain:web:1.1&quot; default-virtual-server=&quot;default-host&quot;&gt;
   &lt;connector name=&quot;http&quot; protocol=&quot;HTTP/1.1&quot; scheme=&quot;http&quot; socket-binding=&quot;http&quot;/&gt;
   &lt;virtual-server name=&quot;default-host&quot; enable-welcome-root=&quot;false&quot;&gt;
     &lt;alias name=&quot;localhost&quot;/&gt;
     &lt;alias name=&quot;example.com&quot;/&gt;
   &lt;/virtual-server&gt;
 &lt;/subsystem&gt;
</pre></p>
<p>Agora faça o deploy e acesse a url<em> <a href="http://localhost:8080">http://localhost:8080</a></em>.  Sua aplicação deverá estar rodando no contexto raiz, como a imagem abaixo:</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/01/screenshot-at-2012-01-28-122129.png"><img class="aligncenter size-full wp-image-647" title="Screenshot at 2012-01-28 12:21:29" src="http://jbossdivers.files.wordpress.com/2012/01/screenshot-at-2012-01-28-122129.png?w=544" alt=""   /></a></p>
<p>Abraços!<br />
 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/644/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/644/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/644/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/644/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/644/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/644/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/644/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/644/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=644&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/01/28/implantando-sua-aplicacao-web-no-contexto-raiz-no-jboss-as-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px416.png" medium="image">
			<media:title type="html">jbossas7_logo_600px41</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/screenshot-at-2012-01-28-122129.png" medium="image">
			<media:title type="html">Screenshot at 2012-01-28 12:21:29</media:title>
		</media:content>
	</item>
		<item>
		<title>Salvando o Log no Banco de Dados no JBoss AS 7.1</title>
		<link>http://jbossdivers.wordpress.com/2012/01/28/salvando-o-log-no-banco-de-dados-no-jboss-as-7/</link>
		<comments>http://jbossdivers.wordpress.com/2012/01/28/salvando-o-log-no-banco-de-dados-no-jboss-as-7/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 02:13:05 +0000</pubDate>
		<dc:creator>Mauricio Magnani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[Custom Log Handler]]></category>
		<category><![CDATA[Log JBoss AS 7]]></category>
		<category><![CDATA[Loggging]]></category>

		<guid isPermaLink="false">http://jbossdivers.wordpress.com/?p=619</guid>
		<description><![CDATA[Obs: Pré Requisito Módulo JDBC MySQL JBoss: jboss-as-7.1.0.CR1b Algumas vezes necessitamos armazenar o log das nossas aplicações diretamente no banco de dados.  Podemos fazer isso através de Logs customizáveis. A comunidade JBoss.org, criou um excelente artigo sobre Custom Log Handlers, e o nosso post de hoje será baseado nesse artigo. A comunidade deixou uma classe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=619&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px415.png"><img class="aligncenter size-full wp-image-633" title="jbossas7_logo_600px41" src="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px415.png?w=544" alt=""   /></a></p>
<p><em>Obs: Pré Requisito Módulo JDBC MySQL</em><br />
<em>JBoss: jboss-as-7.1.0.CR1b</em></p>
<p>Algumas vezes necessitamos armazenar o log das nossas aplicações diretamente no banco de dados.  Podemos fazer isso através de Logs customizáveis. A comunidade JBoss.org, criou um excelente <a href="https://community.jboss.org/wiki/CustomLogHandlersOn701">artigo</a> sobre Custom Log Handlers, e o nosso post de hoje será baseado nesse artigo.</p>
<p>A comunidade deixou uma classe de exemplo, que extende java.util.logging.Handler, segue abaixo o código:</p>
<p><pre class="brush: java;">
package com.JdbcLogger;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Handler;
import java.util.logging.LogRecord;

import org.jboss.logmanager.MDC;

public class JdbcLogger extends Handler
  {
    private static final Object PARAM_TIMESTAMP = &quot;$TIMESTAMP&quot;;
    private static final Object PARAM_LEVEL = &quot;$LEVEL&quot;;
    private static final Object PARAM_MESSAGE = &quot;$MESSAGE&quot;;
    private static final String PARAM_MDC = &quot;$MDC[&quot;;
    private static final Object PARAM_PASSTROUGH = &quot;?&quot;;

    private String driverClassName;
    private String jdbcUrl;
    private String username;
    private String password;
    private String insertStatement;

    private Connection connection;

    private List&lt;String&gt; parameters = new ArrayList&lt;String&gt;();

    @Override
    public void publish(LogRecord record)
    {
      if (!ensureReady())
     {
      return;
     }
    try
     {
       insertRecord(record);
     }
     catch (SQLException e)
     {
     e.printStackTrace();
    }
  }

   private synchronized boolean ensureReady()
   {
     if (connection != null)
     {
       return true;
     }
     try
     {
       parseStatementParameters();
       setupConnection();
     }
       catch (ClassNotFoundException e)
     {
       e.printStackTrace();
       return false;
     }
       catch (SQLException e)
     {
       e.printStackTrace();
      return false;
     }
      return true;
   }

   private void parseStatementParameters()
   {
      int paramsStart = insertStatement.indexOf(&quot;(&quot;);
      int paramsStop = insertStatement.lastIndexOf(&quot;)&quot;);
      String paramsString = insertStatement.substring(paramsStart + 1, paramsStop);
      for (String param : paramsString.split(&quot;,&quot;))
      {
         parameters.add(param.trim());
         paramsString = paramsString.replace(param, &quot;?&quot;);
      }
       insertStatement = String.format(&quot;%s(%s)&quot;, insertStatement.substring(0, paramsStart), paramsString);
      }

   private void setupConnection() throws ClassNotFoundException, SQLException
   {
      Class.forName(driverClassName);
      connection = DriverManager.getConnection(jdbcUrl, username, password);
   }

   private void insertRecord(LogRecord logRecord) throws SQLException
   {
     PreparedStatement statement = null;
     try
     {
        statement = connection.prepareStatement(insertStatement);
        setStatementParameters(statement, logRecord);
        statement.executeUpdate();
     }
     finally
     {
      if (statement != null)
      {
        statement.close();
      }
    }
   }

  private void setStatementParameters(PreparedStatement statement, LogRecord logRecord) throws SQLException
  {
   for (int i = 0; i &lt; parameters.size(); i++)
   {
    statement.setObject(i + 1, getParameterValue(i, logRecord));
   }
  }

  private Object getParameterValue(int i, LogRecord record)
  {
   String parameter = parameters.get(i);
   if (PARAM_PASSTROUGH.equals(parameter))
  {
   return null;
  }
   if (PARAM_TIMESTAMP.equals(parameter))
  {
   return new Date(record.getMillis());
  }
   else if (PARAM_LEVEL.equals(parameter))
  {
   return record.getLevel().toString();
  }
   else if (PARAM_MESSAGE.equals(parameter))
  {
   return getFormatter().format(record);
  }
   else if (parameter.startsWith(PARAM_MDC))
  {
   int startIndex = parameter.indexOf(&quot;[&quot;) + 1;
   int stopIndex = parameter.indexOf(&quot;]&quot;) - 1;
   String key = parameter.substring(startIndex, stopIndex + 1);
   return MDC.get(key);
  }
  else
  {
   return parameter;
  }
 }

  @Override
  public void flush()
  {
  }

  @Override
  public void close()
   {
     if (connection != null)
   {
    try
    {
     connection.close();
    }
     catch (SQLException e)
    {
     e.printStackTrace();
    }
   }
  }

  public void setDriverClassName(String driverClassName)
  {
   this.driverClassName = driverClassName;
  }

  public void setJdbcUrl(String jdbcUrl)
  {
   this.jdbcUrl = jdbcUrl;
  }

  public void setUsername(String username)
  {
   this.username = username;
  }

  public void setPassword(String password)
  {
   this.password = password;
  }

  public void setInsertStatement(String insertStatement)
  {
   this.insertStatement = insertStatement;
  }
 }
</pre></p>
<p>Agora devemos gerar um arquivo .jar para empacotar a classe acima, como por exemplo logger.jar<br />
O próximo passo é criar um módulo, para disponibilizarmos o nosso log no JBoss AS 7.</p>
<p>Com o comando abaixo, criamos a estrutura de diretórios necessária para o funcionamento.</p>
<p><pre class="brush: bash;">
   mkdir -p JBOSS_HOME/modules/com/JdbcLogger/main
</pre></p>
<p>Copie o logger.jar gerado anteriormente para JBOSS_HOME/modules/com/JDBCLogger/main</p>
<p>Agora crie o arquivo module.xml</p>
<p><pre class="brush: bash;">
   vim JBOSS_HOME/modules/com/JdbcLogger/main/module.xml
</pre></p>
<p>E e adicione o conteúdo abaixo:</p>
<p><pre class="brush: xml;">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;module xmlns=&quot;urn:jboss:module:1.1&quot; name=&quot;com.JdbcLogger&quot;&gt;
&lt;resources&gt;
       &lt;resource-root path=&quot;logger.jar&quot;/&gt;
&lt;/resources&gt;
&lt;dependencies&gt;
&lt;module name=&quot;javax.api&quot;/&gt;
    &lt;module name=&quot;org.jboss.logging&quot;/&gt;
    &lt;module name=&quot;org.jboss.logmanager&quot;/&gt;
    &lt;module name=&quot;com.mysql&quot;/&gt;
   &lt;/dependencies&gt;
&lt;/module&gt;
</pre></p>
<p>Lembrando que o módulo com.mysql, já precisa estar disponível no JBoss AS 7. Caso não saiba como criar, veja o artigo <a href="http://jbossdivers.wordpress.com/2012/01/20/introducao-ao-jboss-as-7-parte-2/">http://jbossdivers.wordpress.com/2012/01/20/introducao-ao-jboss-as-7-parte-2/</a> .</p>
<p>No arquivo JBOSS_HOME/standalone/configuration/standalone.xml,  e  subsystem jboss:domain:logging:1.1, adicione o conteúdo abaixo:</p>
<p><pre class="brush: xml;">
&lt;custom-handler name=&quot;DB&quot; module=&quot;com.JdbcLogger&quot;&gt;
  &lt;level name=&quot;INFO&quot;/&gt;
  &lt;formatter&gt;
     &lt;pattern-formatter pattern=&quot;%d{HH:mm:ss,SSS} %-5p [%c] (%t)%s%E%n&quot;/&gt;
  &lt;/formatter&gt;
  &lt;properties&gt;
      &lt;property name=&quot;driverClassName&quot; value=&quot;com.mysql.jdbc.Driver&quot;/&gt;
      &lt;property name=&quot;jdbcUrl&quot; value=&quot;jdbc:mysql://192.168.0.189:3306/security&quot;/&gt;
      &lt;property name=&quot;username&quot; value=&quot;root&quot;/&gt;
      &lt;property name=&quot;password&quot; value=&quot;123456&quot;/&gt;
      &lt;property name=&quot;insertStatement&quot; value=&quot;insert into log_table values (?, $TIMESTAMP, $LEVEL, $MDC[ip], $MDC[user], $MESSAGE, hardcoded)&quot;/&gt;
  &lt;/properties&gt;
&lt;/custom-handler&gt;
</pre></p>
<p>No root logger adicione o handler criado.</p>
<p><pre class="brush: xml;">
&lt;root-logger&gt;
   &lt;level name=&quot;INFO&quot;/&gt;
   &lt;handlers&gt;
      &lt;handler name=&quot;CONSOLE&quot;/&gt;
      &lt;handler name=&quot;FILE&quot;/&gt;
      &lt;handler name=&quot;DB&quot;/&gt;
   &lt;/handlers&gt;
&lt;/root-logger&gt;
</pre></p>
<p>A tabela abaixo, deve ser criada no banco de dados que armazenará os logs ( no nosso caso o security ).</p>
<p><pre class="brush: sql;">
   CREATE TABLE log_table(id INT(11) NOT NULL AUTO_INCREMENT, timestamp VARCHAR(255) DEFAULT NULL,level VARCHAR(255) DEFAULT NULL,mdc_ip VARCHAR(255) DEFAULT NULL,mdc_user VARCHAR(255) DEFAULT NULL,message VARCHAR(1500) DEFAULT NULL,hardcoded VARCHAR(255) DEFAULT NULL,PRIMARY KEY (id))ENGINE = INNODB AUTO_INCREMENT = 1;
</pre></p>
<p>Inicie o JBoss AS 7</p>
<p><pre class="brush: bash;">
./JBOSS_HOME/bin/standalone.sh
</pre></p>
<p>Agora realize o select na tabela log_table.</p>
<p><pre class="brush: sql;">
   select * from log_table
</pre></p>
<p>Alguns dados deverão ser retornados, como na imagem abaixo.</p>
<p><a href="http://jbossdivers.files.wordpress.com/2012/01/captura_de_tela.png"><img class="aligncenter size-full wp-image-634" title="Captura_de_tela" src="http://jbossdivers.files.wordpress.com/2012/01/captura_de_tela.png?w=544" alt=""   /></a></p>
<p>Podemos ainda utilizar um dominio de segurança encriptado para os dados de acesso ao banco de dados, para isso vejam o Post <a href="http://jbossdivers.wordpress.com/2012/01/20/introducao-ao-jboss-as-7-parte-2/">Introdução ao JBoss AS parte 2</a> .</p>
<p>Espero que seja útil <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Abraços!</p>
<p>Fonte: <a href="https://community.jboss.org/wiki/CustomLogHandlersOn701">https://community.jboss.org/wiki/CustomLogHandlersOn701</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jbossdivers.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jbossdivers.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jbossdivers.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jbossdivers.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jbossdivers.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jbossdivers.wordpress.com/619/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jbossdivers.wordpress.com/619/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jbossdivers.wordpress.com/619/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jbossdivers.wordpress.com&amp;blog=26711517&amp;post=619&amp;subd=jbossdivers&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jbossdivers.wordpress.com/2012/01/28/salvando-o-log-no-banco-de-dados-no-jboss-as-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9439e896eac913c19ca2e6a30d5316ab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jbossdivers</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/jbossas7_logo_600px415.png" medium="image">
			<media:title type="html">jbossas7_logo_600px41</media:title>
		</media:content>

		<media:content url="http://jbossdivers.files.wordpress.com/2012/01/captura_de_tela.png" medium="image">
			<media:title type="html">Captura_de_tela</media:title>
		</media:content>
	</item>
	</channel>
</rss>
