Para solucionar o erro de inicializacao do Sonatype Nexus 2.7.2 :

09:33:01,176 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool — 56) MSC000001: Failed to start service jboss.web.deployment.default-host.”/nexus-2.7.2″: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host.”/nexus-2.7.2″: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Falha ao iniciar o contexto
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Falha ao iniciar o contexto
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:161)
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60)
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93)
… 6 more

09:33:01,387 ERROR [org.jboss.as.server] (HttpManagementService-threads – 1) JBAS015870: O procedimento da implantação “nexus-2.7.2.war” foi revertido com falha de mensagem
{“JBAS014671: Falha de serviços” => {“jboss.web.deployment.default-host.\”/nexus-2.7.2\”” => “org.jboss.msc.service.StartException in service jboss.web.deployment.default-host.\”/nexus-2.7.2\”: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Falha ao iniciar o contexto
Caused by: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Falha ao iniciar o contexto”}}

https://issues.jboss.org/browse/AS7-3765

Crie o arquivo em:

/$JBOSS_HOME/standalone/deployments/jboss-deployment-structure.xml

com o seguinte conteúdo:

<jboss-deployment-structure>
<deployment>
<!– Exclusions allow you to prevent the server from automatically adding some dependencies     –>
<exclusions>
<module name=”org.slf4j” />
<module name=”org.slf4j.impl” />
</exclusions>
</deployment>
</jboss-deployment-structure>

Comente a linha que contém o listener no WEB-INF da aplicacao NEXUS:

org.sonatype.nexus.web.LogConfigListener

em:

/WEB-INF/web.xml
Exemplo:

<!–
<listener>
<listener-class>org.sonatype.nexus.web.LogConfigListener</listener-class>
</listener>
–>

O link a seguir gera automaticamente as configurações necessárias para a utilização do:

-mod_proxy

-mod_jk

-mod_cluster

No Apache-Server no Linux. (httpd)

http://lbconfig.appspot.com/

As configurações abaixo são realizadas no HTTPD (apache) em Linux.

Verifique se os modulos abaixo estão no diretório:

# ls /etc/httpd/modules
    – mod_proxy.so
    – mod_proxy_http.so

OBS: Se você copiou os modulos verifique a permissão deles!

Verifique também se os modulos abaixo estão no httpd.conf descomentados:

#/etc/httpd/conf/httpd.conf   ou

#$APACHE_HOME/conf/httpd.conf
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so

Após isso, coloque o trecho abaixo em seu httpd.conf

ProxyRequests Off
ProxyPreserveHost On
 
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>
 
ProxyPass /exemplo http://www.examplo.com/exemplo
ProxyPassReverse /exemplo http://www.examplo.com/exemplo
<Location /exemplo>
    Order allow,deny
    Allow from all
</Location>

Se você utiliza virtual-host utilize o trecho abaixo:

<VirtualHost *>
    ServerName confluence.example.com
     
    ProxyRequests Off
    ProxyPreserveHost On
 
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
     
    ProxyPass / http://www.examplo.com:8080/exemplo
    ProxyPassReverse / http://www.examplo.com:8090/exemplo
     
    ProxyHTMLURLMap / /exemplo/
     
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

OBS: Verifique se estiver utilizando virtual-host, estas linhas abaixo devem estar descomentadas em seu httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_html_module modules/mod_proxy_html.so

Após as alterações reinicie o httpd:

# service httpd restart

 

Para transformar o JBoss em um serviço do linux, copie o arquivo “$JBOSS_HOME/bin/init.d/standalone.sh” para “/etc/init.d

Renomeie o script para o nome que você desejar

Descomente o JBoss_User e atribua o usuário que irá executar o JBoss
OBS: O usuário terá que ter permissão para a execução no diretório $JBOSS_HOME/bin/init.d/standalone.conf    

Edite as variáveis de ambiente do arquivo “/etc/init.d/standalone.sh” para as do seu ambiente:
     JBOSS_CONF = caminho para o arquivo de conf
        JBOSS_HOME = home do JBoss
        JBOSS_PIDFILE = Caminho para o PID do JBoss
        JBOSS_CONSOLE_LOG = Log do console/onde será escrito
        JBOSS_CONFIG = arquivo de configuração / standalone.xml
        JBOSS_SCRIPT = caminho para executar o script de qualquer local

Exemplo de configuração:
  JBOSS_CONF=”/home/jboss/jboss-eap-6.1/bin/init.d/standalone.conf”
        JBOSS_HOME=/home/jboss/jboss-eap-6.1
        JBOSS_PIDFILE=/var/run/jboss-eap-6.1/standalone-node1/jboss-as-standalone.pid
        JBOSS_CONSOLE_LOG=/var/log/jboss-eap-6.1/standalone/console.log
        JBOSS_CONFIG=standalone.xml
        JBOSS_SCRIPT=”$JBOSS_HOME/bin/standalone.sh -Djboss.node.name=nome_desejado”

Para completar a criação do serviço do JBoss, você deve adicionar no inicio do arquivo “/etc/init.d/standalone.sh” as linhas abaixo, para que o Sistema Operacional possa interpretar o script como um serviço

# chkconfig: 2345 75 15
# description: JBoss EAP 6.1
# processname: standalone.sh

A linha chkconfig serve para dizer em quais run-levels o JBoss irá subir, a ordem de prioridade de ele subir no boot e a sua ordem para baixar quando a máquina for desligada.

Execute o comando abaixo para que possa adicionar o serviço no CHKCONFIG

# chkconfig –add /etc/init.d/standalone.sh

 

E pronto, seu serviço do JBoss pode ser utilizado!

 

 

Se você que está com dificuldades em gerenciar seu ambiente, devido ao grande número de bugs de segurança ou até mesmo por problemas de incompatilidade entre versões de features que você deseja utilizar em sua aplicação o link abaixo pode te ajudar a solucionar estes problemas.

http://www.jboss.org/migration/

Neste Link você pode encontrar informações sobre as seguintes plataformas:

Se a interface que será transformada em bridged está atualmente em execução, pare ela; Por exemplo:

# service network stop ou
# ifdown interface

Agora, dois arquivos serão criados ou modificados para configurar a Bridged (ifcfg-BRX) e interface física (ifcfg-ethX). Vá para o diretório /etc/sysconfig/network-scripts :

# cd /etc/sysconfig/network-scripts

Abra o script de rede do dispositivo que você está adicionando a Bridged usando um editor de texto (como vi ou vim).
Exemplo:

DEVICE=ethX
# mudar o endereço de hardware para coincidir com o endereço que a placa de rede usa
HWADDR=00:15:32:DD:72:54
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no

Crie um novo script de rede no diretório /etc/sysconfig/network-scripts chamado ifcfg-br0. O BR0 é o nome da Bridged, isto pode ser qualquer coisa desde o nome do ficheiro é o mesmo que o parâmetro DEVICE, e o nome especificado correctamente na configuração da interface física anteriormente criada (ifcfg-ethX).
Exemplo abaixo:

DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0

Se estiver usando um endereço IP estático, a configuração será semelhante:

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=<Static IP address>
NETMASK=<Netmask>
GATEWAY=<Gateway>
ONBOOT=yes

Inicie o dispositivo  e a bridged usando o comando

# service network restart ou
# ifup ethX; ifup br0

Adicione as linhas abaixo em /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

Aplique as configurações

# sysctl -p /etc/sysctl.conf

A sua Bridged está pronta!

Modo Standalone e Domain

* Se você está utilizando o modo Standalone ou Domain você pode alterar e adicionar uma pasta para realizar o Deploy personalizado.

* localize o seguinte arquivo no seu JBoss $JBOSS_HOME/standalone/configuration/standalone.xml

<subsystem xmlns=”urn:jbossdomaindeployment-scanner:1.1″>
<deployment-scanner path=”deployments” relative-to=”jboss.server.base.dir” scan-interval=”5000″/>
</subsystem>

Altere para:

<subsystem xmlns=”urn:jbossdomainplodeployment-scanner:1.1″>
<deployment-scanner path=”deployments” relative-to=”jboss.server.base.dir” scan-interval=”5000″/>
<deployment-scanner name=”new-external-deployment-scanner” path=”/home/jsenshar/deployments” scan-interval=”5000″ />
</subsystem>

* note que você terá 2 pastas para realizar o Deploy.

*****Nota ao colocar o seu  EAR / WAR / JAR / SAR da aplicação explodido (não Zipado) no diretório padrão ou no personalizado, você vai precisar para criar um arquivo com o nome “$ APP_NAME.dodeploy” no  mesmo diretório de implantação onde você fez o deploy das aplicações.

Exemplo: Se você vai realizar deploy seu aplicativo com o nome “AppOne.war” dentro do diretório de implantação, em seguida, você verá a seguinte mensagem em seus registros:

04:42:54,818 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads – 1) JBAS015003: Found AppOne.war in deployment directory. To trigger deployment create a file called AppOne.war.dodeploy

O que significa que, para iniciar a execução da aplicação será necessário criar um arquivo com o nome “AppOne.war.dodeploy” dentro do mesmo diretório de implantação onde você colocou o “AppOne.war”

Para podermos remover a implementação do Resteasy do JBoss EAP 6 e podermos utilizar uma nova implementação de JAX-RS, para isso devemos remover o modulo do JAX-RS, e declarar um novo subsistem, excluindo via jboss-deployment-structure.xml deployment descriptor.

 Remove RESTEasy
Edit your JBoss configuration and remove the jax-rs module and subsystem declaration. For example, if you are using the standalone based profile, you can edit the configuration file standalone.xml:

<server xmlns=”urn:jboss:domain:1.1″>
<extensions>

<!–<extension module=”org.jboss.as.jaxrs”/>–>

</extensions>

<profile>

<!–<subsystem xmlns=”urn:jboss:domain:jaxrs:1.0″/>–>

</profile>
</server>

Exclude RESTEasy from your deployment

Create or modify the jboss-deployment-structure.xml descriptor file and add the following declaration to exclude JAX-RS:

<jboss-deployment-structure xmlns=”urn:jboss:deployment-structure:1.2″>
<deployment>
<exclude-subsystems>
<subsystem name=”jaxrs” />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>

Note that if you are using EAR packaging, you have to declare it for all sub-deployments, for example:

<sub-deployment name=”mywar.war” >
<exclude-subsystems>
<subsystem name=”jaxrs” />
</exclude-subsystem>
</sub-deployment>

Be sure to place this file in the WEB-INF directory of your WAR.

Obrigado ao William Antonio Siqueira que me ajudou muito com esta questão em um passado próximo!!!!

Se no ambiente houver várias máquinas e nodes do JBoss EAP 6 espalhados, utilize as configurações abaixo :

Lembre de alterar o nome da instancia se ela for rodar na mesma máquina:

JBOSS_HOME/domain/configuration/host-slave.xml

<host name=”XXXXXXXXXXX” xmlns=”urn:jboss:domain:1.4″>

Porém quando forem máquinas diferentes temos que seguir três passos importantes, que se não execurtados teremos problemas para que a máquina possa ser gerenciada pelo master do domain:

1- Acrescente o usuario com o script add-user.sh no bin exatamente igual em todos os nós e domain-master

2- Toque a palavra secreta no campo correto:

<server-identities>
            <secret value=”cmVkaGF0Kjk5″/>
</server-identities>

3- Acrescente o usuário, pois por default não tem em:

<domain-controller>
        <remote host=”${jboss.domain.master.address}” port=”${jboss.domain.master.port:9999}” security-realm=”ManagementRealm” username=”admin”/>
</domain-controller>

Utilize este recurso de inicialização do Domain-Master como um processo distindo dos processos dos hosts que contém instâncias do JBoss, é uma boa prática, pois se o processo do Domain-Master cair por algum motivo as instâncias continuram “de pé” pois serão processos diferentes.

– Dentro de $JBOSS_HOME/bin utilize este comando para inicializar somente o JBoss-Domain Controller

./domain.sh -host-config=host-master.xml -Djboss.bind.address.management=x.x.x.x -Djboss.bind.address=x.x.x.x

-Djboss.bind.address.management=(x.x.x.x) – substitua os parenteses pelo ip que você deseja utilizar para subir a interface de monitoração do JBoss

-Djboss.bind.address=(x.x.x.x)            – substitua os parenteses pelo ip que você deseja utilizar para subir a interface de bind do jboss (interface que o JBoss está respondendo)

./domain.sh -host-config=host-slave.xml -Djboss.bind.address.management=x.x.x.x -Djboss.bind.address=x.x.x.x -Djboss.domain.master.address=x.x.x.x

-Djboss.bind.address.management=(x.x.x.x) – substitua os parenteses pelo ip que você deseja utilizar para subir a interface de monitoração do JBoss

-Djboss.bind.address=(x.x.x.x)            – substitua os parenteses pelo ip que você deseja utilizar para subir a interface de bind do jboss (interface que o JBoss está respondendo)

-Djboss.domain.master.address=(x.x.x.x)   – substitua os parenteses pelo ip que o Domain-Master está localizado para que ele possa gerenciar as instâncias

Para subir vários slaves em uma única máquina, é necessário alterar o arquivo host-slave.xml para que a porta de management não conflita com a porta do Domain-Master e ocasionando um erro.

O arquivo fica em:

# $JBOSS_HOME/domain/configuration/host-slave.xml

Exemplo do trecho do códigoque deve ser alterado:

.
.
.
<management-interfaces>
            <native-interface security-realm=”ManagementRealm”>
                <socket interface=”management” port=”${jboss.management.native.port:9999}”/>
            </native-interface>
</management-interfaces>
.
.
.