Advanced
Java
Services
|
Connecting Apache 2.0.45 and Tomcat4.1.24 with mod_jk2 to
run Servlets and JavaServerPages
|
|
Wie der Indianer den Kater zum Schnurren bringt
|
I Download der Dateien
1) Apache 2.0.xx
Die aktuelle Version (zur Zeit 2.0.47) steht unter
http://www.apache.org/dist/httpd/binaries/win32 als
apache_2.0.xx-win32-x86-no_ssl.msi MSI Installer Package
oder
apache_2.0.x-win32-x86-no_ssl.exe Installer Package
zum Download bereit.
Der Microsoft Installer ist auf älteren Windows-Platformen nicht verfügbar. Ein Download
ist sehr empfehlenswert (kleinere Dateien, meist problemlose Installation)
Die neueste Version kann man unter
http://www.microsoft.com/downloads/release.asp?ReleaseID=17344
Windows Installer v1.10 for Windows NT 4.0 (x86) (already built into Windows 2000)
bzw.
http://www.microsoft.com/downloads/release.asp?ReleaseID=17343
Windows Installer v1.10 for Windows 95 and 98 (already built into Windows ME)
von Microsoft herunterladen
2) Tomcat 4.x.x (letztes 4 release : 4.1.29)
Tomcat hat seine Pfade neu strukturiert. Alle release-Versionen sind nun zu finden unter
http://jakarta.apache.org/site/binindex.cgi
Hier sucht man sich einen mirror aus und wählt Tomcat 4.1.29 . Die Beschreibung auf dieser Seite
ist für die Versionen 4.1.xx !
4) Servlet API 2.3 und Java class-files
Man findet beides unter
http://java.sun.com/products/servlet/download.html
servlet-2_3-fcs-classfiles.zip
servlet-2_3-fcs-docs.zip
servlet-2_3-fcs-classfiles.zip wird umbenannt oder kopiert in servlet-2_3-fcs-classfiles.jar
und ins Verzeichnis c:\j2sdk1.4.x\jre\lib\ext gelegt. Damit sind alle zur Entwicklung von Servlets
notwendigen Klassen über import javax.servlet.* ; und import javax.servlet.http.* ; ansprechbar.
servlet-2_3-fcs-docs.zip entpackt man in ein eigenes Verzeichnis.
Auch dieses Verzeichnis hat sich geändert, es ist fast noch schwerer zu finden als das alte!
Die Tomcatleute haben mod_jk2 so gut versteckt, daß ich googeln mußte...
jk2-Module finden sich unter
http://apache.roweboat.net/jakarta/tomcat-connectors/jk2/binaries/win32
Hier wählt man
jakarta-tomcat-connectors-jk2.0.2-win32-apache2.0.43.zip
Die Datei enthält das Modul mod_jk2-2.0.43.dll. Es ist für Apache 2.0.xx entwickelt worden
und arbeitet problemlos und zuverlässig.
Hinweis:
Die Versionen 4.1.xx von Tomcat benötigt das Hilfstool Ant nicht mehr. Bei der Installation werden
die connectors automatisch installiert. Tomcat ist so vorkonfiguriert, daß es bereits einen ajp13 listener
auf port 8009 einrichtet, der mit dem jk2 modul von Apache 2.0.4x zusammenarbeiten kann. Da diese downloads
für die neuere Installation nicht mehr gebraucht werden, stehen sie auf der nächsten Seite, die die
ältere (mühselige) Installation beschreibt.
II Installation
Voraussetzung für Tomcat ist eine intakte JavaUmgebung (am besten gleich die aktuelle) und eine
richtig gesetzte Umgebungsvariabel JAVA_HOME, z.Bsp.
JAVA_HOME c:\j2sdk1.4.x
Das Herstellen der Verbinding zwischen Apache und Tomcat hat sich drastisch vereinfacht. Da die
connectors automatisch von Tomcat installiert werden, braucht man das Hilfstool Ant nicht mehr.
1) Tomcat 4.1.xx
Bei der Installation erkennt Tomcat die JavaUmgebung an Hand des Pfades von JAVA_HOME. Es ist
sinnvoll Apache und Tomcat unter einem Verzeichnis zu installieren und bei der Installation
entsprechende Eingaben zu machen. Mein Pfad zu Tomcat lautet c:\ApacheTomcat\Tomcat4. Also habe ich
TOMCAT_HOME wie folgt gesetzt.
TOMCAT_HOME c:\ApacheTomcat\Tomcat4
Ältere Versionen von Tomcat und Apache stören sich bei einer Verbindung an Blanks in Pfaden, deshalb
habe ich auch bei dieser Installation vorsichtshalber Pfade ohne Leerzeichen angegeben.
Die Eingabe der Adresse http://127.0.0.1:8080 in einen Browser sollte die Startseite von
Tomcat bringen, da Tomcat auf den Port 8080 vorkonfiguriert ist. Die dort über Links zu erreichenden
Servletbeispiele sollten dann laufen.
Verzeichnis für .class Dateien (Servlets)
%TOMCAT_HOME%\WEPAPPS\examples\WEB-INF\classes
Ort der Datei web.xml (Notwendig für evtl. Listenereinträge)
%TOMCAT_HOME%\WEPAPPS\examples\WEB-INF\web.xml
Verzeichnis der Startdatei index.jsp
%TOMCAT_HOME%\WEPAPPS\ROOT
2) Apache 2.0.4x
Zu (irgend) einem gewählten Verzeichnis installiert sich Apache immer in ein Unterverzeichnis
Apache2. Will man also etwa Apache im Verzeichnis c:\ApacheTomcat\Apache2 installieren, so darf man
als Verzeichnis bei der Installation nur c:\ApacheTomcat angeben. Des weiteren muß man bei der
Installation eine Serveradresse der Form xxx.yyy bzw. www.xxx.yyy eingeben. Für lokale Testinstallationen
ist es egal was man hier eingibt. Zudem kann man die Eingaben später in der Konfigurierungsdatei
httpd.conf immer ändern. Die fehlerfreie Installation beendet sich mit einem automatischen Start von
Apache. Rechts unten auf der Taskleiste sollte die Apachefeder mit einem kleinen grünen Dreieck
erscheinen. Über diesen Monitor kann man den Server ein- und ausschalten. Die Umgebungsvariable
APACHE_HOME sollte gesetzt werden. bei mir lautet sie
APACHE_HOME c:\ApacheTomcat\Apache2
Die Eingabe der Adresse http://127.0.0.1 in einen Browser sollte die Startseite von
Apache bringen (Defaultport 80).
Verzeichnis für .html Dateien
%APACHE_HOME%\htdocs
cgi-bin Verzeichnis
%APACHE_HOME%\cgi-bin
Pfad zur KonfigurierungsDatei httpd.conf
%APACHE_HOME%\conf
Verzeichnis der module
%APACHE_HOME%\modules
III Connecting Apache 2.0.4x and Tomcat 4.1.2x
### Start workers2.properties ### # Port für Servletweiterleitung [channel.socket:localhost:8009] info=Ajp13 forwarding over socket tomcatId=localhost:8009 # worker angeben [ajp13:localhost:8009] channel=channel.socket:localhost:8009 # Apache das Verzeichnis von Tomcat in webapps # bekanntgeben, wo die .class Dateien liegen [uri:/examples/*] info=Map the whole webapp worker=ajp13:localhost:8009 # wem der Name examples nicht gefällt, der kann hier auch auf ein # anderes Verzeichnis in webapps abbilden, es muß natürlich existieren # und die gleiche Struktur haben wie das Verzeichnis examples # etwa wie folgt #[uri:/exec/*] #info=Map the whole webapp #worker=ajp13:localhost:8009 [shm] file=${serverRoot}/logs/shm.file size=1048576 [status:status] # Uri mapping [uri:/jkstatus/*] worker=status:status ### End workers2.properties ###
Die Beschreibung der alten Installation folgt auf der nächsten Seite.