|
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: |
|
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.
|