Ich habe schon lange keinen technischen Beitrag mehr geschrieben und diesmal, wollte ich mich mit den Webservern beschäftigen. Diesmal mal ein Artikel aus der Windowswelt. Die am meisten verbreiteten Webserver sind der Apache und der Internet Information Server. Ich beschreibe hier nicht was ein Tomcat oder IIS Webserver ist. Warum aber setzt man zwei Webserver ein?
Der Tomcat war nie dafür gedacht als eigenständiger Server im Internet zu agieren. Dafür ist er nicht leistungsfähig genug. Um ein Beispiel zu nennen, sollte man die SSL Unterstützung in dem IIS oder Apache Webserver einrichten und nicht unter dem Tomcat.
In dem folgendem Beitrag beschreibe ich die Installation und Konfiguration von Apache Tomcat und Einbindung in den Microsoft IIS 7 Webserver. Alles was ich hier beschrieben habe, wurde von mir in einer von mir erstellten Vmware Maschine auf dem ESXi Server getestet. Das Betriebssystem ist ein Microsoft Windows Server 2008 Standard Edition SP 1.
Für die Installation von Tomcat wir ein installiertes Java vorausgesetzt.
Ich habe von der Oracle Seite ein aktuelles Java runtergeladen.
http://java.sun.com/products/archive/
Ich lade das aktuelle Java 6 runter
In dem Fall lade ich das JRE runter. In den alten Tomcat Versionen (Jakarta Tomcat 4.) musste noch das Development Kit für die Tomcat Installtion eingesetzt werden. Das ist jetzt nicht mehr nötig.
Ich wähle die bei mir eingesetzte Platform aus. In dem Fall ein 32 Bit Windows System. Bei 64 bit, bitte darauf achten die richtige Version zu laden. Nachdem ich die Lizenz Bestimmungen gelesen und bestätigt habe wähle ich die Offline Version aus.
Ich speichere die Datei in meinem Downloadverzeichnis ab.
Nach dem Download führe ich die Datei aus und installiere das JRE.
Nach dem bestätigen der Lizenzvereinbarung wird Java auf dem Server installiert.
Zum Abschluss der Installation gibt es für den Benutzer noch ein Erfolgserlebnis.
Mit dem „java -version“ Befehl kann ich überprüfen, welche java Version auf der Maschine installiert ist.
Als nächstes lade ich den Tomcat von der Apache Software Foundation Seite runter. Ich lade den Windows Installer runter, welcher sowohl für 32 bit und 64 bit Systeme geeignet ist.
Ich starte die Installationsroutine
und werde freundlich begrüßt
Ich bestätige die Lizenzvereinbarung.
Bei der Installationsart wähle ich Full aus, damit alle Komponenten mitinstalliert werden können. Ganz wichtig ist die Option Service, damit Tomcat automatisch als Dienst gestartet werden kann. Außerdem realisiere ich in meinem Artikel alles anhand der Tomcat Beispielanwendungen.
Den Pfad belasse ich beim Standard, welcher natürlich auch nach belieben geändert werden kann.
Der Benutzername und Password wird für die Manager Anwendung benötigt. Die Daten können jederzeit in der „..\Apache Software Foundation\Tomcat 5.0\conf\ tomcat-users.xml “ geändert werden. Der Benutzername und das Passwort stehen dort im Klartext.
Wenn die Java Installation erfolgreich durchgeführt wurde, muss hier automatisch der Pfad zum installiertem JRE stehen.
Nach der Installation kann man sofort den Tomcat starten.
Worauf Sofort der Dienst gestartet wird.
In der Taskleiste sehe ich den Tomcat Monitor, wo ich bequem den Dienst starten, beenden und Konfigurationseinstellungen vornehmen kann.
Aus dem Programmmenü des Servers kann ich die Willkommen Seite aufrufen oder ich gebe in den Browser http://localhost:8080/ ein. Bevor ich irgendwelche Einstellungen vornehme sollte ich sicherstellen, dass der Aufruf der Startseite funktioniert. So weiß ich, dass bis jetzt alles richtig ist.
Jetzt fängt die Integration von Tomcat in den Internet Information Server 7 an.
Dazu brauche ich den Tomcat Connector, welchen ich von der Tomcat Seite laden kann.
http://tomcat.apache.org/
An dieser Stelle ist es ganz wichtig zu wissen für welche Plattform man es einsetzen möchte. In meinem Beispiel ist das ein Windows 2008 Server 32 bit System.
Der Tomcat Connector, welchen ich hier brauche ist die „isapi_redirect-1.2.30.dll“ Die Programmbibliothek wird für die Verbindung zwischen dem IIS Webserver benötigt.
Ich erstelle in dem Tomcat Installationspfad ein Verzeichnis, wo ich meine Konfiguration an einer zentralen Stelle ablege.
Aus meinem Download Verzeichnis kopiere ich die Programmbibliothek rein und benenne die gleich in „ isapi_redirect.dll“ um. Auf diese Weise brauche ich bei Updates des Connectors nur die Datei austauschen und muss meine Konfiguration nicht anpassen. Somit eine Fehlerquelle weniger.
Um Einträge in der Registry nicht schreiben zu müssen, wähle ich den zweiten Lösungsansatz mit einer separaten Konfigurationsdatei. Ich erstelle eine Textdatei, welche genauso heißen muss, wie die Programmbibliothek nur mit der Endung „ .properties“
Hier der Inhalt der „isapi_redirect.properties“ :
# Configuration file for the Jakarta ISAPI Redirector
# The path to the ISAPI Redirector Extension, relative to the website
# This must be in a virtual directory with execute privileges
extension_uri=/jakarta/isapi_redirect.dll
# Full path to the log file for the ISAPI Redirector
log_file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\isapi.log
# Log level (debug, info, warn, error or trace)
log_level=info
# Full path to the workers.properties file
worker_file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\connector\workers.properties
# Full path to the uriworkermap.properties file
worker_mount_file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\connector\uriworkermap.properties
Als nächstes erstelle ich eine Textdatei mit dem Namen „workers.properties“ mit dem folgendem Inhalt:
worker.list=worker01,jkstatus
worker.worker01.host=localhost
worker.worker01.port=8009
worker.worker01.type=ajp13
worker.jkstatus.type=status
Zum Schluss brauche ich noch eine Datei in welcher meine Tomcat Anwendungen gelistet sind.
Hier der Inhalt der „uriworkermap.properties“ Datei:
Die Anwendung „manager“ und „jkmanager“, wird an den localhost gebunden und nur am Server über RemoteDesktop ausgeführt.
/examples/*=worker01
/examples=worker01
*.jsp=worker01
/localhost/manager/*=worker01
/localhost/manager/=worker01
/localhost/jkmanager/*=jkstatus
/localhost/jkmanager=jkstatus
Jetzt komme ich zu der Konfiguration im Microsoft Internet Information Server.
Als nächstes angemeldet als Administrator, installiere ich den IIS 7. Bei dem Windows Server 2008 wird eine Rolle hinzugefügt und nicht wie bei den vorherigen Versionen in der Softwareverwaltung, wo die Windows Komponenten beim Anwendungsserver hinzugefügt werden. In dem Servermanager füge ich eine neue Rolle hinzu und folge dem Dialog.
Ich wähle dann aus dem Menü den Webserver (IIS) aus.
Es werden die benötigten Abhängigkeiten ermittelt und installiert.
Danach kommt eine Einführung zu dem IIS.
Jetzt muss ich die „ISAPI-Erweiterungen“ und „ISAP-Filter“, welche für die Verbindung mit dem Tomcat gebraucht werden dazu wählen.
Nach der Bestätigung der Installationsauswahl werden alle Komponenten installiert.
Zusätzlich zu der Erfolgsmeldung gebe ich die URL http://localhost in den Browser ein, um festzustellen dass alles funktioniert. Ich werde von dem IIS in mehreren Sprachen freundlich begrüßt.
Nach der Installation sollte man den Servermanager schließen und neu öffnen. Anschließend sieht man bei den Rollen den Webserver. Mit der rechten Maustaste füge ich eine Anwendung mit dem Namen „ jakarta“ hinzu. Es ist ein virtuelles Verzeichnis, welches genauso heißen muss wie der Eintrag in der „isapi_redirect.properties“ . Der Name ist frei wählbar muss nur mit dem “extension_uri” Eintrag übereinstimmen.
# The path to the ISAPI Redirector Extension, relative to the website
# This must be in a virtual directory with execute privileges
extension_uri=/ jakarta/isapi_redirect.dll
Bei der ISAPI Filterkonfiguration muss ich dem IIS mitteilen, wo sich die Programmbibliothek befindet.
Der Filtername ist frei wählbar. In meinem Beispiel habe ich den Namen “Tomcat Redirector” vergeben.
Im IIS 7 werden Anforderungen an Sites und Anwendungen von Handlern verarbeitet. Ich füge eine Modulzuordnung hinzu.
Zum Schluss der Konfiguration sollte man die Dienste durchstarten, damit die Einstellung wirksam werden können.
Zum Schluss teste ich noch die ganze Konfiguration. Den Test zeige ich anhand der Tomcat Examples Anwendung. Ich gebe in den Browser http://w8kvm:8080/examples ein und die Beispielanwendungen wird angezeigt.
Das gleiche mache ich ohne die Portangabe. http://w8kvm/examples. Zur Zeit werden beide Ports angesprochen, was aber im Livebetrieb nicht erwünscht ist. Zumindest weiss ich dass die IIS 7 Einbindung funktioniert hat.
Jetzt muss ich nur noch in der „ server.xml“ den Port 8080 auskommentieren, damit der Zugriff nur über den Port 80 stattfindet.
Nach dieser Änderung starte ich den Dienst neu und teste den Zugriff nochmal.
Den Status des Tomcat Connectors kann ich mir mit http://localhost/jkmanager anzeigen lassen.
Der Tomcat Manager kann mit http://localhost/manager/html aufgerufen werden.
Quellen:
http://tomcat.apache.org/connectors-doc/
http://tomcat.apache.org/connectors-doc/reference/iis.html
http://java.sun.com/products/archive/
Tags: Apache Tomcat, IIS, Microsoft Internet Information Server, Tomcat Connector, Windows Server 2008




















































1418 comments so far