|
Diese Seite beschreibt die Verbindung des
Tomcat-JSP-Servers 3.x mit dem Apache-Server.
Der Tomcat-Server kann sowohl als stand-alone-Server
arbeiten als auch zusammen mit einem Apache-Web-Server.
Der Apache-Server leitet in diesem Fall Anfragen für
.jsp-Dokumente an den Tomcat-Server weiter.
|
| Hinweis: |
Diese Beschreibung bezieht sich ausschließlich auf die 3.x-Versionen,
für die 4.0-Versionen existiert zur Zeit noch kein entsprechendes Modul.
|
|
Voraussetzungen
|
|
Ein möglichst aktueller Apache-Server, der zum
Ausführen von Modulen, welche als Shared Libraries
compiliert wurden, vorbereitet ist.
Die aktuellen Apache-Versionen können von der
Apache-Seite
bezogen werden.
|
| DSO-Support |
Die Kommunikation zwischen Tomcat- und Apache-Server
übernimmt ein Modul namens mod_jserv.so.
Es handelt sich dabei um ein als Shared-Library
compiliertes Modul, weshalb ein entsprechend eingerichteter
Apache-Server notwendig ist (DSO-Support).
|
Compilieren
|
| JServ Modul compilieren |
Die Source-Dateien des JServ-Moduls sind in
der Source-Distribution des Tomcat-Servers enthalten.
Sie befinden sich im Verzeichnis
<tomcat-base>/src/native/apache/jserv
Zum Compilieren wird das Tool
apxs
aus der Apache-Distribution verwendet.
Es muß zunächst in das JServ-Source-Verzeichnis
gewechselt werden. Danach kann das Modul mit
folgendem Aufruf übersetzt werden:
<apache-base>/bin/apxs -c mod_jserv.c jserv*.c
|
Installation
|
| JServ Modul installieren |
Das JServ-Modul muß in das vom Apache-Server für
Module vorgesehene Verzeichnis kopiert werden.
Dieses Verzeichnis wird auch in der zugehörigen
Konfigurationsdatei tomcat.conf referenziert.
Für die aktuellen Versionen von Apache- und Tomcat-Server
ergibt sich damit folgender Kopierbefehl:
cp <jakarta-tomcat-base>/src/native/apache/jserv/mod_jserv.so
<apache-base>/libexec/
Die hier angegebenen Verzeichnisse können abhängig von
den verwendeten Server-Versionen variieren.
|
Konfiguration
|
|
Bevor die notwendigen Änderungen an den Konfigurationsdateien
des Apache-Servers durchgeführt werden, muß dieser angehalten
werden.
Das Tool apachectl dient dem Starten und Beenden
des Apache-Servers.
Es wird beim Compilieren des Servers im Verzeichnis
<apache-base>/bin/ abgelegt.
|
| Apache Server anhalten |
apachectl stop
|
|
In der Konfigurationsdatei httpd.conf
muß ein Include-Statement eingefügt
werden, das die JServ-Konfiguration
einbezieht.
|
|
JServ Konfiguration
|
In die Apache-Konfigurationsdatei httpd.conf
muß folgende Zeile eingefügt werden:
Include <tomcat-base>/conf/tomcat.conf
|
|
Mit der geänderten Konfigurationsdatei kann der
Apache-Server neu gestartet werden:
|
| Apache Server neu starten |
apachectl start
|
|
Da der Apache-Server JSP-Dokumente nicht selbst
verarbeitet, sondern lediglich an den Tomcat-Server
weiterleitet, muß dieser ebenfalls gestartet werden.
Die Reihenfolge ist dabei unwichtig, bei einer
ankommenden Anfrage müssen jedoch beide Server laufen.
|
| Tomcat Server starten |
<tomcat-base>/bin/startup.sh
|
Testen
|
|
JSP-Seiten können nun über den Apache-Server aufgerufen werden.
Vom Tomcat-Server werden diese an den Tomcat-Server weitergeleitet.
Die JSP-Beispiele des Tomcat-Servers werden durch die eingefügte
Include-Datei bereits in den Adressbereich des Apache gespiegelt.
Die Beispiele des Tomcat-Servers sollten deshalb jetzt über die
Portnummer des Apache abrufbar sein:
|
| Testaufruf einer JSP Seite über den Apache Server |
Über einen Browser kann die Funktion der Verbindung
getestet werden, indem Beispielseiten des Tomcat-Servers
ausgeführt werden, dabei jedoch die Portnummer des
Apache-Servers verwendet wird, z.B.:
http://localhost:80/examples/jsp/snp/snoop.jsp
oder
http://localhost/examples/jsp/snp/snoop.jsp
Es sollte dann die Ausgabe des
Snoop-JSP-Dokuments zu sehen sein,
das einige Informationen über die aktuelle Verbindung zum Server listet.
|