Problemas en la conexión (Cannot open )

Problemas con la instalación de OpenKM? No problemo, la solución está más cerca de lo que piensas.
Forum rules
Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
Post Reply
jim_95
Fresh Boarder
Fresh Boarder
Posts: 5
Joined: Thu Aug 08, 2019 10:51 am

Problemas en la conexión (Cannot open )

Post by jim_95 » Fri Aug 16, 2019 10:30 am

Hola. Llevo semana y media intentando instalar OpenKM (versión Community) y estoy teniendo problemas que he ido resolviendo a través del foro y de la información de la página web, pero no creo que las guías de instalación estén muy claras para llevarlo a cabo de forma fácil. Para la instalación he seguido todos los pasos del vídeo de instalación de la página web: https://www.youtube.com/watch?v=6F7Hany7BMc . Durante la instalación de OpenKM elegí la opción sqlserver en el campo Database, por lo que después instalé SQL Server y SQL Management, en lugar de MySQL como hace en el video. Al terminar la instalación de OpenKM, el programa no me ofreció unos comandos SQL para crear la base de datos, el usuario y para darle los permisos necesarios, por lo tanto lo hice yo manualmente usando estos comandos:

Code: Select all

-- BASE DE DATOS

CREATE DATABASE okmdb;

-- USUARIO

USE okmdb;
CREATE LOGIN openkm WITH PASSWORD = '*************';
CREATE USER openkm FOR LOGIN openkm;

-- PERMISOS

GRANT BACKUP DATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, CREATE VIEW,
EXECUTE, REFERENCES, DELETE, INSERT, SELECT, UPDATE
TO openkm
WITH GRANT OPTION
Una vez creada la base de datos, activo el servicio y accedo al navegador (lo he probado con Edge y Firefox) y en la ruta escribo lo mismo que en el vídeo: localhost:8080/OpenKM. Después de una carga lenta, me aparece el siguiente mensaje de error: javax.servlet.ServletException: com.openkm.core.DatabaseException: Cannot open connection.

1.jpg

Después, buscando por el foro, di con esta guía de configuración de SQL Server: https://docs.openkm.com/kcenter/view/ok ... erver.html. Me salté los pasos para la creación de la base de datos, usuario y permisos porque, como ya se sabe, están creados anteriormente. Modifico los archivos que indica. Todos están idénticos a como aparecen en la guía, salvo el primero del que se habla: $TOMCAT_HOME/OpenKM.cfg. En este archivo solo tuve que cambiar la palabra "none" por "create" para dejarlo como indica. Los demás archivos no los modifiqué.

Al volver a probar la conexión seguía teniendo el mismo problema, así que he probado a modificar el segundo archivo del que se habla en la guía: $TOMCAT_HOME/conf/server.xml. He cambiado la parte donde pone "url=", que imagino que es alguna ruta. Por defecto venía 1433, como indica en la guía, he probado a cambiarla por el puerto 8080, para que coincida como lo hace en el vídeo, pero esto, al parecer, no tiene efecto alguno. Así que he vuelto a dejarlo como estaba.

Me he preguntado si el problema pueda estar en el driver de SQL Server, como también sugiere la guía que compruebes. He descargado los drivers más recientes, pero no me queda claro cómo debo instalarlos y cambiarlos por el que ya viene por defecto, que es el archivo C:\tomcat-8.5.24\lib\sqljdbc4. No he probado esto por las razones que cuento.

No encuentro más opciones para intentar resolver este problema. Cabe decir que: (i) al modificar los archivos eliminé lo que había creado en SQL Server y volví a ejecutar los comandos que he escrito anteriormente, es decir, rehíce todo; (ii) he podido observar que el archivo $TOMCAT_HOME/OpenKM.cfg vuelve a aparecer "none" en vez de "create", como había modificado, y he probado a cambiarlo de nuevo y probar; (iii) estoy instalando todo esto en una máquina virtual (VirtualBox), usando Windows 10 (versión 1903, tipo de sistema de 64 bits, procesador x64); (iv) en la empresa en la que estoy utilizamos un certificado proxy específico, pero que está instalado correctamente tanto en mi equipo, como en la máquina virtual y también está insertado en los certificados que usa Java (archivo cacerts), por lo que no creo que esto sea un problema, ya que tuve que instalarlo e insertarlo para que la instalación de OpenKM pudiera descargar Tomcat; (v) he probado también a entrar sin puertos: localhost/OpenKM ya que al ser localhost me preguntaba si realmente era necesario; (vi) en ningún momento me ha dejado entrar.

Espero que puedan darme una solución a mi problema lo antes posible. Muchas gracias de antemano.

jllort
Moderator
Moderator
Posts: 10830
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Problemas en la conexión (Cannot open )

Post by jllort » Sat Aug 17, 2019 4:59 am

Tendriamos que ver el log completo del error en catalina.log ( te sugiero que apagues la aplicación, elimines todos los ficheros de log, vuelvas a arrancar la aplicación y compartas aquí el fichero catalina.log ).

En general los problemas de conexión en el SQL server son debidos a que no esta habilitado el servicio TCP/IP, te aconsejo intentar conectar contra la base de datos desde otro equipo ( no desde el propio servidor de base de datos ) a ver si te esta respondiendo correctamente. Otras veces el problema viene por la URL de la conexión ( me refiero a la cadena "url="jdbc:sqlserver://localhost\SQL;databaseName=okmdb;autoReconnect=true"" que se encuentra en el server.xml ).

Asegúrate que no tengas algun firewall en la base de datos que no permita su conexión

La conexión a la base de datos tiene 2 partes muy sencillas en OpenKM.
1- En el OpenKM.cfg tienes que tener :

Code: Select all

hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.hbm2ddl=create
2- En el fichero server.xml tienes se encuentra la conexión propiamente.

Cada vez que realices una modificación en alguno de estos dos ficheros tienes que reiniciar la aplicación para que tenga efecto.

También te aconsejo que si la aplicación no ha podido crear las tablas, elimines cada vez que reinicies la aplicación la carpeta "repository" que se encuentra dentro de la carpeta del tomcat ( paras la aplicacion, eliminas esta carpeta y vuelves a intentar arrancar ).

jim_95
Fresh Boarder
Fresh Boarder
Posts: 5
Joined: Thu Aug 08, 2019 10:51 am

Re: Problemas en la conexión (Cannot open )

Post by jim_95 » Mon Aug 19, 2019 10:34 am

He borrado los archivos de log. He vuelto a cambiar el archivo OpenKM.cfg para dejarlo como me dices. He modificado el archivo server.xml para añadir: ";autoReconnect=true" a la cadena que me dices. He probado a iniciar el servicio y probar la conexión en el navegador con "localhost:8080/OpenKM", ahora no aparece ni siquiera la página que mandé, queda cargando mucho tiempo y después no pasa nada más. He probado a cerrrar el proceso después y me da error. Te dejo los archivos log, el OpenKM.cfg y el server.xml tal cual los tengo después de haber probado esto.
files.zip
(17.79 KiB) Downloaded 5 times

jllort
Moderator
Moderator
Posts: 10830
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Problemas en la conexión (Cannot open )

Post by jllort » Wed Aug 21, 2019 4:02 pm

Ojo con pone el parametro hibernate.hbm2ddl a create:

Code: Select all

hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.hbm2ddl=create
Con el valor a create le estas diciendo que vuelva a crear toda la base de datos, es esto realmente lo que quieres?

Como tienes el parametro a create, se queda clavado en la carpeta C:\tomcat-8.5.24\repository

Code: Select all

2019-08-19 12:18:59,644 [localhost-startStop-1] [] INFO  com.openkm.dao.HibernateUtil - Cleaning filesystem data from: C:\tomcat-8.5.24\repository
Si quieres volver a crear el repositorio a parte de poner el parámetro con el valor a create tiene que eliminar la carpeta repository antes de volver a arrancar nuevamente la aplicación

Post Reply