Page 1 of 1

Instalación en Tomcat7

PostPosted:Thu Sep 05, 2013 7:38 am
by aestebans
En un servidor UBUNTU con TOMCAT7 he desplegado el war extraido del fichero openkm-6.2.4-community-war.zip
La operación se ha realizado con exito, pero al arrancarla me da el siguiente mensaje:
Code: Select all
FALLO - No se pudo arrancar la aplicación en trayectoria de contexto /OpenKM
FALLO - Encontrada excepción org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/OpenKM]]
El tomcat7 se ha instalado con apt-get, sin añadir nada.
Hay instaladas aplicaciones java como sonar, jenkins, o particulares y todas funcionan correctamente
Code: Select all
sep 05, 2013 9:27:53 AM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
sep 05, 2013 9:27:57 AM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: start: Starting web application '/OpenKM'
sep 05, 2013 9:28:09 AM org.apache.catalina.core.ApplicationContext log
SEVERE: FALLO - No se pudo arrancar la aplicación en trayectoria de contexto /OpenKM
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/OpenKM]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
	at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1256)
	at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:714)
	at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:219)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.NoClassDefFoundError: javax/mail/MessagingException
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2521)
	at java.lang.Class.getDeclaredMethods(Class.java:1845)
	at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
	at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:279)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:141)
	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5179)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 27 more
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
	... 41 more

sep 05, 2013 9:28:09 AM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
Gracias, por leerme.

Re: Instalación en Tomcat7

PostPosted:Fri Sep 06, 2013 8:07 am
by aestebans
Siguiendo con la investigación:
Añado en /etc/tomcat7/server.xml
Code: Select all
<Resource name="mail/OpenKM" type="javax.mail.Session"
    mail.transport.protocol="smtp"
    mail.smtp.auth="true"
    mail.smtp.host="your smtp server"
    mail.smtp.user="<username>"
    password="<password>"
    mail.port="25"
    mail.debug="true"/>
Porque el error de java parece indicar que pudiese ser el problema.

Intento configurar la base de datos

http://wiki.openkm.com/index.php/MySQL_-_OpenKM_6.2

Pero no encuentro con find -iname "OpenKM.cfg" el fichero en el disco. ¿Alguien me puede indicar donde esta?

Re: Instalación en Tomcat7

PostPosted:Sun Sep 08, 2013 10:29 am
by jllort
Claro. Uno de los descargables de OpenKM ( OpenKM Bundle ) viene con el Tomcat preparado y listo para ser arrancado. El Tomcat por defecto no te va a valer, hay una serie de ficheros que no estan en el tomcat que te bajas y otros que han sido modificados. Tienes que bajarte el openkm-6.2.4-community-tomcat-bundle.zip y una vez descargado tienes 2 posibilidades :

- Lo instalas y funcionas con esta version de Tomcat ya preparado

- O vas copiando y modificando los ficheros que faltan y/o que han sido modificados ( esto es mas largo, obviamente )

Re: Instalación en Tomcat7

PostPosted:Tue Sep 10, 2013 11:46 am
by aestebans
El problema es cuando tienes que instalar en un servidor que ya tienes instalado tomcat y no está en tus manos quitarlo y reinstalarlo.
Probare la segunda opción e intentare documentarla para los que se encuentren en esta misma problemática.
Gracias

Re: Instalación en Tomcat7

PostPosted:Wed Sep 11, 2013 7:49 am
by jllort
Esto lo pondré en la wiki cuando tenga tiempo.

Editar el fichero c:\openkm\conf\context.xml
Añadir después de:
Code: Select all
<WatchedResource>WEB-INF/web.xml</WatchedResource>
Lo siguiente:
Code: Select all
<ResourceLink global="jdbc/OpenKMDS" name="jdbc/OpenKMDS" type="javax.sql.DataSource"/>
<ResourceLink global="mail/OpenKM" name="mail/OpenKM" type="javax.mail.Session"/>
Editar el fichero c:\openkm\conf\server.xml
Añadir después de:
Code: Select all
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
Lo siguiente:
Code: Select all
<Listener className="com.openkm.util.Log4JInitializer" configFile="${catalina.base}/conf/log4j.properties"/>
Dentro del tag <GlobalNamingResources> añadir lo siquiente:
Code: Select all
<Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
            username="openkm" password="*****" driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/okmdb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"/>
  
<Resource name="mail/OpenKM" auth="Container" type="javax.mail.Session"
            mail.smtp.host="localhost" mail.from="testing@openkm.com"/>
Modificar la entrada :
Code: Select all
<Connector connectionTimeout="20000" port="8880" protocol="HTTP/1.1" redirectPort="8443"/>
Por:
Code: Select all
<Connector address="0.0.0.0" connectionTimeout="20000" port="8880" protocol="HTTP/1.1" redirectPort="8443"/>
Ficheros que tienes que copiar o sobreescribir
Code: Select all
c:\tomcat-7.0.27\OpenKM.cfg 
c:\tomcat-7.0.27\OpenKM.xml 
c:\tomcat-7.0.27\PropertyGroups.xml 
c:\tomcat-7.0.27\conf\log4j.properties 
c:\tomcat-7.0.27\bin\setenv.bat
c:\tomcat-7.0.27\conf\log4j.properties 
c:\tomcat-7.0.27\lib\javassist-3.11.0.GA.jar
c:\tomcat-7.0.27\lib\jstl-1.2.jar
c:\tomcat-7.0.27\lib\jta-1.1.jar
c:\tomcat-7.0.27\lib\log4j-1.2.17.jar
c:\tomcat-7.0.27\lib\log4j-initializer.jar
c:\tomcat-7.0.27\lib\mail-1.4.5.jar
c:\tomcat-7.0.27\lib\mysql-connector-java-5.1.12-bin.jar
c:\tomcat-7.0.27\lib\tomcat-juli-adapters.jar
c:\tomcat-7.0.27\lib\unicode.ttf
c:\tomcat-7.0.27\lib\sigar
c:\tomcat-7.0.27\bin\tomcat-juli.jar
c:\tomcat-7.0.27\webapps\OpenKM.war
Mas diversión de la que te esperabas probablemente, no ? Cuando tenga tiempo documentaré esto en la wiki,sobretodo para que en windows se pueda instalar la aplicación como servicio.