JEE + JBoss + Tomcat5.5 + Eclipse en Ubuntu 7.10

1) Instalar els paquets sun-java des del repositori d'ubuntu
:~$ sudo -s
Password: *****
:~# cd /
:/# sudo apt-get update
:/# sudo apt-get install sun-java6-bin sun-java6-demo sun-java6-fonts sun-java6-javadb sun-java6-jdk sun-java6-jre sun-java6-jre sun-java6-plugin sun-java6-source
El paquete sun-java6-plugin nomas es necessario para poder cargar los applets en el navegador web.
2) Instalar el Eclipse
:/# apt-get install eclipse eclipse-cdt eclipse-common-nls eclipse-efj eclipse-jdt eclipse-jdt-nls eclipse-nls eclipse-pde eclipse-pde-nls eclipse-platform eclipse-platform-nls eclipse-pydev eclipse-rcp eclipse-rcp-nls eclipse-sdk eclipse-sdk-nls eclipse-source
Todos los paquetes relacionados con gcj, ya que no son necessarios si tienes los de sun-java.
3) Comprovar la version de Java
:/# java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
4) Descargar el JBoss y instalarlo
Debemos ir a la pagina web oficial de JBoss, que es la siguiente http://labs.jboss.com/jbossas/downloads/ y descargar el archivo jboss-4.2.2.GA.zip , lo podemos dejar en el Desktop. Una vez descargado hacer lo siguiente des de consola.
:/# cd Desktop
:~/Desktop# ls
jboss-4.2.2.GA.zip
:~/Desktop# cp jboss-4.2.2.GA.zip /opt/
:~/Desktop# cd opt/
:/opt# ls
jboss-4.2.2.GA.zip
:/opt# unzip jboss-4.2.2.GA.zip
:/opt# ls
jboss-4.2.2.GA.zip jboss-4.2.2.GA
:/opt# rm jboss-4.2.2.GA.zip
:/opt# cd jboss-4.2.2.GA/bin/
:/opt/jboss-4.2.2.GA/bin# ./run.sh
......
Started in 23s:988ms
Con la teclas Crtl + C, para parar el servidor JBoss.
5) Configurar el Jboss para que arranque al iniciar el PC
:/# cd etc/init.d/
:/etc/init.d# gedit jboss4.2.2
Añadimos la siguientes lineas al documento
#! /bin/sh
# /etc/init.d/jboss: Start and stop JBoss AS
ECHO=/bin/echo
TEST=/usr/bin/test
JBOSS_START_SCRIPT=/usr/local/jboss-4.0.3SP1/bin/run.sh
JBOSS_STOP_SCRIPT=/usr/local/jboss-4.0.3SP1/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
En estas dos lineas hay que especificar el lugar exacto dl folder del jboss que se va hacer servir, en mi caso es el siguiente :
JBOSS_START_SCRIPT=/opt/jboss-4.2.2.GA/bin/run.sh
JBOSS_STOP_SCRIPT=/opt/jboss-4.2.2.GA/bin/shutdown.sh
Salvamos el documento.Y hacemos que sea ejecutable.
:/etc/init.d# chmod 755 jboss4.2.2
:/etc/init.d# chmod +x jboss4.2.2
Actualizar los run levels
:/etc/init.d# update-rc.d jboss4.2.2 defaults
Adding system startup for /etc/init.d/jboss ...
/etc/rc0.d/K20jboss -> ../init.d/jboss
/etc/rc1.d/K20jboss -> ../init.d/jboss
/etc/rc6.d/K20jboss -> ../init.d/jboss
/etc/rc2.d/S20jboss -> ../init.d/jboss
/etc/rc3.d/S20jboss -> ../init.d/jboss
/etc/rc4.d/S20jboss -> ../init.d/jboss
/etc/rc5.d/S20jboss -> ../init.d/jboss
6) Descargar y instalar el jdk-1_5_0_15-linux-i586.bin
Debemos ir a la pagina web oficial de Java-Sun que es la siguiente http://java.sun.com/javase/downloads/index_jdk5.jsp y descargar el archivo jdk-1_5_0_15-linux-i586.bin , pressionando al boton de descargar JDK 5.0 Update 15, lo podemos dejar en el Desktop. Una vez descargado hacer lo siguiente des de consola.
:/# cd Desktop
:~/Desktop# ls
jdk-1_5_0_15-linux-i586.bin
:~/Desktop# cp jdk-1_5_0_15-linux-i586.bin /tmp/
:~/Desktop# cd tmp/
:/tmp# ls
jdk-1_5_0_15-linux-i586.bin
:/tmp# chmod +x jdk-1_5_0_15-linux-i586.bin
:/tmp# ./jdk-1_5_0_15-linux-i586.bin
Al mostrar la licencia solo tendremos que aceptar algunos términos de uso del jdk. Se crea toda un estructura de nombre jdk1.5.0_15 la cual podemos moverla donde queremos que este.
:/tmp# mv jdk1.5.0_15/ /usr/local/jdk1.5
7) Configuración de variables de entorno
Esta opción es opcional.
:/tmp# cd /etc/
:/etc# gedit profile
Añadir al final del fitxero las siguientes lineas
export JAVA_HOME=/usr/local/jdk1.5
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$PATH:${JAVA_HOME}/bin
8) Descargar y instalar Tomcat 5.5
:/# apt-get update
:/# apt-get install tomcat5.5 tomcat5.5-admin tomcat5.5-webapps
9) Configurar Tomcat5.5 en Ubuntu
9.1) Establecer el JAVA_HOME por defecto para Tomcat5.5
:/# cd etc/default/
:/etc/default# gedit tomcat5.5
Descomentar la línea donde se encuentra definida la variable JAVA_HOME y establecer la ruta donde se encuentra el JDK que tengas instalado.
#JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.00
9.2) Arreglar el fichero catalina.out
:/etc/default# cd /var/log/tomcat5.5/
:/var/log/tomcat5.5# rm catalina.out
:/var/log/tomcat5.5# touch catalina.out
:/var/log/tomcat5.5# chown tomcat55:nogroup catalina.out
:/var/log/tomcat5.5# chmod uo-wrx catalina.out
9.3) Arrancar el servidor Tomcat
:/var/log/tomcat5.5# cd /
:/# cd etc/init.d#
:/etc/init.d# ./tomcat5.5 start
:/etc/init.d# ./tomcat5.5 stop
:/etc/initi.d# ./tomcat5.5 restart
Ahora el servidor deberia de funcionar con http://localhost:8180/ o http://127.0.0.1:8180/
Para cambiar el puerto por defecto debemos de modificar el fichero server.xml y reiniciar Tomcat, dicho fichero se encuentra en el folder /usr/share/tomcat5.5/conf/ también el mismo folder encontramos el archivo tomcat-users.xml, con este fichero podemos administrar los usuarios, haciendo un gedit server.xml tomcat-users.xml, podem ver la configuración y los parametros, en el archivo tomcat-users.xml añadimos lo siguiente
<user username="admin" password="admin" roles="admin,manager"/>
en el archivo server.xml buscamos la siguiente linea
<!-- Define a non-SSL HTTP/1.1 Connector on port 8180 -->
<connector port="8180" ... </connector>
salvamos y reiniciamos el Tomcat.
10) Para arrancar Tomcat des de una herramienta de desarollo como Eclipse
:/# cd /var/cache/
:/var/cache# chmod go+rwx tomcat5.5
11) File de arranque del servidor Tomcat5.5 en el folder /etc/init.d/
#!/bin/sh
#
# /etc/init.d/tomcat5.5 -- startup script for the Tomcat 5 servlet engine
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian GNU/Linux by Ian Murdock <imurdock@gnu.ai.mit.edu>.
# Modified for Tomcat by Stefan Gybas <sgybas@debian.org>.
#
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Should-Start: $named
# Should-Stop: $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Tomcat.
# Description: Start the Tomcat servlet engine.
### END INIT INFOset -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME=tomcat5.5
DESC="Tomcat servlet engine"
DAEMON=/usr/bin/jsvc
CATALINA_HOME=/usr/share/$NAME
DEFAULT=/etc/default/$NAME. /lib/lsb/init-functions
. /etc/default/rcS# The following variables can be overwritten in $DEFAULT
# Run Tomcat 5 as this user ID
TOMCAT5_USER=tomcat55# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not
# defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-6-sun /usr/lib/jvm/java-1.5.0-sun /usr/lib/j2sdk1.5-sun /usr/lib/j2sdk1.5-ibm /usr/lib/j2sdk1.4-sun /usr/lib/j2sdk1.4-blackdown /usr/lib/j2se/1.4 /usr/lib/j2sdk1.4-ibm /usr/lib/j2sdk1.3-sun /usr/lib/j2sdk1.3-blackdown /usr/lib/jvm/java-gcj /usr/lib/kaffe"# Look for the right JVM to use
for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
JAVA_HOME_TMP="$jdir"
# checks for a real JDK like environment, needed to check if
# really the java-gcj-compat-dev package is installed
if [ -r "$jdir/bin/jdb" ]; then
JAVA_HOME="$JAVA_HOME_TMP"
fi
fi
done
export JAVA_HOME# Directory for per-instance configuration files and webapps
CATALINA_BASE=/var/lib/$NAME# Use the Java security manager? (yes/no)
TOMCAT5_SECURITY=yes# Timeout in seconds for the shutdown of all webapps
TOMCAT5_SHUTDOWN=30# End of variables that can be overwritten in $DEFAULT
# overwrite settings from default file
if [ -f "$DEFAULT" ]; then
. "$DEFAULT"
fitest -f $DAEMON || exit 0
[ -z "$TOMCAT5_USER" ] && TOMCAT5_USER=tomcat55
# Check if we use gij
gij=no
"$JAVA_HOME/bin/java" -version 2>&1 | grep -q "^gij (GNU libgcj)" && gij=yes# gij doesn't support a security manager yet (see bug #399595)
if [ "$gij" = "yes" ]; then
echo -e "The java-gcj-compat-dev environment currently doesn't\nsupport a security manager. See README.Debian." | logger -p daemon.warning -t $NAME
fi# Set java.awt.headless=true if JAVA_OPTS is not set so the
# Xalan XSL transformer can work without X11 display on JDK 1.4+
# It also looks like the default heap size of 64M is not enough for most cases
# se the maximum heap size is set to 128M
if [ -z "$JAVA_OPTS" ]; then
JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
fiJAVA_OPTS="$JAVA_OPTS -Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed -Dcatalina.base=$CATALINA_BASE -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$CATALINA_BASE/temp"
# Set the JSP compiler if set in the tomcat5.5.default file
if [ -n "$JSP_COMPILER" ]; then
JAVA_OPTS="$JAVA_OPTS -Dbuild.compiler=$JSP_COMPILER"
fiif [ "$TOMCAT5_SECURITY" = "yes" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.security.manager -Djava.security.policy=$CATALINA_BASE/conf/catalina.policy"
fi# juli LogManager disabled if running under gij (see bug #395167)
if [ "$gij" != "yes" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
fi# Define other required variables
CATALINA_PID="/var/run/$NAME.pid"
BOOTSTRAP_CLASS=org.apache.catalina.startup.Bootstrap
JSVC_CLASSPATH="/usr/share/java/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar"# Look for Java Secure Sockets Extension (JSSE) JARs
if [ -z "${JSSE_HOME}" -a -r "${JAVA_HOME}/jre/lib/jsse.jar" ]; then
JSSE_HOME="${JAVA_HOME}/jre/"
fi
export JSSE_HOMEcase "$1" in
start)
if [ -z "$JAVA_HOME" ]; then
log_failure_msg "no JDK found - please set JAVA_HOME"
exit 1
fiif [ ! -d "$CATALINA_BASE/conf" ]; then
log_failure_msg "invalid CATALINA_BASE specified"
exit 1
filog_daemon_msg "Starting $DESC" "$NAME"
if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user $TOMCAT5_USER --startas "$JAVA_HOME/bin/java" \
>/dev/null; then# Create catalina.policy (for the security manager)
rm -f "$CATALINA_BASE/conf/catalina.policy"
umask 022
echo "// AUTO-GENERATED FILE -- DO NOT EDIT!" \
> "$CATALINA_BASE/conf/catalina.policy"
echo "// Edit the files in /etc/tomcat5.5/policy.d/ instead" \
>> "$CATALINA_BASE/conf/catalina.policy"
echo "" >> "$CATALINA_BASE/conf/catalina.policy"
cat /etc/tomcat5.5/policy.d/*.policy \
>> "$CATALINA_BASE/conf/catalina.policy"# Clean up and set permissions on required files
find "$CATALINA_BASE"/temp/ -mindepth 1 -exec rm -f {} +
chown --dereference "$TOMCAT5_USER" "$CATALINA_BASE/conf" \
"$CATALINA_BASE/conf/tomcat-users.xml" \
"$CATALINA_BASE/logs" "$CATALINA_BASE/temp" \
"$CATALINA_BASE/webapps" "$CATALINA_BASE/work" \
|| true$DAEMON -user "$TOMCAT5_USER" -cp "$JSVC_CLASSPATH" \
-outfile SYSLOG -errfile SYSLOG \
-pidfile "$CATALINA_PID" $JAVA_OPTS "$BOOTSTRAP_CLASS"
else
log_progress_msg "(already running)"
fi
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user "$TOMCAT5_USER" --startas "$JAVA_HOME/bin/java" \
>/dev/null; then
log_progress_msg "(not running)"
else
$DAEMON -cp "$JSVC_CLASSPATH" -pidfile "$CATALINA_PID" \
-stop "$BOOTSTRAP_CLASS"
fi
log_end_msg 0
;;
status)
if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user $TOMCAT5_USER --startas "$JAVA_HOME/bin/java" \
>/dev/null; thenif [ -f "$CATALINA_PID" ]; then
log_success_msg "$DESC is not running, but pid file exists."
else
log_success_msg "$DESC is not running."
fi
else
log_success_msg "$DESC is running with pid `cat $CATALINA_PID`"
fi
;;
restart|force-reload)
if start-stop-daemon --test --stop --pidfile "$CATALINA_PID" \
--user $TOMCAT5_USER --startas "$JAVA_HOME/bin/java" \
>/dev/null; then
$0 stop
sleep 1
fi
$0 start
;;
try-restart)
if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
--user $TOMCAT5_USER --startas "$JAVA_HOME/bin/java" \
>/dev/null; then
$0 start
fi
;;
*)
log_success_msg "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
exit 1
;;
esacexit 0
12) Reiniciar todo el ordenador
Para que guarde los canvios hechos, el servidor JBoss y el Tomcat se encienden automaticamente ya que asi lo hemos indicado en el folder init.d
Una vez reiniciado el PC, ir al navegador web y comprovar que se encienden automaticamente, escribimos lo siguiente :
JBoss --> http://localhost:8080/ Tomcat --> http://localhost:8180/
13) Annexo
---- JBOSS ----
http://www.erflako.netfirms.com/jboss.html
http://minibota.wordpress.com/2008/02/04/jboss-en-ubuntu/
http://www.guia-ubuntu.org/index.php?title=JBoss
---- TOMCAT ----
http://www.alfonsojimenez.com/2007/05/23-tomcat-55-en-feisty-fawn
http://www.mygnet.net/articulos/tomcat/66/
http://kappa-8.com/blog/2007/05/01/how-to-instalar-tomcat-en-ubuntu/
- Inicie sesión o regístrese para enviar comentarios

Hilo movido
Por favor usad el foro de tutoriales que está para esto. las bitácoras no son el lugar apropiado para publicar howtos.
Te lo muevo.
Equipo de Ubuntu-es
Las tres cosas más peligrosas del mundo son: un programador con un soldador, un ingeniero de hardware con un parche de software y un usuario con una idea