Tomcat-Server 4.0 Milestone 3 installieren

JSP

Übersicht

Tomcat JSP-Server 3.1

Tomcat JSP-Server 3.2 final

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

Tomcat 4.0 Milestone 3

Tomcat und Apache-Server

Links

Tomcat 4.0

Die aktuelle Version des Tomcat 4.0 Servers ist Milestone 3.

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.
Sie unterstützt:

  • 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 aktuellen Milestone Version 3 von Tomcat 4.0 als Stand-alone-Variante beschrieben.

Die Test-Installation erfolgte auf einem Linux-Rechner mit Kernel Version 2.2.17 und jdk 1.3.0 von Blackdown.
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.

Diese 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-m3-src.tar.gz.

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.

Hinweis: Zum Übersetzen der Source-Distribution von Ant wird ein XML-Parser benötigt. In der Dokumentation wird das XML-Paket JAXP von Sun empfohlen. Zum Übersetzen der M3-Version von Tomcat ist sowieso die neuere Early Access Version dieses Pakets notwendig, siehe unten. Da diese aufwärts-kompatibel zur Vorgänger-Version ist, kann diese auch zum Übersetzen von Ant verwendet werden.
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-m3-src.tar.gz, die neueste Version der Implementierung der Servlet-API in der neuen Version 2.3.

Hinweis: Die zusammen mit Milestone 2 herausgebrachte Version kann nicht mehr verwendet werden!
jakarta.apache.org
JAXP 1.1 EA

jaxp-1_1-ea.zip, Java(TM) API for XML Parsing von Sun.

Hinweis: Diese Version kann nur über die Seiten der Java Developer Connection bezogen werden.
Links auf diese Seiten finden sich auf den bekannten Java-Seiten von Sun.
developer.java.sun.com 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
Java Management Extension (JMX) Dieses Paket wird seit Version Milestone 2 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
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-m3-src.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-m3-src.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.3.0/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.3.0 installiert wurde:
export JAVA_HOME=/opt/jdk1.3.0
XML-Parser

Zum Übersetzen von ist ein JAXP-konformer XML-Parser notwendig. Der Pfad zu den entsprechenden .jar-Archiven kann in den CLASSPATH aufgenommen werden.

Zum Beispiel:

export CLASSPATH=$CLASSPATH:/opt/jaxp1.1ea/crimson.jar:\ /opt/jaxp1.1ea/jaxp.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 / JDK 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 Version 1.1 Early Access oder neuer installiert ist.
JAXP PARSER JAXP_PARSER_JAR

Name des Parser-Archivs.

Seit den Milestone-Versionen des Tomcat-Servers hat mehr oder weniger Konfusion bzgl. der zu verwendenden XML-Parser-Version Einzug gehalten. Da verschiedene Installationen verwendbar sind (alle JAXP-konformen Installationen) sind auch unterschiedliche Namensgebungen für die Archive möglich. Diese muß dem Übersetzungs-Skript mitgeteilt werden.

Zum Beispiel:

export JAXP_PARSER_JAR=crimson.jar
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!
JMX JMX_HOME Installationsverzeichnis des Java-Management-Pakets.

 CLASSPATH-Umgebungsvariable setzen

Hinweis:

Für die Milestone-3-Version des Tomcat 4.0-Servers ist ein Setzen der CLASSPATH-Variablen nicht mehr notwendig. Die Archive werden vom Skript build.sh automatisch in den CLASSPATH aufgenommen.

Voraussetzung sind korrekt gesetzte Umgebungsvariablen.

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-m3 geändert.

./web.xml <property name="catalina.build" value="${basedir}/../build/catalina"/>
<property name="jasper.build" value="${basedir}/../build/jasper"/>
<property name="tomcat.build" value="${basedir}/../build/tomcat-4.0-m3"/>
<property name="tomcat.dist" value="${basedir}/../dist/tomcat-4.0-m3"/>
./catalina/web.xml
<project name="Catalina" default="build-main" basedir=".">
 
  <!-- ===================== Initialize Property Values =================== -->
  <property name="build.compiler" value="classic"/>
  <property name="catalina.build" value="../../build/catalina"/>
  <property name="catalina.deploy" value="../../build/tomcat-4.0-m3"/>
  <property name="catalina.dist" value="../../dist/catalina"/>
./jasper/web.xml
<project name="Jasper" default="build-main" basedir=".">
 
  <!-- ===================== Initialize Property Values =================== -->
  <property name="build.compiler" value="classic"/>
  <property name="jasper.build" value="../../build/jasper"/>
  <property name="jasper.deploy" value="../../build/tomcat-4.0-m3"/>
  <property name="jasper.dist" value="../../dist/jasper"/>
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/tomcat-4.0-m3/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.
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:06:09 CET 2000