Tomcat 5.5 auf Ubuntu Dapper Drake

Als erste sicher stellen, dass Java 1.5 installiert ist: Java installieren

Dann den Tomcat 5.5 herunterladen:

wget http://apache.mirror.testserver.li/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz

File auspacken

tar xvfz jakarta-tomcat-5.5.9.tar.gz

Verzeichnis nach

/usr/local

verschieben:

sudo mv apache-tomcat-5.5.20 /usr/local/

Einfachheitshalber einen softlink auf den Tomcat machen:

ln -s apache-tomcat-5.5.20 tomcat

Das wär’s eigentlich auch schon. Damit der Tomcat aber auch als Service gestartet werden kann, “registriere” ich diesen noch folgendermassen:

Ein Tomcat-File unter /etc/init.d erstellen:

touch /etc/init.d/tomcat

Das Tomcat-File mit folgendem Inhalt beglücken:

#!/bin/bash
#
# Startup script for the Tomcat server
#
# chkconfig: - 83 53
# description: Starts and stops the Tomcat daemon.
# processname: tomcat
# pidfile: /var/run/tomcat.pid


# See how we were called.
case $1 in
    start)

        export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/
        export CLASSPATH=/usr/local/tomcat/common/lib/servlet-api.jar
        export CLASSPATH=/usr/local/tomcat/common/lib/jsp-api.jar
        sh /usr/local/tomcat/bin/startup.sh
    ;;
    stop)
        sh /usr/local/tomcat/bin/shutdown.sh
    ;;
    restart)
        sh /usr/local/tomcat/bin/shutdown.sh
        sh /usr/local/tomcat/bin/startup.sh
    ;;
    *)
        echo "Usage: /etc/init.d/tomcat start|stop|restart"
    ;;
esac

exit 0

Das File noch ausführbar machen und registrieren:

chmod 755 /etc/init.d/tomcat
ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat

 

ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat

Tomcat kann nun mit

/etc/init.d/tomcat start

gestartet werden.

SSL auf Tomcat aktivieren

Als erstes ein Zertifikat erstellen:

$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

Das File (~/.keystore) sollte im home-Verzeichnis des Users stehen mit welchem der Tomcat laufengelassen wird. Wenn dem nicht so wäre, müsste der genaue Ort im Connector-Tag (server.xml) mit “keystoreFile” angegeben werden.
Achtung: Als Passwort musste ich übringens ZWINGEND “changeit” eingeben. Das ist das defaul-Passwort vom Tomcat. Alles andere wurde beim Tomcat-Start mit “LifecycleException:  Protocol handler initialization failed: java.io.IOException: Keystore was tampered with, or password was incorrect” qutiert… Auch das “keystorePass” im Connector-Tag hielf nicht. Das scheint ein Bug zu sein…
Nun noch den SSL HTTP/1.1 Connector in server.xml aktivieren und den Tomcat restarten.