Auf dieser Seite finden Sie eine Anleitung zum Verbinden des HTTP-Servers Apache mit dem JSP-Server Tomcat auf dem Betriebssystem SuSE 9.1. Weitere Informationen zur Konfiguration des “Connector” finden Sie hier.
1. Schritt:
Wenn Sie die 32-bit-Version von SuSE 9.1 verwenden, müssen Sie diese *.so-Datei herunterladen und im folgenden Verzeichnis ablegen:
/usr/lib/apache2-prefork/
Falls Sie die 64-bit-Version von SuSE 9.1 einsetzen, können Sie auch diese *.so-Datei herunterladen und im folgenden Verzeichnis ablegen:
/usr/lib64/apache2-prefork/
In diesem HOWTO wird die Version 1.2 des JK-Moduls verwendet. Weiterhin wird davon ausgegangen, dass Apache >= 2 und Tomcat >= 5 eingesetzt werden und auf dem System eingerichtet sind.
2. Schritt:
Damit Apache und Tomcat miteinander über das AJP v1.3 (= Apache JServ Protocol, Version 1.3) kommunizieren können, müssen zunächst im Tomcat-Server so genannte Workers eingerichtet werden. Es empfiehlt sich, das dazugehörige HOWTO zu “überfliegen”, um einen kurzen Einstieg in dieses Thema zu erhalten.
Normalerweise müssen lediglich zwei Anpassungen in der workers.properties-Datei vorgenommen werden, da der Tomcat-Server bereits mit einer lauffähigen Standardkonfiguration ausgeliefert wird. Die workers.properties-Datei finden Sie hier:
/usr/local/tomcat-5.5.12/conf/workers.properties
Suchen Sie nach den beiden folgenden Einträgen (Homeverzeichnis des Tomcat-Servers und des Java-JDKs) und passen Sie diese an Ihre Systemumgebung an:
workers.tomcat_home=/usr/local/tomcat-5.5.12 workers.java_home=/usr/java/jdk1.5.0_05
Bitte beachten Sie, dass Sie ein JDK >= 1.5 einsetzen sollten. Andernfalls könnte es zu Problemen mit neueren Version des Tomcat-Servers kommen (u.a. Servlets).
3. Schritt:
Anschließend müssen Sie dem Tomcat-Server das JK-Modul anhand eines Listeners bekannt machen. Dazu ist es notwendig, die server.xml zu ändern. Die server.xml-Datei finden Sie hier:
/usr/local/tomcat-5.5.12/conf/server.xml
Fügen Sie innerhalb des Engine-Tags die folgende Zeile ein und passen Sie im Attribut mod_jk den Pfad zu Ihrem JK-Modul an (siehe Schritt 1). Starten Sie anschließend den Tomcat neu.
<engine>
<listener className="org.apache.jk.config.ApacheConfig"
modJk="/usr/lib64/apache2-prefork/mod_jk.so" />
</engine>4. Schritt:
In den vorherigen Schritten haben Sie u.a. die JK-Datei ins Modulverzeichnis kopiert. Damit dieses Modul auch beim Starten des Apache-Servers geladen wird, müssen Sie die httpd.conf-Datei Ihrer Apache-Installation anpassen. Die httpd.conf-Datei finden Sie hier:
/etc/apache2/httpd.conf
Fügen Sie am Ende der Datei die folgenden Einträge hinzu und starten Sie anschließend auch den Apache-Server neu.
# JK-Modul laden LoadModule jk_module /usr/lib64/apache2-prefork/mod_jk.so # Tomcat-Workers einbinden JkWorkersFile /usr/local/tomcat-5.5.12/conf/workers.properties # Log-Datei, -Level und -Format festlegen JkLogFile /var/log/apache2/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" # Optionen JkOptions +ForwardKeySize +ForwardURICompat +ForwardDirectories JkRequestLogFormat "%w %V %T"
5. Schritt:
Überprüfen Sie die Log-Dateien im folgenden Verzeichnis auf mögliche Fehlermeldungen:
/var/log/apache2/
Sobald der Apache-Server fehlerfrei läuft, können Sie mit der Alias-Anweisung und dem JkMount-Befehl einzelne URL-Anfragen vom Port 80 (Apache) zum Port 8080 (Tomcat) weiterleiten. Dazu muss u.a. das Verzeichnis Ihrer Webapplikation dem Apache bekanntgemacht werden. Im folgenden Schritt wird daher als Beispiel die URL “/test” auf die Webapplikation “test” umgeleitet. Sie können dazu die folgenden Zeilen in Ihrer httpd.conf (siehe Schritt 4) hinzufügen.
Alias /test "/usr/local/tomcat-5.5.12/webapps/test"
<directory "/usr/local/tomcat-5.5.12/webapps/test">
Options Indexes FollowSymLinks
DirectoryIndex index.html index.htm index.jsp
</directory>
<location "/test/WEB-INF/*">
AllowOverride None
deny from all
</location>
<location "/test/META-INF/*">
AllowOverride None
deny from all
</location>
JkMount /test ajp13
JkMount /test/* ajp13Tipp:
Wenn Sie alle Webapplikationen des Tomcat-Servers über den Apache-Server erreichen möchten, können Sie alternativ auch den JkAutoAlias-Befehl verwenden.
Siehe auch: Jakarta Tomcat Connector – Apache HowTo







0 Responses to “Verbinden von Apache und Tomcat”