jueves, 3 de diciembre de 2009

Un Clásico Reformado: LAMT (como LAMP pero con Tomcat)

Un clásico, no solo de blogs, sino de cualquier web del "mundillo" que se precie ha de tener un manual de LAMP. Es más, seguro que hay quien los colecciona =) . Es por eso que no me he podido resistir a publicar mi propia versión de LAMT, que es como el LAMP pero con aplicaciones Java (Tomcat) en lugar de PHP.

Sobre la elección del Sistema Operativo mejor hablamos otro día, pero creo que las aplicaciones Java se están consolidando en cierto entornos, por lo que no es del todo descabellado tratar este tema... ¿no?

1. MySQL
Debido a que en los paquetes de la versión estable solo se dispone de la versión 5.0, se recurre a los "backports" de Debian para instalar la versión 5.1:
  • Se añade el un nuevo origen en el archivo /etc/apt/sources.list :
deb http://www.backports.org/debian lenny-backports main contrib non-free
  • Se actualiza la lista de paquetes: # apt-get update
  • Se instalan los certificados del nuevo origen de paquetes: # apt-get install debian-backports-keyring
  • Instalamos MySQL 5.1 : # apt-get -t lenny-backports install mysql-server-5.1 mysql-client-5.1
Se actualizará el paquete mysql-common pasándolo de la versión "estable" a la del "backport", además de instalarse varias dependencias.

LISTO!

2. JDK de Sun (ahora Oracle)
Por defecto viene instalada una versión GNU del "runtime" de Java:
# java -version
java version "1.5.0"
gij (GNU libgcj) version 4.3.2


Por lo que para instalar la versión de Sun (ahora Oracle), seguiremos los siguientes pasos:
  • Añadiremos los paquetes non-free a los orígenes oficiales de Debian en el archivo /etc/apt/sources.list :
deb http://ftp.rediris.es/debian/ lenny main non-free
deb-src http://ftp.rediris.es/debian/ lenny main non-free

deb http://security.debian.org/ lenny/updates main non-free
deb-src http://security.debian.org/ lenny/updates main non-free

deb http://volatile.debian.org/debian-volatile lenny/volatile main non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main non-free
  • Actualizamos la lista de paquetes: # apt-get update
  • Instalamos el nuevo "runtime", junto al plugin de firefox y algunas fuentes: # apt-get install sun-java6-jdk sun-java6-plugin sun-java6-fonts ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho
  • Debian seguirá utilizando la versión GNU del "runtime" hasta que no cambiemos su alternativa: # update-java-alternatives -s java-6-sun
  • Por último añadimos un par de variables de entorno en /etc/profile (o /etc/environment):
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export JRE_HOME=$JAVA_HOME/jre

LISTO!

3. Tomcat

En la versión estable de Debian se mantienen los paquetes de Apache Tomcat 5.5, por lo que realizaremos la instalación de forma manual a partir de los binarios:
  • Descargamos la versión 6 de Tomcat: # wget http://apache.rediris.es/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz
  • Descomprimimos el archivo: # tar -xvzf apache-tomcat-6.0.20.tar.gz
  • Movemos el directorio de la aplicación a su ubicación final (/usr/local o /opt en función de nuestras preferencias): # mv apache-tomcat-6.0.20 /usr/local/
  • Creamos algunos enlaces simbólicos para simplificar la gestión:
# ln -s /usr/local/apache-tomcat-6.0.20 /usr/local/tomcat
# ln -s /usr/local/tomcat/conf /etc/tomcat
# ln -s /usr/local/tomcat/logs /var/log/tomcat
# ln -s /usr/local/tomcat/bin/catalina.sh /usr/bin/tomcat
  • Borramos ejemplos y archivos de otras plataformas
# cd /usr/local/tomcat/bin
# rm *.exe *.bat
# cd /usr/local/tomcat/webapps
# rm -rf docs examples
  • Creamos el usuario del servicio:# useradd -r --home-dir /usr/local/tomcat -m --groups nogroup --shell /bin/false tomcat
  • Damos privilegios al usuario sobre el software: # chown -R tomcat /usr/local/tomcat
  • Creamos un script de inicio /etc/init.d/tomcat, os recomiendo el que publican aquí.
  • Activamos el script que acabamos de crear
# chmod 755 /etc/init.d/tomcat
# update-rc.d tomcat defaults
  • Añadir la variable de entorno en /etc/profile (o /etc/environment):
export CATALINA_HOME=/usr/local/tomcat

LISTO!

4. Apache

Es el que más me gusta =)
  • Instalamos Apache: # apt-get install apache2
LISTO!

Existen otros detalles como: la conexión entre Apache y Tomcat (mod_jk), como conectar el Tomcat a un MySQL u Oracle en otro equipo distinto...

Lo se, ¿y esto a que viene? se preguntarán algunos... llamarlo melancolía.

No hay comentarios: