Este documento describe los pasos para instalar el servidor de aplicaciones Glassfish y la aplicación Roller sobre él. Explica cómo instalar Glassfish en Debian, configurar la base de datos MySQL, desplegar aplicaciones, e instalar y configurar Roller para funcionar correctamente sobre Glassfish resolviendo errores. Concluye que Glassfish es más estable que Tomcat y proporciona referencias bibliográficas.
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
Instalación de Roller sobre Glassfish3
1. INSTALACIÓN DE ROLLER
SOBRE GLASSFISH3
AUTOR
Juan Luis Dorante Lucas
FECHA
22/12/2011
2. INDICE
1.Introducción 1
2.Definición de la infraestructura 1
3.Instalación del servidor de aplicaciones 1-3
4.Despliegue de aplicaciones 4
5.Instalación de Roller sobre Glassfish 4-7
6.Conclusiones 8
7.Bibliografía, páginas webs de referencia 8
1.Introducción
En este tutorial vamos a redactar los pasos necesarios para la instalación del servidor de
aplicaciones Glassfish3, la última versión disponible a día de hoy, y una vez que tengamos
Glassfish funcionando correctamente, pasaremos a la explicación detallada de la instalación de
Roller sobre dicho servidor de aplicaciones.
2.Definición de la infraestructura (sistema operativo, versión del servidor de
aplicación,...)
Para la realización de la práctica, vamos a utilizar una máquina Debian Squeeze limpia,
recién instalada de los repositorios correspondientes. Esta máquina será nuestro servidor, en la cuál,
vamos a instalar el servidor de aplicaciones Glassfish.
3.Instalación del servidor de aplicaciones
Para instalar Glassfish3 he seguido los pasos del tutorial del compañero Ferrete, para
empezar:
3.1.Añado los repositorios non-free para bajarme el paquete java, ya que no viene en los
repositorios oficiales de Debian.
root@juanxote:~# nano /etc/apt/sources.list
deb http://ftp.es.debian.org/debian/ squeeze main nonfree
3.2.Una vez realizado los cambios, para que se guarden dichos cambios, actualizamos los
repositorios:
root@juanxote:~# aptitude update
3.3.Una vez actualizado, ya podemos instalar el jdk de java:
root@juanxote:~# aptitude install sunjava6jdk
1
3. 3.4.Para instalar glassfish3, vamos a utilizar el script de la página oficial:
root@juanxote:~# wget http://download.java.net/glassfish/3.0.1/
release/glassfish3.0.1-unixml.sh
3.5.Creo un fichero auxiliar “borrame.txt”, con los parámetros que le pasaremos al script,
cuya información es la siguiente:
root@juanxote:~# nano /tmp/borrame.txt
RegistrationOptions.regoptions.CREATE_NEWACCT=CREATE_NEWACCT
glassfish.Administration.HTTP_PORT=8080
updatetool.Configuration.PROXY_PORT=
glassfish.Administration.ADMIN_PASSWORD=
JDKSelection.directory.JDK_FROM_LIST_CHOICE=true
RegistrationOptions.regoptions.SKIP_REGISTRATION=SKIP_REGISTRATION
updatetool.Configuration.PROXY_HOST=
SOAccountCreation.accountinfo.COUNTRY=
InstallHome.directory.INSTALL_HOME=/opt/glassfish3
RegistrationOptions.regoptions.USE_EXISTINGACCT=USE_EXISTINGACCT
SOAccountCreation.accountinfo.FIRSTNAME=
updatetool.Configuration.ALLOW_UPDATE_CHECK=true
glassfish.Administration.ADMIN_USER=admin
JDKSelection.directory.JDK_LIST=/usr/lib/jvm/java6sun/
SOAccountCreation.accountinfo.PASSWORD=
SOAccountCreation.accountinfo.COMPANYNAME=
JDKSelection.directory.HIDDEN_JDK=
SOAccountCreation.accountinfo.COUNTRY_DROP_DOWN=
SOAccountCreation.accountinfo.REENTERPASSWORD=
License.license.ACCEPT_LICENSE=0
RegistrationOptions.regoptions.USERNAME=
updatetool.Configuration.BOOTSTRAP_UPDATETOOL=true
SOAccountCreation.accountinfo.LASTNAME=
glassfish.Administration.ADMIN_PORT=4848
RegistrationOptions.regoptions.USERPASSWORD=
JDKSelection.directory.JDK_TYPED_IN_CHOICE=false
SOAccountCreation.accountinfo.EMAIL=
JDKSelection.directory.JDK_TYPE_IN=
RegistrationOptions.regoptions.DUMMY_PROP=
3.6.Movemos el sh de glassfish al directorio /opt, para que al ejecutarlo lo instale en dicho
directorio:
root@juanxote:~# mv glassfish3.0.1unixml.sh /opt/
3.7.Ahora ejecutamos el script con los siguientes parámetros:
root@juanxote:~# sh /opt/glassfish3.0.1unixml.sh a
/tmp/borrame.txt s
2
4. 3.8.Para iniciar un dominio en glassfish debemos escribir la siguiente orden, hay que
destacar que el servicio no se inicia automáticamente al reiniciar la máquina:
root@juanxote:~# /opt/glassfish3/bin/asadmin startdomain
3.9.(OPCIONAL) Si queremos automatizar el arranque, parada y reinicio de glassfish,
podemos crearnos un pequeño y sencillo script en el directorio “/etc/init.d/” como el siguiente:
#!/bin/sh
GLASSFISHPATH=/opt/glassfish3/bin
case "$1" in
start)
echo "starting glassfish from $GLASSFISHPATH"
sudo u glassfish $GLASSFISHPATH/asadmin startdomain
domain1
;;
restart)
$0 stop
$0 start
;;
stop)
echo "stopping glassfish from $GLASSFISHPATH"
sudo u glassfish $GLASSFISHPATH/asadmin stopdomain
domain1
;;
*)
echo $"usage: $0 {start|stop|restart}"
exit 3
;;
esac
3.10.Para comprobar que glassfish funciona correctamente, abro en el navegador
“http:ip_maquina:4848”, en mi caso “http:10.0.0.223:4848”
3
5. 4.Despliegue de aplicaciones
Para desplegar las aplicaciones, solamente nos debemos ir a la web de administración
“http:10.0.0.223:4848”, Aplicaciones-Implementar-
Las aplicaciones se pueden implementar sin dar ningún tipo de errores, y creernos que todo
funciona correctamente, pero tras darle a Iniciar, nos daremos cuenta que falla, el problema que la
página web que nos sale no muestra el fallo concreto, para averiguar los problemas debemos mirar
constantemente el log, y borrar dicho fichero para que no se acumulen muchas lineas de código
entre reinicio y reinicio de la aplicación.
Para ver los logs nos vamos al directorio /opt/glassfish3/glassfish/domains/domain1/logs
5.Instalación de Roller sobre Glassfish
En la instalación de Roller como en la de cualquier aplicación, no ha sido todo trivial, por
ello, he hecho mucho uso del fichero de log, el cuál, es más explicativo, que los errores que nos
podremos encontrar por pantalla, cuyos avisos, en muchas ocasiones nos desvían del problema, en
vez acercarnos a dicho problema.
5.1.Para instalar Roller, nos bajamos el software de la página oficial, para ello:
root@practicas:~# wget http://apache.rediris.es//roller/roller
5/v5.0.0/bin/rollerweblogger5.0.0forjavaee.zip
5.2.Una vez que lo tenemos descargado el siguiente paso es descomprimirlo, para ello
usaremos “unzip”, por defecto no viene instalado en las distribuciones Debian Squeeze, para
instalarlo:
root@practicas:~# aptitude install unzip
5.3.Antes de desplegar Roller, debemos instalar la base de datos(mysql en mi caso), y creo
un usuario y la base de datos (rollerdb), para ello:
root@juanxote:~# aptitude install mysqlserver
root@juanxote:~# mysql u root p
mysql> create database rollerdb character set utf8
collate utf8_general_ci;
mysql> grant all on rollerdb.* to scott@'%' identified
by 'tiger';
mysql> grant all on rollerdb.* to scott@localhost
identified by 'tiger';
5.4.También debemos configurar el conector de la base de datos JDBC, para ello lo primero
que debemos realizar es la descarga de la web oficial:
root@juanxote:~# wget http://dev.mysql.com/get/Downloads/
mysqlconnectorjava5.1.18.zip/from/http://gd.tuwien.ac.at/
db/mysql/
4
6. 5.5.Lo descomprimo y lo copio al directorio /opt/glassfish3/glassfish/domains/domain1/lib/
ext/
root@juanxote:~/mysqlconnectorjava5.1.18# cp mysqlconnector
java5.1.18bin.jar /opt/glassfish3/glassfish/domains/domain1/
lib/ext/
5.6.Me voy a la aplicación web a Recursos-JDBC-Conjuntos_de_conexiones-Nuevo
5.7.Relleno los parámetros DatabaseName, Password, URL, url y User
DatabaseName rollerdb
Password tiger
URL jdbc:mysql://localhost:3306/rollerdb
url jdbc:mysql://localhost:3306/rollerdb
User scott
5.8.Ahora me dirijo a Recursos-JDBC-Recursos_JDBC-Nuevo
El nombre de JNDI tiene que ser el que me pide en el log, así que lo llamo jdbc/rollerdb
5.9.Lo siguiente que debemos hacer es configurar JavaMail, para ello, Sesiones_JavaMail-
Nuevo
5
7. 5.10.Me descargo el zip de Roller de la página oficial, y lo descomprimo:
root@juanxote:~# wget http://apache.rediris.es//roller/roller
5/v5.0.0/bin/rollerweblogger5.0.0forjavaee.zip
root@juanxote:~# unzip rollerweblogger5.0.0forjavaee.zip
5.11.Una vez descomprimido, solamente tenemos que implementar el “.war” de roller, para
ello, Aplicaciones-Implementar-
5.12.Para solucionar el siguiente error, debemos crear el fichero “roller-custom.properties”
en el directorio “/opt/glassfish3/glassfish/domains/domain1/lib/classes”
root@practicas:/opt/glassfish3/glassfish/domains/domain1/lib/class
es# nano rollercustom.properties
installation.type=auto
database.configurationType=jdbc
database.jdbc.driverClass=com.mysql.jdbc.Driver
database.jdbc.connectionURL=jdbc:mysql://localhost:3306/rollerdb
autoReconnect=true&useUnicode=true&characterEncoding=utf
8&mysqlEncoding=utf8
database.jdbc.username=scott
database.jdbc.password=tiger
mail.configurationType=properties
mail.hostname=localhost
mail.username=scott
mail.password=tiger
5.13.Ya podemos decir que tenemos hecho lo más difícil, ya que solo nos queda
implementar el “.war” de Roller de nuevo, ya que anteriormente nos daba errores, en esta ocasión
se nos implementa correctamente, y ya solo queda darle a “Iniciar” y seguidamente seguir los pasos
que nos indica Roller.
6
9. 6.Conclusiones
Glassfish es un servidor de aplicaciones mas elaborado que tomcat, la comparación no
existe, es decir, glassfish es mucho mas completo.
Glassfish personalmente me gusta más que Tomcat, ya que da menos errores y es mas
estable, sin embargo en Tomcat, al toquetearlo mucho, me ha empezado a salir errores, ha habido
ocasiones en las cuáles, con un simple reinicio, me han surgido nuevos problemas que antes no
tenia, por tanto, Glassfish es mucho mas estable.
7.Bibliografía, páginas webs de referencia
Instalación Glassfish3
http://virtuatopedia.blogspot.com/2011/04/introduccion-glassfish-3.html
Instalación Roller en Glassfish3
mtc_guia03._configuracion_jdbc_en_glassfish.pdf
8