Tomcat-Server 4.0 Milestone 2 installieren

JSP

Übersicht

Tomcat JSP-Server 3.1

Tomcat JSP-Server 3.2 final

Tomcat JSP-Server 4.0 pre-alpha (und M1)

Tomcat 4.0 Milestone 2

Tomcat JSP-Server 4.0 Milestone 3

Tomcat und Apache-Server

Links

Tomcat 4.0

Die Version Milestone 2 des Tomcat 4.0 Servers ist bereits veraltet, die neuere Milestone 3 Version kann vom jakarta.apache.org-Server bezogen werden.

Infos zur Installation der Milestone 3 Version

Mit dieser Version wurden wiederum einige Neuerungen eingeführt. Aus diesem Grund soll hier nochmals der komplette Installationsvorgang beschrieben werden.

Die 4.0 Versionen enthalten im Gegensatz zu den alten 3.x Versionen nicht alle notwendigen Java-Pakete. Die notwendigen Pakete sind vor der Server Installation zu besorgen und zu installieren. Um auf diese Pakete zugreifen zu können, sind außerdem einige Umgebungsvariablen zu setzen.

Die aktuelle Version läuft trotz des frühen Entwicklungsstadiums bereits sehr stabil.

Version 4.0 integriert gegenüber 3.2 folgende zusätzlichen Features:

  • Implementiert die JavaServer Pages (JSP) Spezification Version 1.2
  • sowie die Servlet API Spezification, Version 2.3
  • WebDAV level 2
  • Erweiterte Authentifizierungs-Funktionalität, z.B. Auslesen von Zertifikaten

Im Folgenden wird die Installation der Milestone 2 Version des Tomcat 4.0 Servers als Stand-alone-Variante beschrieben.

Die Test-Installation erfolgte auf einem Linux-Rechner mit Kernel Version 2.2.14 und jdk 1.2.2 von Sun.
Ant wurde in der aktuellen Version 1.2.1 verwendet. Diese ist nicht mehr 100%-ig kompatibel zu älteren Versionen, falls Probleme mit einer alten Version auftreten, sollte eine aktuelle Version installiert werden.

Diese Version benötigt im Gegensatz zu den Versionen 3.1 oder 3.2 einige zusätzliche Pakete, die von den Sun- bzw. Apache-Seiten zu beziehen sind.

Die Beschreibung wendet sich an den erfahrenen Anwender. Ausführlichere Anleitungen existieren für die Versionen 3.1 und 3.2 beta 4.

Voraussetzungen

Benötigte Archive:
Paketname Beschreibung URL
Tomcat

Die Source-Dateien des Tomcat-JSP-Servers, zusammengefaßt im Archiv jakarta-tomcat-4.0-src-2000XXXX.tar.gz, wobei XXXX das Datum der Source-Distribution bezeichnet.

jakarta.apache.org
Ant

Das Archiv jakarta-ant.tar.gz enthält ein Make-Tool, das zum Compilieren des Tomcat-Servers sowie zusätzlicher Komponenten des Servers benötigt wird.

Achtung: Wenn die Source-Distribution von Ant eingesetzt wird, ist darauf zu achten, daß zum Übersetzen das XML-Paket JAXP von Sun notwendig ist. Zum Übersetzen der M2-Version von Tomcat ist hingegen das Apache-eigene Paket Xerces zu verwenden !
jakarta.apache.org
Regexp jakarta-regexp-1.1.tar.gz: Java-Paket zum Auswerten regulärer Ausdrücke.
jakarta.apache.org/regexp/dist/
Servlet-API 4.0 jakarta-servletapi-4.0-src-20000909.tar.gz, eine Implementierung der Servlet-API in der Version 2.3.
jakarta.apache.org
JAXP jaxp-1_0_1.zip, Java(TM) API for XML Parsing von Sun.
java.sun.com/xml
JNDI jndi1_2_1.zip, das Java Naming and Directory Interface (tm) in der zur Zeit aktuellen Version 1.2.
java.sun.com
JSSE jsse-1_0_2-gl.zip, die Java (tm) Secure Socket Extension von Sun.
java.sun.com
Xerces * Xerces-J-tools.1.2.0.tar.gz *, die Xerces-XML-Bibliotheken, implementiert in Java.
xml.apache.org
Java Management Extension (JMX) Dieses Paket wird in dieser Version zum ersten Mal verwendet:

jmx-1_0-ri_instr.zip ( JMX Instrumentation Reference Implementation 1.0 )

jmx-1_0-ri.zip ( JMX Instrumentation and Agent Reference Implementation 1.0 )

Download über JavaManagement

java.sun.com
* Xerces wird von der Milestone-2-Release anstelle der JAXP verwendet.
Optionale Archive:
Tools
Taglibs
Struts

Installation vorbereiten

Alle oben aufgeführten Archive außer den optionalen müssen vor dem Compilieren des Tomcat-Servers bereits installiert sein.

Im folgenden wird davon ausgegangen, daß diese Archive unterhalb des Basis-Verzeichnisses

/opt/server
installiert wurden.

Zur Installation des Servers selbst werden noch die Archive jakarta-tomcat-4.0-src-2000XXXX.tar.gz sowie jakarta-ant.tar.gz benötigt:
Archive kopieren: cp jakarta-tomcat-4.0-src-2000XXXX.tar.gz /opt/server
cp jakarta-ant.tar.gz /opt/server
Beide Archive müssen in diesem Verzeichnis entpackt werden:
Archive entpacken: tar xzf jakarta-ant.tar.gz
tar xzf jakarta-tomcat-4.0-src-2000XXXX.tar.gz

 ANT übersetzen

Der folgende Schritt besteht darin, das Make-Tool Ant zu compilieren. Dazu muß in das Verzeichnis jakarta-ant gewechselt werden, das beim Entpacken des Archivs jakarta-ant.tar.gz entstand:
  cd jakarta-ant
Zum Übersetzen des Tools sind folgende Voraussetzungen notwendig:
Java-JDK

Ein installiertes Java-JDK muß vorhanden sein, da es sich bei diesem Tool um ein reines Java-Programm handelt, das auch mit einem Java-Compiler übersetzt werden muß.

Eine Liste aktueller JDKs findet sich hier.

CLASSPATH

Die CLASSPATH-Umgebungsvariable enthält eine Liste von Pfaden zu Java-Klassen.

Zum Übersetzen von Ant wird die Sun-Javac-Compiler-Klasse sun/tools/javac/Main benötigt. Diese befindet sich im Archiv tools.jar. Das Archiv muss somit in die CLASSPATH-Umgebungsvariable aufgenommen werden, Dies geschieht beispielsweise über folgende Anweisung:

export CLASSPATH=/opt/jdk1.2.2/lib/tools.jar
Das Verzeichnis, in dem die Sourcen für Ant liegen, muß nicht aufgenommen werden, dies geschieht später automatisch.

JAVA_HOME Die JAVA_HOME-Umgebungsvariable muß gesetzt sein.
Zum Compilieren von Ant ist hier der Pfad zum JDK-Basisverzeichnis aufzunehmen. In einer bash-Shell unter Linux kann diese Variable über folgende Anweisung gesetzt werden. Es wird angenommen, daß das JDK im Verzichnis /opt/jdk1.2.2 installiert wurde:
export JAVA_HOME=/opt/jdk1.2.2
XML-Parser

Zum Übersetzen des Make-Tools Ant wird ein JAXP-konformer XML-Parser benötigt. Der Pfad zu den entsprechenden .jar-Archiven kann in den CLASSPATH aufgenommen werden.

Zum Beispiel:

export CLASSPATH=$CLASSPATH:/opt/jaxp1.0.1/jaxp.jar:\ /opt/jaxp1.0.1/parser.jar

Übersetzen Der Übersetzungsvorgang wird aus dem jakarta-ant-Verzeichnis durch Aufruf des folgenden Shell-Skripte durchgeführt:
./build.sh

 Umgebungsvariablen setzen

Oben wurde bereits erwähnt, daß zum Übersetzen von Tomcat 4.0 einige Zusatzpakete zu installieren sind. Um diese Pakete finden zu können, benötigt das build-Skript folgende Umgebungsvariablen.

Es handelt sich dabei um folgende Werte:

Paket Umgebungsvariable Wert
SDK JAVA_HOME Basisverzeichnis der SDK-Installation.
Ant ANT_HOME Basisverzeichnis des Ant-Make-Tools.
JAXP JAXP_HOME Verzeichnis, in welchem die Java API for XML Parsing installiert ist.
JSSE JSSE_HOME Installationsverzeichnis der Java Secure Socket Extension API.
Regexp REGEXP_HOME Verzeichnis des Regular Expressions-Pakets, das ebenfalls von der Apache-Site zu beziehen ist.
Servlet API 2.3 SERVLETAPI_HOME Installationsverzeichnis der Servlet-API. Für Tomcat 4.0 wird die Version 2.3 der Servlet-API benötigt, die bisher verwendete Version 2.2 genügt nicht mehr!
Xerces * XERCES_HOME Installationsverzeichnis der .jar-Archive der Xerces-API. Diese befinden sich im Unterverzeichnis tools der Xerces-Installation.
* Xerces wird von der Milestone-1-Release anstelle von JAXP verwendet.

 CLASSPATH-Umgebungsvariable setzen

Einige .jar-Archive der verwendeten Pakete müssen in den CLASSPATH aufgenommen werden:

Paket Archiv
Servlet API 2.3 servlet.jar
JAXP jaxp.jar
parser.jar
Regexp jakarta-regexp-1.1.jar
JNDI jndi.jar
Hinweis:

Für die Milestone-1-Version von Tomcat 4.0 ist es nicht mehr notwendig, die Archive in den CLASSPATH aufzunehmen. Dieser wird vom Skript build.sh automatisch generiert.

Tomcat 4.0 übersetzen

Die Vorbereitungen zum Compilieren des JSP-Servers sind damit abgeschlossen.
Zum Starten des Compiler-Laufs muß nun in das Verzeichnis jakarta-tomcat gewechselt werden:
In das Tomcat Source Verzeichnis wechseln cd ../jakarta-tomcat
In diesem Verzeichnis muß nur noch das Skript build.sh ausgeführt werden:
Tomcat 4.0 compilieren ./build.sh
Achtung! Wenn das Compilieren fehlschlägt, kann es beim anschließenden Neu-Compilieren zu Fehlermeldung kommen, die evtl. vermieden werden, wenn zuvor alle bisher erzeugten Dateien gelöscht werden. Diese befinden sich im Verzeichnis build/tomcat Dies ist die Standard-Einstellung für alle Versionen des Tomcat-Servers. Ist bereits ein Tomcat-Server installiert, wird diese Installation überschrieben. Aus diesem Grund kann es sinnvoll sein, ein neues Zeilverzeichnis für die neue Installation festzulegen.
Zielverzeichnis ändern

Standardmäßig werden die Dateien des Tomcat-Servers in das Verzeichnis build/tomcat kopiert. Sollen mehrere Versionen des Servers übersetzt werden, kann jedem ein eigenes Verzeichnis zugewiesen werden. Zu diesem Zweck muß vor dem Ausführen des Skripts build.sh die Datei build.xml entsprechend angepaßt werden.

In ihr enthalten ist ein Element namens target, das wiederum mehrere property-Elemente enthält. Das property-Element tomcat.build enthält als value-Parameter das (relative) Verzeichnis, in das der Tomcat-Server installiert werden soll. In der Originaldatei ist hier immer das Verzeichnis ../build/tomcat angegeben.

Im folgenden Beispiel wurde das Zielverzeichnis in ../build/tomcat40 geändert.

<target name="init">
<!-- Ant.home is set automatically by ant. If you set it here it will not work -->
<property name="ant.home" value="../jakarta-ant" />
<property name="build.compiler" value="classic"/>
<property name="servlet.jar"
value="../jakarta-servletapi/lib/servlet.jar"/>
<property name="tomcat.build" value="../build/tomcat40"/>
<property name="tomcat.home" value="../dist/tomcat"/>
<property name="j2ee.home" value="../../j2ee/build/unix"/>
<property name="optimize" value="true" />
<property name="jaxp" value="../jaxp1.0.1" />
</target>
Während des Compiler-Laufs wird, falls noch nicht vorhanden, das Verzeichnis build auf der gleichen Ebene wie die Installationsverzeichnisse jakarta-ant und jakarta-tomcat erstellt. Darin enthalten ist das Verzeichnis tomcat bzw. das in build.xml eingetragene Zielverzeichnis, in das die Klassen- und Konfigurations-Dateien sowie Start-Skripte des Tomcat-Server kopiert werden.

Tomcat 4.0 starten

Zum Starten des Servers wird in das bin-Verzeichnis der Tomcat-Installation gewechselt:
In das Tomcat Verzeichnis wechseln
cd ../build/tomcat40/bin/

bzw.
cd ../build/tomcat/bin/
wenn das Default-Verzeichnis unverändert beibehalten wurde.
Der Tomcat-Server ist fertig compiliert und enthält bereits eine Standard-Konfiguration. Somit kann der Server nun versuchsweise gestartet und mit Hilfe der mitgelieferten Beispiele getestet werden.

Der Tomcat-Server benötigt zur Ausführung die JAXP-API oder eine dazu kompatible API.

Die Klassen bzw. Archive können dem Server auf folgende Arten bekanntgemacht werden:

  • Die .jar-Archive können in das Verzeichnis lib des Servers kopiert werden.
  • Es können in diesem Verzeichnis symbolische Links auf die Archive erzeugt werden.
  • Die notwendigen Archive können in den CLASSPATH aufgenommen werden.
Tomcat starten ./startup.sh
Während des Startvorgangs werden die Einstellungen für den CLASSPATH und LOG-Files gelistet, wie sie vom Server verwendet werden. Eventuelle Fehler können hier leicht lokalisiert werden. Normalerweise sollte der Server jedoch mit den Default-Einstellungen bereits problemlos starten.
Die Funktion kann getestet werden, indem die Startseite des Servers mit Hilfe eines beliebigen Web-Browsers aufgerufen wird:

Testlauf

Tomcat testen Im Browser kann die Tomcat-Start-Seite über die Adresse http://localhost:8080 aufgerufen werden.
Abbildung der Startseite des Tomcat-Servers.
Wird diese Startseite in dieser Form angezeigt, war die Installation des Servers erfolgreich. Der Server empfängt Anfragen über den Default-Port 8080 und überträgt auch Daten zurück zum Client.
Als nächstes bleibt noch zu prüfen, ob JSP-Seiten compiliert und angezeigt werden können. Da hierzu Zugriffe auf den Java-Compiler notwendig sind, besteht hier noch eine potentielle Fehlerquelle.
Der Test ist am einfachsten durchzuführen, indem einige der JSP-Beispiele des Servers aufgerufen werden. Die Beispiel-Seite kann über den Link JSP Examples erreicht werden, siehe dazu die Abbildung der Startseite.
JSP Beispiel Seite anzeigen Die Beispielseite kann über den entsprechenden Link oder die Adresse
http://localhost:8080/examples/jsp
erreicht werden.
Im Browser sollte nun eine Index-Seite mit den JSP-Beispielen des Tomcat-Servers zu sehen sein.
JSP Beispiel ausführen Ein beliebiges Beispiel aus der Liste kann zum Testen verwendet werden. Das Snoop-Beispiel liefert einige Angaben über die Übertragungsmethode und das Betriebssystem.

Ronald Pfeiffer
Last modified: Mon Oct 30 00:03:07 CET 2000