Instalar GlassFish v2.1 en Ubuntu Server 9.10

Vie, Nov 13, 2009

Técnico

Instalar GlassFish v2.1 en Ubuntu Server 9.10

Vamos a mostrar los pasos en la instalación del Servidor de Aplicaciones Java EE GlassFish v2.1 en Ubuntu Server 9.10.

  • Primero, instalamos Java 6 de Sun como administradores:
    sudo apt-get install sun-java6-jdk
  • Descargar la versión 2.1 de GlassFish para Ubuntu (Linux):
    wget http://download.java.net/javaee5/v2.1_branch/promoted/Linux/glassfish-installer-v2.1-b60e-linux.jar
    Tarda un poco (59 Mb)
  • Realizamos la instalación:
    sudo java -Xmx256M -jar glassfish-installer-v2.1-b60e-linux.jar
  • Eliminamos el instalador y movemos la instalación a un lugar más adecuado como por ejemplo /opt:
    rm glassfish-installer-v2.1-b60e-linux.jar
    sudo mv glassfish /opt
  • Creamos un usuario glassfish para ejecutar el servidor de aplicaciones:
    sudo adduser –home /opt/glassfish glassfish
  • Cambiar los permisos del directorio para acceder sin ser superusuario:
    sudo chown -R glassfish /opt/glassfish
    sudo chgrp -R glassfish /opt/glassfish
  • Dar permiso de ejecución a los scripts de Ant:
    cd /opt/glassfish/
    sudo chmod -R +x lib/ant/bin/
  • Ejecutar la configuración:
    sudo -u glassfish lib/ant/bin/ant -f setup.xml
  • Iniciar un dominio:
    sudo -u glassfish bin/asadmin start-domain domain1
  • Probar en un navegador si carga la página de administración de GlassFish:
    http://servidor:4848
  • Entrar mediante los valores por defecto; usuario admin y clave adminadmin

Ahora veamos los pasos para que se inicie GlassFish (dominio domain1) al arrancar la máquina servidor:

  • Crear el fichero /etc/init.d/glassfish como administrador de esta forma:

    #! /bin/sh
    
    GLASSFISHPATH=/opt/glassfish/bin
    
    case "$1" in
        start)
           echo "starting glassfish from $GLASSFISHPATH"
           sudo -u glassfish $GLASSFISHPATH/asadmin start-domain domain1
        ;;
        restart)
            $0 stop
    	$0 start
        ;;
        stop)
            echo "stopping glassfish from $GLASSFISHPATH"
            sudo -u glassfish $GLASSFISHPATH/asadmin stop-domain domain1
        ;;
        *)
            echo "usage: $0 {start|stop|restart}"
    	exit 3
        ;;
    esac
    

  • Darle permiso de ejecución al script:
    sudo chmod a+x /etc/init.d/glassfish
  • Probar el script:
    sudo /etc/init.d/glassfish restart
  • Crear los scripts para el inicio automático:
    sudo update-rc.d glassfish defaults 90 10
  • Reiniciar la máquina para comprobar que el servidor de aplicaciones se inicia al arrancar el servidor

Sacado de http://tuxtraining.com/2008/11/14/installing-glassfish-2-on-ubuntu-710, aunque probado y actualizado para Ubuntu Server 9.10.

, , ,

21 Comentarios para “Instalar GlassFish v2.1 en Ubuntu Server 9.10”

  1. Cristian Says:

    Excelente Post, me funciono 100%

  2. Beto Says:

    Cuando quiere ejecutar sudo /etc/init.d/glassfish restart

    dice ke permiso denegado, se le tienen que cambiar los permisos

    chmod 777 /etc/init.d/glassfish

    y listo funciona. jejeje

  3. Joaquin L. Robles Says:

    Si llega a saltar que no esta definido JAVA.HOME es porque:
    1. o bien la variable de entorno no esta definida (setearla con export)
    2. o nuestra JDK por default no es la Sun Java 6, para cambiarla (yo tenia por default OopenJDK) usamos sudo update-alternatives –config java

    saludos

  4. Gerardo Rueda Says:

    Joaquin Robles :

    Yo tengo problemas con JAVA.HOME tu das la solución de setearla con export, a que directorio tengo que setearla? por favor te agradecería mucho la respuesta.-

    Saludos.-

  5. Joaquin L. Robles Says:

    Gerardo:
    Por defecto el directorio de la jdk es: /usr/lib/java/jvm/java-6-sun

    saludos

  6. JuanK Says:

    Hola.
    Me he guiado con tu guia , pero al llegar a esta seccion

    Ejecutar la configuracion
    sudo -u glassfish lib/ant/bin/ant -f setup.xml

    se generan unos errores y sale

    BUILD FAILED
    /etc/glassfish/setup.xml:161:The followin error occurred while executing this line
    /etc/glassfish/setup.xml:141:The followin error occurred while executing this line
    /etc/glassfish/setup.xml:137: Please set java.home to a JDK installation

    como te digo, he seguido al pie de la letra la guia y pense q podia ser el directorio /opt/ asi q despues lo movi a /etc/ y lo intente desde ejecutar desde ahi
    espero q me puedas ayudar. estoy trabajando con linux ubuntu server 9.04, tengo instalado postgres 8.3

    para el java_home lo setie pero sigo teniendo problemas..

    espero tu ayuda..gracias

  7. admin Says:

    Hola,

    Por el error que te da, parece que tienes un problema con la variable JAVA_HOME. Debes asegurarte que apunta a la JDK de Sun como comenta Joaquin Robles. Utiliza el comando sudo update-alternatives –config java para seleccionarla.

    Espero poder ayudarte.
    Saludos.

  8. JuanK Says:

    ok…

    Sip, el problema q tengo es con JAVA_HOME los habia setiado,
    ahora intentare con la opcion de este comando…
    cualquier novedad la comento

    gracias

  9. JuanK Says:

    utilice el comando sudo update-alternatives –config java y por fin pudo comenzar la instalacion, pero ahora(cuando pensé que por fin sería correcto) me dio este mensaje al final de fallo.

    create.domain:
    [exec] Port 8080 is in use.

    BUILD FAILED
    /opt/glassfish/setup.xml:177:The followin error occurred while executing this line
    /opt/glassfish/setup.xml:607:exec returned: 1

    alguna idea para solucionar esto?

    gracias

  10. admin Says:

    Hola,

    Parece que tienes ocupado el puerto 8080, quizás por Apache, Tomcat o cualquier otro servidor web.

    Si vas a instalar Glassfish, deberías detener estos servidores antes.

    Saludos.

  11. JuanK Says:

    ok….gracias..ahora si esta listo

    BUILD SUCCESSFUL

    ahora seguire configurando

    se agradece el tiempo

  12. Juank Says:

    ahora me manda error 500 cuando intento http://servidor:4848

    exception
    java.servlet.ServletException

    root cause
    java.lang.NullPointerException

    a q se debe esto? q se puede modificar?

    gracias

  13. admin Says:

    servidor es la IP del servidor GlassFish.
    Si lo tienes instalado en local sería http://localhost:4848

    Si aún asi te da error, intenta reiniciar Glassfish con:
    sudo /etc/init.d/glassfish restart

    Si aún así sigue dándote error, deberías reinstalar todo comenzando de nuevo por el principio.

  14. Juank Says:

    holas..sigo con el mismo problema, pero no se que será ya que he eliminado y reinstalado de maneras distintas glassfish que después de algunos problemas(solo por ignorancia) pude solucionar. Ahora no se que es mas importante, ya que al ingresar con mi ip al puerto 8080 ingreso de inmediato a una pagina de Sun Java System que me dice ” Your Aplication Server is now Running ” y me da una explicacion de como cambiar la pagina modificando el archivo index.html, hasta aki todo bien, pero al ingresar con mi ip al puerto 4848 sale en la pantalla el error antes comentado sin cargar la pagina de administración de glassfish.

    tomcat lo cambie de puerto, apache no lo tengo instalado, postgres instalado y solo me falta glassfish para dejar todo ok.

    así q sigo buscando info pero no encuentro nada ni a nadie con este mismo error en glassfish.

    gracias

  15. admin Says:

    Es raro lo que te pasa.

    Te recomiendo desinstalar completamente GlassFish y reinstalarlo con el usuario root en vez de con el usuario glassfish.

  16. Joaquin L. Robles Says:

    probablemente existe alguna aplicación que está utilizando el puerto 4848… debería existir alguna opcion de config del glassfish para indicarle que use otro puerto para el admin…

  17. Juank Says:

    lo del puerto lo verifique antes de instalar glassfish utilizando nmap y el 4848 no figura utilizado, ahora formatie el pc e instale desde cero el servidor y no instale nada mas aparte de postgres y luego el jdk6 luego procedi a instalar glassfish, pero volvio a salir el mismo error

  18. Juank Says:

    sera necesario instalar algun entorno grafico ?
    al utilizar el puerto 8080 se puede acceder a las aplicaciones deseadas, por ejemplo mi aplicacion q deseo instalar ? aun sin poder acceder a la pagina de administracion en el puerto 4848?

  19. Juank Says:

    todo listo….gracias por tu ayuda…ahora si tengo todo listo

    una consulta

    sabes como configurar mi aplicacion web alojada en el servidor para q se habra directo de un dominio, todo esto en la red local?

  20. Juank Says:

    sabes como hacer para poder hacer que mi aplicacion pueda ser ingresada desde la localhost a traves del index

  21. admin Says:

    Hola,

    No entiendo muy bien tu pregunta.
    De todos modos, te recomiendo el tutorial de Java EE 6.

    http://java.sun.com/javaee/6/docs/tutorial/doc/

    Saludos.


Deje un comentario