Diferencia entre revisiones de «Jboss»

De wiki.mitic.gov.py
Ir a la navegaciónIr a la búsqueda
Línea 280: Línea 280:
</pre>
</pre>


Buscar la propiedad '''webServiceHost''' y colocar '''jbossws.undefined.host'''. Y también colocar la propiedad '''modifySOAPAddress''' en '''false''' como se muestra a continuación:
Buscar la propiedad '''webServiceHost''' y colocar '''jbossws.undefined.host'''. Y también colocar la propiedad '''modifySOAPAddress''' en '''true''' como se muestra a continuación:


Si 'WebServiceHost' está en 'jbossws.undefined.host', el JBossWS utiliza host requesters al reescribir el <soap:address>
Si 'WebServiceHost' está en 'jbossws.undefined.host', el JBossWS utiliza host requesters al reescribir el <soap:address>

Revisión del 16:57 14 feb 2013

Instalar Jboss 6.x como Servicio

Configuraciones comunes para los Sistemas Linux

  • Instalar el openjdk, para ello loguearse como root y ejecutar:
 root@ubuntu1204:~# apt-get install openjdk-6-jdk 

Por defecto crea la carpeta jvm en usr/lib

  • Crear la estructura de directorios utilizada por tekoporu, para ello ir a /opt y crear los directorios de manera tal que queden de la siguiente manera:
 /opt/tekoporu/server/
  • Copiar el directorio jboss-6.x en la ubicación creada anteriormente


Observación - Tener en cuenta que el directorio jboss-6.x y todo su contenido debe ser propiedad del usuario jboss para ello se debe crear dicho usuario de la siguiente manera:

 root@ubuntu1204:~# useradd -s /bin/bash -d /opt/tekoporu/server/jboss-6.0/ jboss 

Y asignar como propietario del mismo al usuario jboss

  root@ubuntu1204:~# chown -R jboss:jboss /opt/tekoporu/server/jboss-6.x 
  • Modificar el archivo run.conf que se encuentra en /opt/tekoporu/server/jboss-6.x/bin/run.conf a fin de agregar el lenguaje y el locale correcto, en la última línea agregar:
 JAVA_OPTS="$JAVA_OPTS -Duser.language=es -Duser.region=PY" 
  • Crear una copia del archivo que se encuentra normalmente en el directorio /opt/tekoporu/server/jboss-6.x/bin/jboss_init_redhat.sh a la ubicación /etc/init.d/ y renombrarlo como jboss
 root@ubuntu1204:~# cp /opt/tekoporu/server/jboss-6.x/bin/jboss_init_redhat.sh /etc/init.d 

Estando en /etc/init.d renombrarlo:

 root@ubuntu1204:/etc/init.d# mv jboss_init_redhat.sh jboss 
  • Editarlo y verificar los siguientes puntos(Para modificación del archivo jboss, se debe loguear como root):

- Que el JBOSS_HOST tenga seteada la IP correspondiente donde se ofrecerá el servicio Jboss, si se va a utilizar la aplicación dentro de una LAN entonces se recomienda colocar el host 0.0.0.0:

 JBOSS_HOST= "-b 10.8.0.5" 

- Que el JAVAPATH apunte a nuestro jdk instalado

 JAVAPTH=${JAVAPTH:-"/usr/lib/jvm/java-6-openjdk-amd64/jre/bin"} 

- Que el JBOSS_HOME apunte a nuestro server:

 JBOSS_HOME=${JBOSS_HOME:-"/opt/tekoporu/server/jboss-6.x" 
  • Además darle los permisos de ejecución correspondientes, ejecutando:
chmod a+x jboss

Script para instalar el Servicio Jboss

<source lang="bash">

  1. !/bin/sh
  2. $Id: jboss_init_redhat.sh 81068 2008-11-14 15:14:35Z dimitris@jboss.org $
  3. JBoss Control Script
  4. To use this script run it as root - it will switch to the specified user
  5. Here is a little (and extremely primitive) startup/shutdown script
  6. for RedHat systems. It assumes that JBoss lives in /usr/local/jboss,
  7. it's run by user 'jboss' and JDK binaries are in /usr/local/jdk/bin.
  8. All this can be changed in the script itself.
  9. Either modify this script for your requirements or just ensure that
  10. the following variables are set correctly before calling the script.
  1. define where jboss is - this is the directory containing directories log, bin, conf etc

JBOSS_HOME=${JBOSS_HOME:-"/opt/tekoporu/server/jboss-6.0"}

  1. define the user under which jboss will run, or use 'RUNASIS' to run as the current user

JBOSS_USER=${JBOSS_USER:-"jboss"}

  1. make sure java is in your path

JAVAPTH=${JAVAPTH:-"/usr/lib/jvm/java-6-openjdk-i386/jre/bin"}

  1. configuration to use, usually one of 'minimal', 'default', 'all'

JBOSS_CONF=${JBOSS_CONF:-"default"}

  1. if JBOSS_HOST specified, use -b to bind jboss services to that address
  2. JBOSS_BIND_ADDR=${JBOSS_HOST:+"-b $JBOSS_HOST"}

JBOSS_BIND_ADDR=${JBOSS_HOST:+"-b localhost"}

  1. define the classpath for the shutdown class

JBOSSCP=${JBOSSCP:-"$JBOSS_HOME/bin/shutdown.jar:$JBOSS_HOME/client/jnet.jar"}

  1. define the script to use to start jboss

JBOSSSH=${JBOSSSH:-"$JBOSS_HOME/bin/run.sh -c $JBOSS_CONF $JBOSS_BIND_ADDR"}

if [ "$JBOSS_USER" = "RUNASIS" ]; then

 SUBIT=""

else

 SUBIT="su - $JBOSS_USER -c "

fi

if [ -n "$JBOSS_CONSOLE" -a ! -d "$JBOSS_CONSOLE" ]; then

 # ensure the file exists
 touch $JBOSS_CONSOLE
 if [ ! -z "$SUBIT" ]; then
   chown $JBOSS_USER $JBOSS_CONSOLE
 fi 

fi

if [ -n "$JBOSS_CONSOLE" -a ! -f "$JBOSS_CONSOLE" ]; then

 echo "WARNING: location for saving console log invalid: $JBOSS_CONSOLE"
 echo "WARNING: ignoring it and using /dev/null"
 JBOSS_CONSOLE="/dev/null"

fi

  1. define what will be done with the console log

JBOSS_CONSOLE=${JBOSS_CONSOLE:-"/dev/null"}

JBOSS_CMD_START="cd $JBOSS_HOME/bin; $JBOSSSH" JBOSS_CMD_STOP=${JBOSS_CMD_STOP:-"java -classpath $JBOSSCP org.jboss.Shutdown --shutdown"}

if [ -z "`echo $PATH | grep $JAVAPTH`" ]; then

 export PATH=$PATH:$JAVAPTH

fi

if [ ! -d "$JBOSS_HOME" ]; then

 echo JBOSS_HOME does not exist as a valid directory : $JBOSS_HOME
 exit 1

fi

echo JBOSS_CMD_START = $JBOSS_CMD_START

case "$1" in start)

   cd $JBOSS_HOME/bin
   if [ -z "$SUBIT" ]; then
       eval $JBOSS_CMD_START >${JBOSS_CONSOLE} 2>&1 &
   else
       $SUBIT "$JBOSS_CMD_START >${JBOSS_CONSOLE} 2>&1 &" 
   fi
   ;;

stop)

   if [ -z "$SUBIT" ]; then
       $JBOSS_CMD_STOP
   else
       $SUBIT "$JBOSS_CMD_STOP"
   fi 
   ;;

restart)

   $0 stop
   $0 start
   ;;
  • )
   echo "usage: $0 (start|stop|restart|help)"

esac

</source>

Sistemas Linux Centos 5.x, 6.x

  • Añadir el jboss como servicio, a través del:
chkconfig --add jboss 
  • Para Iniciar el jboss debe estar logueado como root:
 service jboss start (en caso que aún no haya iniciado) 
  • Para probar y levantar la aplicación abrir un navegador e ingresar la siguiente línea:
http://10.8.0.5:8080

Como saber si el servicio Jboss está en la lista de servicios a iniciar con el sistema

El runlevel en que arranca el servidor debe ser el mismo que del servicio jboss. Para averiguar en qué runlevel se encuentra la máquina

Éste ejemplo podría ser el resultado

 [root@localhost default]# runlevel
 N5

Este comando arrojará el número del nivel(para éste caso N5), el cuál deberá coincidir con el resultado del runlevel del servicio jboss cuyo estado si está levantado será activo como se muestra en la salida de abajo.

Para verificar el estado del servicio jboss en el runlevel que corresponde, ejecutar el siguiente comando:

 [root@localhost ~]# chkconfig --list | grep jboss 
jboss           0:desactivado   1:desactivado   2:desactivado   3:activo 4:activo 5:activo  6:desactivado
 

Sistemas Linux Ubuntu 12.04

  • Crear acceso directo al run level del script jboss
 root@ubuntu1204:/etc/init.d# update-rc.d jboss defaults 
  • Crear un archivo ejecutable para setear como variable del sistema a JBOSS_HOME, la ubicación de dicho archivo debe ser /etc/profile.d/JBOSS_HOME.sh, y colocar las siguientes líneas:
  export JBOSS_HOME="/opt/tekoporu/server/jboss-6.0"
  export PATH=$JBOSS_HOME/bin:$PATH 
  • Probar si funciona el script run.sh, loguearse como usuario jboss

Para ello ir a /opt/tekoporu/server/jboss-6.0/bin y ejecutar (Si se va a utilizar la aplicación dentro de una LAN se recomienda setear como 0.0.0.0)

 jboss@ubuntu1204: sh run.sh -c default -b 10.8.0.5 

Una vez iniciado todo proceder a terminar el proceso pulsando Ctrl + C

  • Para Iniciar el jboss debe estar logueado como root
 service jboss start (en caso que aún no haya iniciado) 

Script para inicio del servicio Jboss

  • Para probar y levantar la aplicación abrir un navegador e ingresar la siguiente línea:
http://10.8.0.5:8080
  • Setear el JAVA_HOME como variable del sistema

Para ello se debe crear un archivo ejecutable en /etc/profile.d

 root@ubuntu1204:/etc/profile.d# vim java.sh 

Y colocar la ubicación de java, un ejemplo podría ser:

 JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
 export JAVA_HOME 
  • Verificar que en el directorio bin todos los archivos .sh deben ser ejecutables, si no es asi, entonces ejecutar:
 root@ubuntu1204::/opt/tekoporu/server/jboss-6.0/bin# chmod +x *.sh 
  • Cambiar los permisos del directorio jboss-6.0
 root@ubuntu1204:/opt/tekoporu/server/jboss-6.0# chmod 750 jboss-6.0/ 
  • Para verificar el log
 tail -f /opt/tekoporu/server/jboss-6.0/server/default/log/server.log 

Sistemas Windows

  • Iniciar el servicio del jboss-6.0 en la consola cmd de windows. Para lo cual se debe ingresar hasta el directorio bin del jboss-6.0 y ejecutar la siguiente linea de comando run.bat -c default -b 0.0.0.0

Ejemplo:

C:\opt\jboss­-6.0\bin> run.bat ­-c default ­-b 0.0.0.0
  • Crear el servicio Jboss para ello en la misma ubicación (C:\opt\jboss-6.0\bin>) ejecutar:
service.bat install
service.bat start
  • Para probar y levantar la aplicación abrir un navegador en Windows e ingresar la siguiente linea:
http://10.8.0.5:8080

La IP debe ser la correspondiente donde se ofrecerá el servicio Jboss.

Observaciones importantes en Windows 2000

Copiar la carpeta OpenSCG en el disco C

Modificar el archivo run.conf.bat, agregando la dirección IP asignada por el OpenVPN de manera que levante el JBoss en dicha dirección. La linea quedaria de la siguiente manera:

C:\opt\jboss­-6.0\bin\run.conf.bat>

Ejemplo:

 set "JAVA_OPTS=-Xms128M -Xmx512M -XX:MaxPermSize=256M -Djboss.bind.address=10.8.0.5"

Dicho archivo se encuentra en:

   C:\opt\jboss-6.0\bin

Agregar la variable JAVA_HOME como variable de Administración

Click derecho sobre Equipo => Propiedades => Avanzado => Variables de Entorno => Variables de Sistema y Allí agregar Nueva

Nombre de la Variable: JAVA_HOME
Valor de la variable: C:\OpenSCG\openjdk-6.0.24\ 

Y como variable de entorno del Sistema

Nombre de la Variable: PATH
Valor de la variable: C:\OpenSCG\openjdk-6.0.24\bin


Configuración del host para publicación de Web Services

Para establecer la dirección IP o el host para publicación de los web services, se debe editar el archivo "stack-agnostic-jboss-beans.xml"

     $JBOSS_HOME/server/default/deployers/jbossws.deployer/META-INF/stack-agnostic-jboss-beans.xml

Buscar la propiedad webServiceHost y colocar jbossws.undefined.host. Y también colocar la propiedad modifySOAPAddress en true como se muestra a continuación:

Si 'WebServiceHost' está en 'jbossws.undefined.host', el JBossWS utiliza host requesters al reescribir el <soap:address>

<source lang="xml">

   <property name="webServiceHost">jbossws.undefined.host</property>
   <property name="modifySOAPAddress">true</property>

</source>


Ir al inicio