|
Im Folgenden wird die Installation der aktuellen Version
von Tomcat 4.0 als Stand-alone-Variante beschrieben.
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.
|
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 |
|
*
Xerces wird von der Milestone-1-Release anstelle der JAXP verwendet.
|
|
| 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-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 von 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/tomcat32b4/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.
|
|
|
|
Die Apache-Gruppe hat mit dem Milestone-1-Release
des Tomcat-4.0-Servers einige Änderungen gegenüber
älteren Versionen eingeführt:
|
| XML-Bibliothek |
Anstelle der JAXP-XML-Bibliothek von Sun
wird jetzt die eigene Bibliothek Xerces
verwendet.
Es muß die aktuelle Xerces Version 1.2
eingesetzt werden. Ein Versuch mit Version 1.1 schlägt fehl.
Wird nicht die verlangte Version eingesetzt, erscheint
eine Fehlermeldung, die sich über eine
non JAXP compliant XML-Bibliothek beklagt.
Diese Fehlermeldung ist äußerst mißverständlich
und irreführend. Selbstverständlich ist
Xerces alles andere als
JAXP-kompatibel.
Vermutlich stammt der Text der Meldung noch aus einer
älteren Tomcat-Version.
|
| XERCES_HOME |
Mit der Einführung der neuen XML-Bibliothek wurde
auch die zugehörige Umgebungsvariable geändert.
Anstelle von JAXP_HOME muß jetzt
XERCES_HOME gesetzt werden.
Hier muß das Verzeichnis eingetragen werden, in dem
sich die .jar-Archive von Xerces
befinden.
| |
Dies ist in der aktuellen Version nicht das Basis-Verzeichnis der Installation!
Vielmehr muß das Unterverzeichnis tools angegeben werden.
|
|
Zum Beispiel:
export XERCES_HOME=/opt/xerces-1_2_0/tools
|
|
Ant
|
Das Paket Ant muß jetzt innerhalb des
Tomcat-Verzeichnisses installiert werden.
Das ist umso verwirrender, da Ant
auch von anderen Paketen verwendet wird.
Für diese muß Ant also zusätzlich im gleichen
Verzeichnis wie bisher installiert werden.
Es bietet sich also an, Ant dort
zu lassen, wo es war und nur einen symbolischen
Link innerhalb des Tomcat-Verzeichnisses anzulegen:
cd jakarta-tomcat-4.0-m1-src/
ln -s ../jakarta-ant .
|