Apache Portable Runtime (APR) es un set de librerias para mejorar la performance del las aplicaciones sobre el sistema operativo en el cual corren. Apache Tomcat es uno de los casos donde se sabe que es muy bueno sirviendo request a Java Servlets o JSP pero es malo sirviendo contenido estatico. Apache Server es fantastico haciendo esa tarea ya que le da toda la responsabilidad al sistema operativo. Instalando APR sobre Tomcat nos ayuda a que todas las operaciones IO sean nativas para el sistema operativo.
Instalar APR no es nada facil, me tomo 3 dias en total y mucha lectura. Aca un resumen de actividades para instalar APR en un Ubuntu (Debian).
-
Primero se tienen que instalar las librerias necesarias para poder compilar APR y Tomcat Native.
apt-get install binutils gcc gcc-4.2 libgomp1 libapr1 libc6-dev g
En segundo lugar tenemos que hacer download de la version de Apache APR u obteniendolo desde aca.
wget http://apache.adcserver.com.ar/apr/apr-1.3.3.tar.gz tar -xvf apr-1.3.3.tar.gz
Una vez descomprimido el TAR file ingresamos al directorio y procedemos a compilar.
./configure make make install
Tenemos que tener instalado el JDK y lo podemos obtener de esta manera (1.5 )
apt-get install openjdk-6-jdk
Ahora vamos al tomcat donde si no bajaste la version lo podes hacer desde aca.
wget http://apache.patan.com.ar/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz untar -xvf apache-tomcat-6.0.18.tar.gz
Una vez que tenemos tomcat ya en nuestro disco vamos a navegar y descomprimir el TAR file de tomcat-native.
mv apache-tomcat-6.0.18 tomcat cd tomcat/bin tar -xvf tomcat-native.tar.gz cd tomcat-native ./configure --with-apr=/usr/local/apr --with-java-home=/usr/lib/jvm/java-6-openjdk --prefix=/root/tomcat make && make install
Nota: el –with-java-home debe apuntar a tu JDK y –prefix a tu instalacion de tomcat.
El proximo paso es setear un par de variables en tu daemon script o batch script de inicializacion de tomcat. (Para inciar tomcat como daemon en linux Ver Articulo). Si tu script de inicializacion de Tomcat es un daemon hace lo siguiente.
nano /etc/init.d/tomcatd
Agregar al top del file esto
set LH_LIBRARY_PATH=/usr/local/apr/lib LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/tomcat/lib export LD_LIBRARY_PATH
Ahora viene una parte no muy entendible. Para que funcione esto tiene que estar desabilitado IPV6. Si, como escucharon, hay que deshabilitar ipv6 para hacer funcionar estos lib y eso se hace en el file aliases.
nano /etc/modprobe.d/aliases
Se debe cambiar la linea que dice:
alias net-pf-10 ipv6
por esto…
alias net-pf-10 off
Como ultimo paso al cambiar lo de ipv6 hacer un reboot del server.
Esto es todo para poder hacer correr tomcat de forma casi nativa al sistema operativo, en este caso un Debian. Que lo disfruten.




