Tomcat: APR unter Linux verwenden
[update 04.07.2012]
Getestet mit: Ubuntu 12.04LTS
Vor den Schritten ist sicherzustellen, dass:
- Openjdk bereits installiert ist,
- Tomcat im eigenen Home Verzeichnis bereit liegt.
- Tomcat für die Verwendung von APR konfiguriert ist.
- Das Paket build-essential installiert ist.
1. APR herunterladen und installieren:
- Unter http://apr.apache.org/download.cgi den aktuellen APR Source Code herunterladen.
- Heruntergeladenes Paket entpacken.
- Im entpackten Ordner (bspw: apr-1.4.6) folgendes Befehl ausführen:
./configure && sudo make && sudo make install
Bei einer Ausgabe ähnlich:
Libraries have been installed in: /usr/local/apr/lib
war der build erfolgreich.
2. Tomcat native builden
- Im Tomcat Verzeichnis im Ordner bin das Paket tomcat-native-x.x.xx.tar.gz entpacken.
- Wechseln in die neu entpackte Ordnerstruktur: ./tomcat-native-x.x.xx-src/jni/native/
- Folgenden Befehl ausführen (evtl. ist der Pfad zur Java Version an zu passen, hier wird eine 64 bit Version genutzt!!):
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/lib/jvm/java-6-openjdk-amd64 && sudo make && sudo make install
3. Neue Libraries kopieren
- Libraries mit folgendem Befehl in die Systemlibraries verschieben (damit sie vom Tomcat gefunden werden):
sudo cp -r /usr/local/apr/lib/* /usr/lib/
Beim nächsten Tomcat Start sollten die APR gefunden werden. Wenn irgendwas nciht stimmt, teilt einem Tomcat dies sehr genau mit.
Server.xml:
die Server.xml Datei des Tomcats sollte den Connector für den SSL Port konfiguriert haben. Ein APR Connector für Port 8443 kann so aussehen:
<connector acceptcount="100" disableuploadtimeout="true" enablelookups="false" maxhttpheadersize="8192" maxthreads="150" port="8443" scheme="https" secure="true" sslcertificatefile="${catalina.base}/conf/server.cert" sslcertificatekeyfile="${catalina.base}/conf/server.key" sslenabled="true" uriencoding="UTF-8"></connector>
server.key and server.cert:
Leider möchte Tomcat auch benannte cert und key files erstellt und hinterlegt haben. Ich habe vor Zeiten mal welche zu Testzwecken erstellt, sie sind ungültig, nicht vertrauenswürdig und für eine sichere Verschlüsselung nicht zu gebrauchen, für Testzwecke jedoch durchaus nützlich: serverCertNKey.tar.gz