Como instalar Tomcat en Ubuntu

Di varias vueltas antes de poder hacerlo. Primero encontré un howto en los foros, pero no me gustaron mucho sus indicaciones. Luego encontré otro que si me gustó mucho más, asi que el 90% del crédito va para ellos.

Antes de empezar: ¿Qué es Tomcat? en palabras simples, es un servidor de páginas web para Java, así podrás implementar un sitio web que utiliza -entre otras- paginas jsp (programadas en Java). Otro punto a aclarar es que estas instrucciones están para Ubuntu 7.10, pero me da la idea que puede funcionar perfectamente con otras distros.

Lo primero es saber si tienes java instalado en tu máquina, puedes usar Synaptic, o bien digitar este comando:

­

­dpkg --get-selections | grep sun-java

el cual te dirá cuales tienes instalados y los cuales -a lo menos- debiesen ser:

sun-java6-bin

sun-java6-jdk

sun-java6-jre

una forma simple de instalarlo es con el comando:

sudo apt-get install sun-java6-jdk

Una vez instalado Java, hay que instalar Tomcat. Para ello haz de ir al sitio oficial y descargalo. Yo utilicé la versión 6, la que pide a lo menos la version 5 de Java. En este punto, si ya investigaste un tanto, te habrás dado cuenta de que Tomcat existe en los repositorios. Sucede que la versión 5.5 de Tomcat que viene en los repositorios, por algún extraño motivo no funciona con el Java instalado (de repositorios). Por este motivo es que se prefiere instalar manualmente Tomcat.

Sigamos, luego de descargarlo hay que descomprimirlo:

tar xvzf apache-tomcat-6.0.14.tar.gz

y luego lo dejamos donde corresponde, yo utilicé /usr/share, pero puede ser en cualquier lugar:

sudo mv apache-tomcat-6.0.14 /usr/share/tomcat6

Luego hay que indicar el JAVA_HOME a tomcat, esto es debido a la "manualidad" de la instalación. Se puede hacer de dos formas, editando tu archivo .bashrc (que está ubicado en tu home) o bien, dandoselo en el archivo .sh del servicio (que aun no creamos).

Yo ocupé las dos :) ya que la primera me funcionaba, pero no me levantaba el servicio automáticamente, tal vez a ti de mejor resultado.

Editando .bashrc:

nano ~/.bashrc

vas al final y agregas:

export JAVA_HOME=/usr/lib/jvm/java-6-sun

hasta aquí ya puedes iniciar Tomcat con el comando (es posible que tengas que reiniciar para que funcione):

sudo /usr/share/tomcat6/bin/startup.sh

Si todo va bien, deberías ver una pagina web en tu navegador en la direccion: localhost:8080.  Si quieres cambiar el puerto, o bien deseas cambiar otro aspecto de Tomcat, sugiero que leas este tutorial.

Ok, entonces todo funciona, pero debes levantar Tomcat una y otra vez despues de cada reinicio y la idea es que se inicie solito. Aqui es cuando creamos el archivo que hará esa tarea:

sudo nano /etc/init.d/tomcat

y dentro peguen esto:

# Tomcat auto-start

#

# description: Auto-starts tomcat

# processname: tomcat

# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 in
start)
sh /usr/share/tomcat6/bin/startup.sh
;;
stop)
sh
/usr/share/tomcat6/bin/shutdown.sh
;;
restart)
sh
/usr/share/tomcat6/bin/shutdown.sh
sh
/usr/share/tomcat6/bin/startup.sh
;;
esac
exit 0

Esto no basta y hay que hacerlo ejecutable, osea, no sólo texto, sino que texto "con sentido" :)

sudo chmod 755 /etc/init.d/tomcat

y finalmente, un truquillo:

sudo update-rc.d tomcat defaults 99

Esto hará que el script del servicio recién creado, se instale en los diferentes niveles que tiene linux.

Si cruzaste los dedos, entonces ya debiese estar todo listo y funcionando.

actualizado: gracias Carlos Miguel.

ACTUALIZACIÓN 2008-06-10: acabo de realizar este tutorial en Ubuntu Hardy instalado desde 0 y debo hacer mención a lo siguiente: la parte de java no hay que tomarla encuenta, ya que funciona de lo más bien por defecto.  Es decir,  donde diga:

export JAVA_HOME=/usr/lib/jvm/java-6-sun

no se debe tomar en cuenta.

ACTUALIZACIÓN 2010-06-04: en Ubuntu 10.04 viene Tomcat6.  pensé que podría obviar toda esta instalación, perro erré.  lo instalé desde los repositorios, se levantó el servicio, pero por más que quice instalar BIRT no hubo caso.  así que volví a estas instrucciones y todo funcionó perfecto.

­

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Si cruzaste los dedos,

Si cruzaste los dedos, entonces ya debiese estar todo listo y funcionando.No entiendo la frase anterior cómo se que está funcionando el tomcat hice todos los pasos y que me debe de resultar

@anónimo (normalmente uno

@anónimo (normalmente uno se identifica): esa frase es un tanto sarcástica, y se refiere al hecho de que es escabrosa la instalación ;)respecto de tu pregunta de fondo. releí lo que puse y me di cuenta que no está tan claro:"Si todo va bien, deberías ver una pagina web en tu navegador en la direccion: localhost:8080"significa que si pones en tu browser la direccion web http://localhost:8080, debiese salir una página de respuesta de Tomcat.ojo el puerto (8080) es referencial, ya que puede ser otro. para eso debes fijarte en la configuración de tomcat. normalmente es el 8080.saludos!

Muchas Gracias por su

Muchas Gracias por su atención, pero después de haber reiniciado la computadora, ya no funciona el link de tomcat, el archivo de tomcat no se pone como los demás con un triángulo morado, a que se debe. y cual es la otra forma de la que menciona de las dos opciones que utilizóAtentamente,Carlos Miguel

@Carlos Miguel:"el archivo

@Carlos Miguel:"el archivo de tomcat no se pone como los demás con un triángulo morado"nose como lo haces para ver iconos. en ninguna parte del tutorial hablé de íconos de archivo. supongo que navegaste a través de nautilus (porque estamos hablando de ubuntu linux...cierto?).como sea, no es importante."y cual es la otra forma de la que menciona"ambas están ahí. hablé de dos, porque desde las fuentes desde donde los saqué, hablan de una y luego de la otra.si sigues a paso a paso todo, habrás hecho las dos.

Si Ubuntu 7.10, cambie para

Si Ubuntu 7.10, cambie para hacer esto como se menciona en el artículo los java que tenia por java 6, los coloqué donde se menciona, pero el problema es que no se levanta el servicio automáticamente, cuando apago la máquina y vuelvo a entrar ya no aparece el link del tomcat en el navegador, ¿Una vez apagada la computadora y volver a entrar el tomcat con los pasos anteriores, teclear localhost:8080, se tiene que ver la página por default de tomcat ó tengo que teclear la instrucción de startup.sh?.Esa es my duda, mal interpreto la palabra "automaticamente"Atentamente,Carlos Miguelamigos_vic@hotmail.com

@Carlos Miguel:"cambie para

@Carlos Miguel:"cambie para hacer esto como se menciona en el artículo los java que tenia por java 6, los coloqué donde se menciona"en ubuntu no "colocas" nada en ninguna parte cuando instalas desde repositorios. instalas y apt sabe donde deja las cosas. en el caso de java lo deja en /usr/lib/jvm/java-6-sun (en realidad es un enlace simbólico)."cuando apago la máquina y vuelvo a entrar ya no aparece el link del tomcat en el navegador, ¿Una vez apagada la computadora y volver a entrar el tomcat con los pasos anteriores, teclear localhost:8080, se tiene que ver la página por default de tomcat ó tengo que teclear la instrucción de startup.sh?"si no te carga (el término aparecer me parece mal utilizado) tomcat, entonces tienes que levantarlo manualmente con:sudo /usr/share/tomcat6/bin/starup.shohh!!! pero claro, encontré el error. el archivo /etc/init.d/tomcat. actualizo con la información correcta.disculpa por todo el tiempo que te hice perder. estos copy/paste son endemoniados!

Muy bueno el articulo

Muy bueno el articulo, muchas gracias, todo funciono perfectamente a la primera, extraño pero asi es.

espero que muchas personas trabajen mas con ubuntu y con tomcat.

Saludos

La verdad es que ha sido instalar tal y como decías

La verdad es que ha sido instalar tal y como decías y ha ido bien.
Ahora es cuestión de ver si soy capaz de configurarlo como quiero.Por cierto, decir que no hace falta reiniciar después de cambiar el bash.rc, tan solo cerrar la consola actual y abrir otra.Muchas gracias por tu tiempo.

mmm

.-

Excelente!!! ... funciono

Excelente!!! ... funciono muy bien... ;)

un pequeño detalle

Hola sus indicaciones estan bien explicadas pero hay un detalle pequeño sobre el codigo de iniciar tomcat automaticamente. 
observen en la parte que esta resaltado de color rojo:  
case $1 instart) sh /usr/share/tomcat6/bin/starup.sh;;

como ven, esta mal escrito.  solo hay q agregarle una t .
aqui les dejo el codigo correcto:
case $1 instart) sh /usr/share/tomcat6/bin/startup.sh
;;
 solo era ese error y lo demas te funciona de lo mejor 

corregido

@OMAR:
 toda la razón!  ya lo he corregido.  muchas gracias.

AYUDA!!! me da el error:

AYUDA!!!
me da el error:
The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program
al poner:
sudo /usr/share/tomcat4/bin/startup.sh
Y ojo que el direccionamiento es correcto, ya que poseo la carpeta JAVA en la direccion donde le indique:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
 
alguien tiene idea??? GRACIAS

Si tengo un jboss q funciona

Si tengo un jboss q funciona con la version de java 1.4 (es necesario establecer un JAVA_HOME con el java 1.4), como hago para q ahora tomcat tenga un JAVA_HOME distinto.  Necesito tener jboss con esa configuración, pero ahora me gustaria tener un tomcat para configurarlo a mi gusto. Gracias.

Gracias

Soy nuevo en linux es primera semana configurando y esto me sirvio demasiado espero sigas apoyando a las personas como yo que contamos con un conocimiento pobre en linux.

NO FUNCIONA

No me está funcionando, me da el error:
The JAVA_HOME environment variable is not definedThis environment variable is needed to run this program
Lo raro es que hice todo IGUAL a la explicacion y tengo todo en el mismo path donde está explicado.
Busque la ayuda en google pero no encontre nada confiable, igual ya probe de todo.
 
gracias!
 

NO FUNCIONA

No me está funcionando, me da el error:
The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program
 
Lo raro es que hice todo IGUAL a la explicacion y tengo todo en el mismo path donde está explicado.
Busque la ayuda en google pero no encontre nada confiable, igual ya probe de todo.
 
gracias!
 

Como el Genio de la Lampara Maravillosa

Gracias a tu articulo pude instalar rapidamente el tomcat a mi maquina. como el genio d la lampara en un 2 x 3 y se me instalo...
Gracias brother.

Mil Gracias!!

Llevo dias buscando como hacer correr Tomcat en una instalacion de Ubuntu 8.04!!  Su pagina es la primera en indicar la incompatibilidad entre el JVM 6 que se consigue con la distribucion y el Tomcat que ofrecen.  Ya esta corriendo, que alivio!!

No funciona

Me sale el siguiente error:
 Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these environment variable is needed to run this program
Y segui todos los pasos, y no veo donde explicaste la segunda forma
Gracias

debes dar más información

1.- que distribución de linux estás usando?
2.- comprobaste que tuvieras Java instalado?
3.- si lo tienes instalado debes saber la ruta de donde está instalado.  viste donde quedó?
4.- la segunda forma está explicada al crear el archivo /etc/init.d/tomcat

Para los que les da el error

Para los que les da el error de JAVA_HOME Y JRE_HOME

Si aun despues de haber agregado las rutas de tu jvm a los ficheros
1) /etc/bash_bashrc
2) ~/.bashrc
3) ~/.bash_profile

con
export JAVA_HOME=/usr/lib/jvm/java-tuvercion
export JRE_HOME=/usr/lib/jvm/java-tuvercion

y aun les sigue dando el error tratando de correr el script ........../tomcat/bin/startup.sh

prueba arrancando e servivio desde el script de la carpeta init.d

sudo /etc/init.d/tomcat5.5 start

espero les ayude

Funciona perfectamente en Ubuntu 8.10

He seguido tus pasos, y funciona perfectamente en Ubuntu 8.10, sin el más mínimo problema.

Mil Gracias.

;)

Muchas gracias por tu guía, estoy trabajando sobre ubuntu 9.04 y todo salió a la perfeccion.

Perfecto

Muchas gracias!!! Funcionó de 10

Me funcionó

Hola, me funcionó perfectamente y muy rápido. 
Muchas Gracias
Salu2,

Excelente aportacion

Personas que inician en el entorno de Java este aporte esta excelente. El cruce de dedos es por demas siguiendo las instrucciones.
Asi de simple 
Sigamos adelante.

Gracias

Excelente aporte, segui los pasos al pie de la letra y me funcionó perfectamente, lo unico q no he probado es reiniciar el equipo para probar el archivo que permite levantar el servicio automaticamente.