Come installare le librerie APR di Apache Tomcat su Linux

Ho da poco eseguito l’installazione delle librerie APR (Apache Portable Runtime) su un ApacheTomcat installato in un sistema operativo Debian.
Queste librerie migliorano la scalabilità e le performance del
servizio, soprattutto per quanto riguarda le richieste di risorse
statiche come immagini, css e javascript. L’installazione è risultata
relativamente semplice.

Premetto
che il servizio Tomcat è stato installato dalla versione compattata in
tar.gz, senza quindi utilizzare i repository del sistema operativo.
Invece la JVM è stata installata dai repository.
Innanzitutto per verificare se il servizio sta usando le librerie dovete
controllare cosa viene scritto allo startup nel log catalina.out.
Questo è quello che potete trovare quando le APR non sono caricate da
Tomcat:

org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows
optimal performance in production environments was not found
on the java.library.path

Procediamo quindi all’installazione delle librerie necessarie alla compilazione delle APR, vale a dire la libapr1 e la libssl:


apt-get install libapr1-dev
apt-get install libssl-dev

I sorgenti delle librerie APR si trovano nel file
tomcat-native.tar.gz dentro la directory bin/ dell’installazione di
Tomcat. Scompattate tale file e procedete alla compilazione delle
librerie:

cd $TOMCAT_HOME/bin/
tar xzf tomcat-native.tar.gz
cd tomcat-native-NN-src/jni/native/

./configure
  --with-apr=/usr/bin/apr-1-config
  --with-java-home=/usr/lib/jvm/java-6-sun
  --with-ssl
  --prefix=$TOMCAT_HOME
make
make install

dove per $JAVA_HOME si intende la directory dove sono presenti i
binari della JVM e per $TOMCAT_HOME si intende il path di installazione
del Tomcat. Fatto questo, nella directory lib/ del Tomcat vi troverete
le nuove librerie. Per verificare che tutto sia andato per il meglio non
vi resta che avviare il Tomcat e cercare nel file catalina.out le
seguenti righe:

org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true],
accept filters [false], random [true].

A questo punto il servizio sta già sfruttando le potenzialità delle librerie APR. Sul sito ufficiale potete eventualmente trovare tutte le possibili configurazioni aggiuntive ai connector http, https e ajp.

Un pensiero su “Come installare le librerie APR di Apache Tomcat su Linux

  1. Ciao Luca, ho provato questa guida, ed e’ ottima!
    Solo una cosa, ti segnalo: dopo aver eseguito passo passo la tua guida (anch’io avevo Tomcat installato a parte, e Java da repository), Tomcat non veniva piu’ su….si fermava sempre dopo questa riga:

    org.apache.catalina.core.AprLifecycleListener init
    INFO: Loaded APR based Apache Tomcat Native library 1.1.20.
    org.apache.catalina.core.AprLifecycleListener init
    INFO: APR capabilities: IPv6 [true], sendfile [true],
    accept filters [false], random [true]

    Cercando un po’ in internet, ho trovato questo link:

    https://bugs.launchpad.net/ubuntu/+source/tomcat-native/+bug/287644

    In pratica, dice che, dentro al server.xml, cambiando la proprieta’ SSLEngine da “on” a “off” per l’AprLifecycleListener, non viene piu’ attivata una routine a livello di sistema operativo (routine che impianta il Tomcat perche’ richiede un tempo casuale per terminare). Dopo questa semplice modifica, il Tomcat e’ venuto su senza problemi. Per completezza, riporto la riga completa (dal server.xml):
    – default: <Listener className=”org.apache.catalina.core.AprLifecycleListener” SSLEngine=”on” />
    – modificata: <Listener className=”org.apache.catalina.core.AprLifecycleListener” SSLEngine=”off” />

    Ciao e grazie ancora per l’ottima guida.

Lascia un commento