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.

Excelente Post, me funciono 100%
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
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
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.-
Gerardo:
Por defecto el directorio de la jdk es: /usr/lib/java/jvm/java-6-sun
saludos
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
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.
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
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
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.
ok….gracias..ahora si esta listo
BUILD SUCCESSFUL
ahora seguire configurando
se agradece el tiempo
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
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.
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
Es raro lo que te pasa.
Te recomiendo desinstalar completamente GlassFish y reinstalarlo con el usuario root en vez de con el usuario glassfish.
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…
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
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?
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?
sabes como hacer para poder hacer que mi aplicacion pueda ser ingresada desde la localhost a traves del index
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.
Hermano muchas gracias, tod la informacion me funciono al 100%, te estoy muy agradecido.
Funciona en UBUNTU 10.04! =)
como se desintala glassfish?
En principio con eliminar como usuario root el directorio donde está instalado bastaría.
Al llegar a este punto :
Ejecutar la configuracion
sudo -u glassfish lib/ant/bin/ant -f setup.xml
me da el mensaje:
sudo: no passwd entry for glassfish!
Parece un error de clave para el usuario glassfish.
Quizá creó el usuario glassfish sin password.
Ok soy novato en esto me podria decir como poner clave al usuario glassfish ya que segui las instrucciones al pie de la letra.
Gracias de antemano
Saludos,
ya probe el script y corrio perfecto, solo que ahora no entiendo como
hacerlo para que se inicie automaticamente cada que se reinicie la maquina, no entiendo este punto:
sudo update-rc.d glassfish defaults 90 10
tengo q crearlo en esta carpeta el mismo escript, perdon pero no se mucho de linux, agradeceria su ayuda
Hola,
Eso es solamente un comando para que el script glassfish se ejecute en el inicio con determinadas prioridades.
Saludos.
si, ya investigue, solo que lo estoy usando en FEDORA 13 y no reconoce este comando, al parecer es con el chkconfig –add [nombre_aplicacion]; lo realizo pero me dice que este script no soporta el chkconfig.
Puedes ayudarme
gracias por el aporte, perfectamente funcional.