Page 1 of 2

Script para el init.d de OpenKM

PostPosted:Tue Oct 21, 2008 12:28 pm
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.

Re:Script para el init.d de OpenKM

PostPosted:Wed Oct 22, 2008 6:16 am
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... ).

Re:Script para el init.d de OpenKM

PostPosted:Thu Oct 23, 2008 4:15 pm
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.

Re:Script para el init.d de OpenKM

PostPosted:Sun Dec 28, 2008 7:05 pm
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

Re:Script para el init.d de OpenKM

PostPosted:Sun Dec 28, 2008 9:01 pm
by pavila
Creo que tendrías que añadirlo a la variable DAEMON_OPTS.

Solution - Script para el init.d de OpenKM

PostPosted:Sun Jan 04, 2009 6:47 pm
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

Re:Solution - Script para el init.d de OpenKM

PostPosted:Sun Jan 18, 2009 11:07 pm
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.

Re:Solution - Script para el init.d de OpenKM

PostPosted:Mon Jan 19, 2009 8:18 am
by pavila
Usa este: http://www.guia-ubuntu.org/index.php?title=JBoss que funciona para Debian / Ubuntu. El otro que han posteado por aquí me es más para RedHat y familia.

Re:Solution - Script para el init.d de OpenKM

PostPosted:Mon Jan 19, 2009 11:09 am
by remunante
Ahora si que lo he conseguido. Muchas gracias.

Re:Script para el init.d de OpenKM

PostPosted:Tue Mar 03, 2009 10:23 am
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!

Re:Script para el init.d de OpenKM

PostPosted:Tue Mar 03, 2009 7:06 pm
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.

Re:Script para el init.d de OpenKM

PostPosted:Wed Mar 04, 2009 10:07 am
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...

Re:Script para el init.d de OpenKM

PostPosted:Wed Mar 04, 2009 4:36 pm
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

Re:Script para el init.d de OpenKM

PostPosted:Thu Mar 05, 2009 8:25 am
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!

Re:Script para el init.d de OpenKM

PostPosted:Thu Mar 05, 2009 8:36 am
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é!