ComdocIII ¿Dónde va el archivo server.xml?

Hola Eugenia, estoy instalando el ComdocIII, pero en el manual, no queda claro en donde va el archivo server.xml, lo coloque en varios lugares que supuse que iba pero el sistema sigue sin arrancar, y el nmap me dice que no hay puertos escuchando ni el 80 ni el 8080 ni el 8081 ni el 1009, aunque un acceso por http al 1009 me devuelve un archivo bin.

Estoy intentando acceder desde otra maquina ya que lo instalamos en un servidor sin entorno gráfico por lo que el http://localhost:8081/comdocII/webtier/Signin del final de las instrucciones de instalación resulta imposible de cumplir

¿Hay alguna manera de comprobar que partes están funcionando bien y que otras no?

Hola Juan,

El archivo server.xml está en el directorio: [config]/deploy/jboss-web.deployer/
Disculpa la omisión, en el manual falto el párrafo anterior sobre cómo modificar el puerto HTTP, ya quedó modificado y actualizado el documento.
Cualquier otra cosa avisame.

Saludos,
Eugenia

Juan,
Si no cambiaste el puerto en ese archivo tenes que poder ingresar por el puerto por defecto que es el 8080:
http://IP:8080/comdocII/webtier/Signin
Pudiste ingresar?
Saludos
Eugenia

Gracias Eugenia, digamos que por azar deduje que era ese el directorio, así que ese no parece ser el problema para que se ejecute el programa y si probé con todas las variaciones de puertos incluso el 1009 que te devuelve un archivo. Ya que es el puerto que se define en las Opciones de configuración al final del manual, no estoy seguro si es necesario para que funcione pero las hice igual. Estoy usando JBoss 4.2.3 ya que cuando baje la última que era la 5.1.0 las estructuras descriptas en el manual no eran iguales.

En el archivo, según el manual solo hay que tocar la linea con el atributo address, los otros localhost no hay que tocarlos o si, porque aparte del puerto había que cambiar el localhost, y aparte del indicado en el manual hay otros dos en el archivo de ejemplo que es el que copie.

y ya que estamos con las dudas en los párrafos en el 4.3.1 habla sobre comdoc.properties que es el archivo de configuración, y tampoco indica en que directorio va, yo supongo que es en [config]/conf

En el manual dice:

Se modificó:

Host y puerto HTTP

comdocII.web.http-host=localhost

¿Eso significa que debemos dejarlo como localhost o se debe poner el ip de la máquina?

Y una discrepancia también en el manual en el punto 3.2.8.3 Tomcat Status

dice:

Para esta consola el procedimiento es también similar, pero hay que tomar como base el directorio
[config]/deploy/jboss-web.deployer/ROOT.war/WEB-INF

Teóricamente lo similar sería al punto 3.2.8.1. Consola JMX

Editar el archivo [config]/deploy/jmx-console.war/WEB-INF/web.xml y descomentar el elemento
. Agregar un elemento seguido al bloque descomentado
anteriormente (puede que ya exista). Debería quedar al así:

BASIC
JMXConsole

Pero el archivo web.xml de [config]/deploy/jboss-web.deployer/ROOT.war/WEB-INF no contiene ni siquiera comentado, la estructura con respecto a los demás web.xml parece ser diferente.

Juan,

  • En el server.xml cambia el localhost por el IP en las líneas

<Connector port=“8080” address=“192.168.124.140” …

<Connector port=“8009” address=“192.168.124.140” …

  • En el comdoc.properties cambia el localhost por el IP y el puerto si cambiaste el puerto por defecto en

Host y puerto HTTP

comdocII.web.http-host=localhost
comdocII.web.http-port=8081

  • Las modificaciones en la sección 3.2.8 son opcionales por tema de seguridad. No son necesarias para hacer andar al sistema. Fijate si sale andando con lo anterior y luego si te interesa este tema lo vemos bien.

Saludos
Eugenia

Creo que encontré uno de los problemas combinados (porque sino son combinados son muy faciles de resolver)

El problema no era el archivo de configuración sino que cuando hacia restart del jboss daba error en el stop y nunca se detenía, por lo tanto el start no funcionaba y quedaba la primera configuración erronea.

Cuando me dí cuenta de esto reinicie la maquina y tomo la nueva configuración y al menos el jboss me respondió con una serie de excepciones java pero respondió, así que vamos por buen camino:

el stop me tira algunas excepciones:

la primera vez:

Shutdown message has been posted to the server.
Server shutdown may take a while - check logfiles for completion

la segunda:

Exception in thread “main” javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:1099 [Root exception is javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]]
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1562)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
at javax.naming.InitialContext.lookup(InitialContext.java:409)
at org.jboss.Shutdown.main(Shutdown.java:214)
Caused by: javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:274)
at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533)
… 4 more
Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:248)
… 5 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:381)
at java.net.Socket.connect(Socket.java:537)
at java.net.Socket.connect(Socket.java:487)
at java.net.Socket.(Socket.java:384)
at java.net.Socket.(Socket.java:285)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:84)
at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:77)
at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:244)
… 5 more

Quizás puedan estar relacionadas con la serie de errores que marca el jboss cuando lo accedo por el navegador:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet MainServlet threw exception
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:636)

root cause

java.lang.RuntimeException: No se pudo encontrar el archivo de configuración de Log4J en /usr/local/comdoc/conf/log4j.conf
comdocII.control.web.MainServlet.configurarLog4j(MainServlet.java:120)
comdocII.control.web.MainServlet.init(MainServlet.java:78)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:636)

note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.

Este error que es perfectamente legible: No se pudo encontrar el archivo de configuración de Log4J en /usr/local/comdoc/conf/log4j.conf

el archivo log4j.conf está en /usr/local/comdoc/conf/ lo acabo de chequear así que debe ser otra cosa

Juan,
Verifica que el puerto 1099 este abierto para JBoss.
El archivo de log4j.conf esta bien ubicado ahí, no debería tirar problema con eso. Verificá lo del puerto y vemos.
Saludos,
Eugenia

¿Como lo verifico?

nmap me dice que esta abierto un puerto tcp en 1099 pero es desconocido

la configuración en conf/comdoc-system.properties tiene:

comdocII.rmi.port=1099

y

comdocII.rmi.remoto=true

si intento acceder al puerto con el navegador haciendo http://10.1.1.194:1099/ me devuelve un archivo .bin

Juan,
Si tu instalación va a ser en un solo servidor seguí las instrucciones que dicen Servidor local.
Servidor remoto es cuando tenes el .war en otro servidor, entiendo que no es tu caso, el tuyo es solo local.
Verificá esto y luego baja el jboss, reinicialo e intentá entrar a:

http://ip:8080/comdocII/webtier/

Si cambiaste el puerto corregilo.
Si no responde mandame el server.log y vemos que problema tiene.
Saludos
Eugenia

Estuve revisando el log, porque da el mismo error hasta que encontré este detalle:

java.lang.RuntimeException: No se pudo encontrar el archivo de configuración de Log4J en /usr/local/comdoc/conf/log4j.conf

pero log4j.conf yo no lo tengo en ese directorio lo tengo en /usr/local/jboss/server/comdoc/conf/log4j.conf

me fijo en el manual y dice:

4.4. Componentes auxiliares

Crear un directorio conf/ y copiar los archivos que vienen en la distribución:
/conf/log4j.conf
conf/ehcache.xml
Crear un directorio custom/ y copiar en el: /custom/errorinterno

yo pensé que se refería dentro del jboss, pero está buscando fuera no se si es que debo crear en /usr/local/ las carpetas comdoc/conf/ y colocar adentro esos dos archivos.

Si es así ¿hay que colocar algún otro?

Juan,

Todas los archivos y carpetas hacen referencia al directorio de instalacion dentro del jboss, que en el manual lo llama:[config] , (/usr/local/jboss-4.2.3.GA/server/comdoc/)

Revisa el manual de instalacion porque no deberia estar tomando el directorio /usr/local/comdoc/

revise la instalación de nuevo, encontré algunos errores pero nada que hiciera referencia al lugar del log4j.conf a pesar de corregirlos sigue dándome la misma salida:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet MainServlet threw exception
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:636)

root cause

java.lang.RuntimeException: No se pudo encontrar el archivo de configuración de Log4J en /usr/local/comdoc/conf/log4j.conf
comdocII.control.web.MainServlet.configurarLog4j(MainServlet.java:120)
comdocII.control.web.MainServlet.init(MainServlet.java:78)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:636)

note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.

el log

2009-09-28 14:20:03,280 INFO [STDOUT] Directorio de instalación de Comdoc: /usr/local/comdoc
2009-09-28 14:20:03,280 INFO [STDOUT] Inicializando log4j desde el archivo /usr/local/comdoc/conf/log4j.conf
2009-09-28 14:20:03,280 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/comdocII]] StandardWrapper$
java.lang.RuntimeException: No se pudo encontrar el archivo de configuración de Log4J en /usr/local/comdoc/conf/log4j.conf
at comdocII.control.web.MainServlet.configurarLog4j(MainServlet.java:120)
at comdocII.control.web.MainServlet.init(MainServlet.java:78)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

y sigue…

si queres te lo mando completo, pero sigue tomando que la aplicación está instalada en el direcorio incorecto:

INFO [STDOUT] Directorio de instalación de Comdoc: /usr/local/comdoc

probé buscar todos los archivos con esa cadena a ver si descubría alguna configuración que se me pasara por alto pero solo lo encontré en los logs.

Así que me puse a ver el boot.log y aparece la entrada comdoc.dir: /usr/local/comdoc

sin embargo antes que esta entrada aparece:

Server Home Dir: /usr/local/jboss/server/comdoc

todo lo que esta referenciado a server parece que está bien

la referencia a comdoc.dir solo aparece dentro del archivo log4j.conf

¿Donde se inicializa esta variable?

Juan,

en el jboss_init.sh tenes qeu configurar el comdoc_dir de acuerdo con tu instalaciòn

comdoc.dir=/usr/local/jboss-4.2.3.GA/server/comdoc/

Cambialo en todos los lugares donde aparece. Revisa qeu ese y el JBOSS_HOME sean los correctos.
Reinicia y avisame como se comporta
Saludos
Eugenia

Ya logre hacerlo andar, el problema estaba en dos lugares, uno era el archivo jboss_init.sh cuando lo revisé por primera vez solo me fije en el HOME, la parte del dir.comdoc está medio oculta, sería interesante aclararlo en el manual.

La otra cosa es que luego me dijo que faltaba un archivo más en custom, también falta aclarar en el manual que no solo hay que crear custom sino que hay que copiar los archivos desde var/comdoc que están dentro de él. Quizás sea obvio para la mayoría pero yo no me di cuenta hasta que analicé el error.

Ahora que estoy adentro doy por finalizada esta consulta y abro una nueva sobre el dentro del comdocIII

Gracias Eugenia por la paciencia (que tuviste y que vas a tener que tener por la próxima)

Buenisimo Juan,
Gracias por los aportes voy a modificar el manual para que sea mas facil de entender.
Saludos,

Eugenia

Hola Eugenia mi nombre es Nahuel Baglietto y trabajo en el espacio Memoria (ex esma) y estoy tratando de instalar comdocIII y estoy teniendo los mismos problemas que jsampietro. En estos momento Jboss no enciende y no logro solucionar este problema.

Abajo vos haces referencia a comdoc.dir= , pero en mi archvo de configuracion no esta esa linea, te referis a:?
JBOSS_CMD_START="./run.sh -b 0.0.0.0 -c $INSTANCIA -Djboss.partition.name=PartComdoc -Dcomdoc.dir=/usr/local/jboss/server/comdoc

Bueno quedo a la espera y sigo intentando solucionar este problema.

Saludos

Nahuel

Hola Juan,

el archivo server.xml debe estar en el deploy/jboss-web.deployer/ de tu instalación.

Saludos