02.04.08

JBoss en Ubuntu

Publicado en Java, Linux tagged , , , , a 12:16 am por minibota

jboss

JBoss es un servidor de aplicaciones J2EE bastante popular en el mundo de Java. Es el primer servidor de aplicaciones de código abierto que obtuvo el certificado J2EE 1.4, talvez de ahi sea su gran popularidad.

Ahora les dejo los sencillos pasos que debemos realizar para tener JBoss corriendo en nuestra cajita ubuntera [y empezar a desarrollar aplicaciones J2EE].

  • Primero que todo es necesario tener instalado Java en nuestra computadora.
  • Descargar JBoss. A la fecha, recomendaria descargar la version 4.2.2.GA con lo que obtendremos un zip llamado jboss-4.2.2.GA.zip.
  • Descomprimir el zip y renombrar la carpeta jboss-4.2.2.GA con el nuevo nombre jboss
  • Mover esta carpeta:

sudo mv jboss /opt/

  • … por lo que ahora deberiamos tener una carpeta /opt/jboss/
  • Crear el archivo/etc/init.d/jboss con el cual levantaremos o detendremos el servidor.

sudo vim /etc/init.d/jboss

  • … y pegar el siguiente contenido:
#! /bin/sh

#  /etc/init.d/jboss: Start and stop JBoss AS

ECHO=/bin/echo

TEST=/usr/bin/test

JBOSS_START_SCRIPT=/opt/jboss/bin/run.sh

JBOSS_STOP_SCRIPT=/opt/jboss/bin/shutdown.sh

$TEST -x $JBOSS_START_SCRIPT || exit 0

$TEST -x $JBOSS_STOP_SCRIPT || exit 0

start() {

      $ECHO -n "Starting JBoss"

      su - jboss -c "$JBOSS_START_SCRIPT > /dev/null 2> /dev/null &"

      $ECHO "."

}

stop() {

      $ECHO -n "Stopping JBoss"

      su - jboss -c "$JBOSS_STOP_SCRIPT -S > /dev/null &"

      $ECHO "."

}

case "$1" in

      start)

            start

            ;;

      stop)

            stop

            ;;

      restart)

            stop

            sleep 30

            start

            ;;

      *)

            $ECHO "Usage: jboss {start|stop|restart}"

            exit 1

esac

exit 0
  • Permitir que este nuevo archivo sea ejecutable:

sudo chmod 755 /etc/init.d/jboss

  • Crear un usuario llamado jboss:

sudo adduser jboss

  • Actualizar los run levels:

sudo update-rc.d jboss defaults

Ya con esto deberiamos ser capaces de levantar nuestro JBoss por primera vez sin ningun problema:

sudo /etc/init.d/jboss start

Tardará cuestión de 1 o 2 minutos en levantar. Podemos hacer un escaneo de puertos sobre nuestra máquina con nmap para asegurarnos que JBoss está escuchando. Ademas, JBoss iniciará automaticamente cuando iniciemos nuestro sistema operativo.

Espero que sea de utilidad para alguien y espero sus comentarios, dudas, preguntas, criticas…

14 comentarios »

  1. programador escribió,

    al ejecutar el siguiente comando

    # sudo /etc/init.d/jboss start

    entrega lo siguiente …….

    /etc/init.d/jboss: 36: restart}”: not found
    su: opción inválida — S
    Modo de uso: su [opciones] [USUARIO]
    Opciones:
    -c, –command COMANDO pasa el COMANDO al intérprete invocado
    -h, –help muestra este mensaje de ayuda y termina
    -, -l, –login hace que el intérprete sea un intérprete de ingreso
    -m, -p,
    –preserve-environment no restablece las variables de entorno a su
    valor original, y conserva el mismo intérprete
    -s, –shell INTÉRPRETE usa INTÉRPRETE en vez del predeterminado en passwd
    /etc/init.d/jboss: 36: ”: not found

    la linea 36 apunta a la ejecución
    esac

    espero las sugerencias posible para poder levantar correctamente el servicio,

    pregunta : para que se crea un usuario jboss ?
    atte Desarrollador en Java

  2. minibota escribió,

    El usuario jboss es opcional… usted puede utilizar el usuario que le parezca mas conveniente, sin embargo debera modificar un poco el script /etc/init.d/jboss, pues en la seccion de “start()” hace un llamado:

    su – jboss -c “$JBOSS_START_SCRIPT > /dev/null 2> /dev/null &”

    donde indica que se ejecute el comando como el usuario jboss; tambien sucede asi en la seccion de “stop()”.

    Puede modificarlo por cualquier otro usuario:

    su – miusuariopreferido -c “$JBOSS_START_SCRIPT > /dev/null 2> /dev/null &”

    Sobre el error que le aparece:

    /etc/init.d/jboss: 36: restart}”: not found <<< veo una llave “}” ???, deberia ser un parentesis, revise el script /etc/init.d/jboss y verifique que diga “restart)”, si es asi, verifique las lineas que comentaba anteriormente en las funciones de “start” y “stop”.

    Que distro usa? Puede escribirme a minibota@gmail.com cuando guste.

  3. erik escribió,

    Al ejecutar el # sudo /etc/init.d/jboss start
    sale siguiente error, segui todo lo indicado
    linea 11: -x not found

  4. tomas escribió,

    erik
    hay una linea donde dice $test esa tiene que ir en el siguiente reglon, ahora a mi tb me tira un error que dice:
    sudo /etc/init.d/jboss start
    /etc/init.d/jboss: 66: restart}”: not found
    su: opción inválida — S
    /etc/init.d/jboss: 66: ”: not found
    Modo de uso: su [opciones] [USUARIO]

    Opciones:
    -c, –command COMANDO pasa el COMANDO al intérprete invocado
    -h, –help muestra este mensaje de ayuda y termina
    -, -l, –login hace que el intérprete sea un intérprete de ingreso
    -m, -p,
    –preserve-environment no restablece las variables de entorno a su
    valor original, y conserva el mismo intérprete
    -s, –shell INTÉRPRETE usa INTÉRPRETE en vez del predeterminado en passwd

    solicito ayuda
    gracias

  5. minibota escribió,

    He puesto un archivo disponible al inicio de este post, es un link que dice “jboss”. Este es mi archivo de configuracion del jboss. No es un archivo de office aunque tenga la extension .doc, lo que pasa es que el wordpress no me dejaba subirlo sin extension asi que solo queda quitarle la extension y sustituirlo por que /etc/init.d/jboss que ustedes tienen.

    Tal parece que al seleccionar el texto de ese script en el blog y darle copiar y pegar luego, algunos caracteres se cambian, lo que hace un poco ilegible el archivo para el interprete bash.

    Por favor intentenlo y me cuentan si esto soluciono el problema que traian. Creo que es importante para todos.

    Saludos

  6. Tomas escribió,

    Gracias
    Todo funcionando correctamente, para hacerlo funcionar en otras direcciones ip hay que utilizar el comando ./run.sh -b 0.0.0.0 donde 0.0.0.0 corresponde a la ip por ejemplo de la red
    saludos
    Tom

  7. Alejandro escribió,

    el momento de ejecutar el archivo jboss, se me presenta el siguiente mensaje

    “/bin/sh^M: intérprete incorrecto: No existe el fichero ó directorio”, y por eso no puedo hacer que mi servidor jboss se ejecute desde que se prende mi máquina.

    alguna idea que me pueda ayudar…..

  8. minibota escribió,

    Alejandro,

    Tu archivo de configuración seguramente contiene el caracter “^M” al final de cada linea. Elimina este caracter y vuelve a intentarlo. Te recomiendo que lo edites con el Vim.

    Saludos.

  9. franz escribió,

    Hola he seguido las instrucciones tal y como explicas y todo me ha salido perfectamente sin ningun error, cuando escribo sudo /etc/init.d/jboss start no me dice nada si esta bien o mal dices q tarda uno o 2 minutos en levantar pero no me aparece nada inclusive ya reinicie el sistema y nada. Quiero saber como empiezo a trabajar con el jboss ?? ya que quiero hacer unas pruebas de workflows

  10. minibota escribió,

    Franz,
    Posiblemente ya esté arriba el servicio JBoss. ¿Qué pasa si visitas http://localhost:8080 ?

    Saludos.

  11. franz escribió,

    Me manda este error Firefox can’t establish a connection to the server at localhost:8080. ¿¿Sera necesario tener instalado el tomcat?? es que he leido otros manuales de la instalacion de jboss y dan a entender que trabaja con apache-tomcat.

    Tambien he intentado instalar el plugin de jboss IDE en Eclipse pero al momento de crear un proyecto me pide la localizacion del JBPM Runtime tu sabes algo de esto??

    gracias por tu ayuda

  12. Daniel escribió,

    Hola, felicitarte por tu blog me ha servido de mucha ayuda.
    Solo queria plantearte la posibilidad de poder arrancar el script de inicio con una IP, que no sea la de http://Localhost:8080.
    Osea, para que nos entendamos bien, cuando se arranca la maquina desde el estado shutdown y te carga en el inicio la configuracion en:
    # /etc/init.d/jboss/bin/run.sh
    Arranca de forma automatica pero en Localhost y me gustaria saber si ahi alguna opcion que arranque desde el inicio con la propia IP de la maquina.
    Gracias

  13. minibota escribió,

    Daniel,

    Gracias por tu comentario; el saber que el artículo ha sido de utilidad para algunas personas es una gran noticia para mí.

    El script levanta JBoss en tu máquina local (localhost), sin embargo, es posible que accedas al servicio desde una máquina diferente, sustituyendo “locahost” por el IP que tenga actualmente el servidor donde corres JBoss. Por ejemplo, si este servidor tiene el IP 192.168.0.1, puedes acceder desde otra computadora mediante la dirección http://192.168.0.1:8080. Esto, siempre y cuando no tengas un firewall bloqueando las peticiones al puerto 8080.

    Si hay un nombre de dominio apuntando hacia ese servidor, también puedes acceder de esa forma, ejemplo: http://daniel.net:8080

    Saludos.


Dejar un comentario