• Script para el init.d de OpenKM

  • Problemas con la instalación de OpenKM? No problemo, la solución está más cerca de lo que piensas.
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.
 #1244  by bameda
 
Hola a todos,

He instalado OpenKM en Linux sin problemas y funciona perfectamente. Ahora estoy tratando de crear un script de inicio/apagado/restaurado para el OpenKM, meterlo en el init.d y añadirlo al runlevel para que funcione como un servicio (demonio). El problema es que no consigo hacerlo funcionar.

¿Alguien tiene este script y puede pasármelo? ¿Alguien puede comentarme cuales pueden ser los comando de inicio/apagado de OpenKM para crear mi propio script?

Gracias de antemano.
 #1250  by jllort
 
Aquí tienes un interesante artículo que creo que es lo que estas buscando. ( Nota: -> Cuando llega a la integración de apache lo puedes dejar, eso es para montar un proxy etc... ).
 #1268  by bameda
 
Bueno, al final creo que he creado algo decente:
Code: Select all
#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/java
DAEMON_OPTS=\"-Dprogram.name=run.sh -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/var/opt/openkm/lib/endorsed -classpath /var/opt/openkm/bin/run.jar org.jboss.Main -b <EXTERNAL_IP>\"
NAME=OpenKM
DESC=\"Document Management System\"

test -x $DAEMON || exit 0

set -e

case \"$1\" in
        start)
                echo -n \"Starting $DESC: \"

                start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \\
                        --chuid $USER --background --make-pidfile \\
                        --exec $DAEMON -- $DAEMON_OPTS

                echo \"$NAME.\"
                ;;

        stop)
                echo -n \"Stopping $DESC: \"

                start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \\
                        --oknodo

                echo \"$NAME.\"
                ;;

        restart|force-reload)
                echo -n \"Restarting $DESC: \"

                start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \\
                        --oknodo

                sleep 1

                start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \\
                        --chuid $USER --background --make-pidfile \\
                        --exec $DAEMON -- $DAEMON_OPTS

                echo \"$NAME.\"
                ;;

        *)
                N=/etc/init.d/$NAME
                echo \"Usage: $N {start|stop|restart|force-reload}\" >&2
                exit 1
                ;;
esac

exit 0

Por si a alguien le sirve.


EDITO (v 0.2): He cambiado el script, he añadido la opción \"-b\", hay que modificar
<EXTERNAL_IP> por la ip de salida de nuestro servidor para que se pueda acceder a OpenKM desde el exterior.


(v 0.3): El script ha sido probado en Debian 4.0/5.0 y en Ubuntu Desktop/Server 7.xx/8.xx.
 #1753  by wape
 
I have integrated your script into my linux scripts on a debian system. But how can I integrate the -b 0.0.0.0 option into the script?

Thank you for any suggestions.
Peter
 #1754  by pavila
 
Creo que tendrías que añadirlo a la variable DAEMON_OPTS.
 #1777  by wape
 
Hello,

thank you for your answer, but now I have found a working solution. To change the bind address for jboss within a script you must change the following line:

DAEMON_OPTS=\"-Dprogram.name=run.sh -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -D java.net.preferIPv4Stack=true -Djava.endorsed.dirs=/var/opt/openkm/lib/endorsed -classpath /var/opt/openkm/bin/run.jar org.jboss.Main\"

Add --host 0.0.0.0 after org.jboss.Main, so that the line looks like this:

DAEMON_OPTS=\"-Dprogram.name=run.sh -server -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -D java.net.preferIPv4Stack=true -Djava.endorsed.dirs=/var/opt/openkm/lib/endorsed -classpath /var/opt/openkm/bin/run.jar org.jboss.Main --host 0.0.0.0\"

Regards,
Peter
 #1921  by remunante
 
Hola, llevo una semana revisando el script sin conseguir que me funcione. Lo máximo que he conseguido es levantar el jboss pero luego no arranca bien el OpenKM. Y tampoco soy capaz de detener el jboss.
Podríais colgar un script para ubuntu server 8.04.1 o indicar que es lo que hay que cambiar en el script que hay un par de posts más arriba.

Gracias.
 #2291  by bytedevil
 
Buenas, es mi primer post, me presento!

Yo estoy liado con el script, trabajo sobre debian lenny (stable) y si que consigo arrancar openkm y todo bien, lo malo es que no me deja hacer nada mas, me explico...

He generado el script, lo inicia correctamente en init.d, le asingo los \"runlevel\" adecuados, reinicio y sorpresa!! Me arranca bien el openkm pero no me deja hacer nada mas... ni consigo prompt, ni abrir otra consola (ctrl+alt+(1,2,3,4)) Es decir, pierdo toda una maguina para mover un simple gestor de contenidos!! y esto no puede ser... Alguien puede ayudarme para iniciarlo en segundo plano, o que simplemente no se apropie del prompt y siga ejecutando los demas procesos... ya que con esto no puedo acceder ni por ssh!! Muchas gracias de antemano a toda la comunidad!
 #2295  by pavila
 
Es muy raro eso que te pasa. El script está diseñado para Ubuntu pero Debian es el padre de esta distribución y debería funcional igualmente.
 #2306  by bytedevil
 
Buenas de nuevo... Ya he conseguido ejecutar en segundo plano susodicho script! Era por culpa mia, al adaptar el script para mi OpenKM recorté demasiado codigo... Segundo problema, pero este entiendo que es facil de solucionar, por defecto OKM trabaja solamente en direccion local (es decir, nadie tiene acceso al mismo excepto el localhost. Como he de modificar el script para este proposito?? Adjunto el script de inicio que he creado, para que sepais por donde voy.


#! /bin/sh
# /etc/init.d/jboss: Start and stop JBoss AS
ECHO=/bin/echo
TEST=/usr/bin/test
JBOSS_START_SCRIPT=/opt/OpenKM-3.0_JBoss-4.2.2.GA/bin/run.sh
JBOSS_STOP_SCRIPT=/opt/OpenKM-3.0_JBoss-4.2.2.GA/bin/shutdown.sh


$TEST -x $JBOSS_START_SCRIPT || exit 0
$TEST -x $JBOSS_STOP_SCRIPT || exit 0

start() {
$ECHO -n \"Iniciando OpenKM\"
su -c \"$JBOSS_START_SCRIPT -b 0.0.0.0 > /dev/null 2> /dev/null &\"
$ECHO \"Se ha inicado correctamente\"

Con esto no inicia para verlo desde fuera...
 #2312  by bameda
 
No entiendo porque has recortado tanto el scripts, has perdido la funcionalidad, pero si a ti te gusta así...

Para conseguir conectarse a la aplicación desde otra ubicación debes lanzar el script con la opción -b <ip_del_servidor_de_openkm>

Prueba a sustituir

JBOSS_START_SCRIPT=/opt/OpenKM-3.0_JBoss-4.2.2.GA/bin/run.sh

por

JBOSS_START_SCRIPT=/opt/OpenKM-3.0_JBoss-4.2.2.GA/bin/run.sh -b xxx.xxx.xxx.xxx

donde las x\'s representan la dirección ip del servidor.

SALUDOS
 #2325  by bytedevil
 
Ahi va, un par de cositas que no tengo claras.

1) En JBOSS_START_SCRIPT creía que solo era para indicar la ruta... y que no aceptaba ningun modificador

2) para hacer que sea accesible a todos, no es el modificador -b 0.0.0.0? Comentas que inserte la ip del servidor, te refieres a la ip interna¿? Pruebo con estos dos parametros y comento los resultados.

Como siempre, muchas gracias!
 #2326  by bytedevil
 
Traigo novedades, he copiado el script de ubuntu integramente, para no perder funcionalidad...

Una vez añadido el -b xxx.xxx.xxx.xxx al final me da un error en consola:

Line 5: -b xxx.xxx.xxx.xxx: command not found

lo he puesto con comillas, porque sin comillas solo me tira el error -b:command not found, es decir no pilla la ip en el caso de que funcionase.

pongo un ejemplo para que lo entendais mejor:

JBOSS_START_SCRIPT=/opt/openkmloquesea/bin/run.sh \"-b 0.0.0.0\"

Ya digo, he vuelto a pillar el script que indicabais para ubuntu/debian, para no perder funcionalidad. Sabias que en ese script es necesario generar un usuario llamado jboss? Es por eso que lo recorté!

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.