lunes, 12 de mayo de 2008

Instalar tomcat en ubuntu


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- deben 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/starup.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.