HowTo: Tomcat 7 Installation via mod_jk und Apache vHosts unter Debian
Da der Apache Webserver wesentlich leistungsfähiger und flexibler als der integrierte Webserver des Tomcat ist, ist es sinnvoll diesen auch einzusetzen. Zusätzlich können wir auf die Apache Module zurückgreifen und das vHost Management verwenden. Die Lösung wird via dem Apache Modul mod_jk realisiert, welches sämtliche Webserveranforderungen über das AJP Protokoll an den Tomcat weiterleitet.
Vorbereitung
*) Apache Tomcat 7 Installation wie in diesem HowTo beschrieben
*) Apache Webserver Installation (mod_jk kann auch in bestehende Installationen integriert werden)
aptitude install apache2
Installation und Konfiguration des mod_jk Apache Moduls
Das mod_jk Apache Modul kann bequem über das Debian Repository installiert werden:
aptitude install libapache2-mod-jk
Debian installiert dabei bereits die entsprechende Beispielkonfiguration mit, welche wir für unsere Zwecke editieren. Wenn die Tomcat Installation noch bei der Standardinstallation belassen wurde, müssen nur die ersten beiden Werte angepasst werden.
vi /etc/libapache2-mod-jk/workers.properties
workers.tomcat_home=/usr/local/tomcat workers.java_home=/usr/lib/jvm/java-6-sun ps=/ worker.list=ajp13_worker worker.ajp13_worker.port=8009 worker.ajp13_worker.host=localhost worker.ajp13_worker.type=ajp13 worker.ajp13_worker.lbfactor=1
In folgendem Schritt erstellen wir die Apache Modul Konfigurationsdatei für mod_jk mit folgenden Werten:
vi /etc/apache2/conf.d/mod-jk.conf
JkWorkersFile /etc/libapache2-mod-jk/workers.properties JkLogFile /var/log/apache2/mod_jk.log JkLogLevel error JkShmFile /var/log/apache2/jk-runtime-status
Apache vHost (Virtual Host) erstellen
Da nun die Grundkonfiguration des mod_jk abgeschlossen ist, legen wir nun einen vHost für eine Testdomain auf unseren Apache Webserver an (zB:. vhost.domain.com) und laden via JkMount den ajp13_worker nach /:
vi /etc/apache2/sites-available/vhost.domain.com
<Virtualhost vhost.domain.com>
JkMount /* ajp13_worker
ServerName vhost.domain.com
DocumentRoot /usr/local/tomcat/webapps
ErrorLog /usr/local/tomcat/logs/error.log
CustomLog /usr/local/tomcat/logs/access.log common
<Directory /usr/local/tomcat/webapps>
Options -Indexes
</Directory>
</Virtualhost>
Nun aktivieren wir den neuen vHost und starten den Apache Webserver neu:
a2ensite vhost.domain.com /etc/init.d/apache2 restart
Tomcat vHost (Virtual Host) konfigurieren
Da nun der Apache Webserver soweit konfiguriert ist um mit dem Tomcat über den AJP Connector zu kommunizieren, müssen wir die vHosts für den Tomcat noch entsprechend einrichten. In folgendem Beispiel wird die Domain vhost.domain.com auf das Beispiel Verzeichnis des Tomcats konfiguriert (/usr/local/tomcat/webapps/examples).
vi /usr/local/tomcat/conf/server.xml
<Host name="vhost.domain.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path=""
docBase="/usr/local/tomcat/webapps/examples"
debug="0" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
Damit die Konfiguration aktiv wird starten wir den Tomcat neu:
/etc/init.d/tomcat stop /etc/init.d/tomcat start
Testen der Apache mod_jk Tomcat Integration
Nun kann im via Browser auf den entsprechenden Hostnamen zugegriffen werden wo unsere Beispiele angezeigt werden sollte:
HowTo: Tomcat 7 Installation via mod_jk und Apache vHosts unter Debian,loading...
9 Kommentare zum Thema HowTo: Tomcat 7 Installation via mod_jk und Apache vHosts unter Debian
Leave a Reply
Letzte Beiträge
- QuickTipp: klassischen GNOME Desktop (classic GNOME) unter Ubuntu installieren
- Debian-Ubuntu apt-get: The Following Packages Were Automatically Installed And Are No Longer Required
- Debian 7.0 Wheezy veröffentlicht – Das sind die Neuerungen
- Apache Webserver Directory Listing (Verzeichnisauflistung) deaktivieren / aktivieren
- HowTo: Ubuntu 13.04 (Raring Ringtail) Installation und Upgrade von 12.10 – Desktop + Screenshots




Vielen Dank für die Anleitung. Ich werde mal versuchen, die Eins zu Eins umzusetzen. Ich bin mal gespannt, ob es bei mir klappt.
Funktioniert zwar wie beschrieben, allerdings wurden bei mir alle Domains auf den Tomcat umgeleitet, auch solche die eigentlich auf PHP-Anwendungen verweisen, die vom Apache ausgeliefert werden müssen. Wie kommt das? Ich hab wie beschrieben einen Virtualhost nur für eine einzelne Domain angelegt. Alle anderen haben normale Einträge in sites-available.
Hi Jack,
Wie sind denn die anderen VirtualHost ….. Direktiven eingetragen? Also der Wert von ….. Eventuell liegt hier der Fehler begraben?
Gruß Patrick
Vielen Dank für die Anleitung. Funktioniert zwar wie beschrieben allerdings nur local d.h. wenn ich die Adresse von einem anderem Rechner aufrufe mit der IP am Anfang z.b. 192.168.1.100/vhost.domain.com bekomme ich nur eine 404 Fehlermeldung.
Hi Tomek,
wie lautet denn die Fehlermeldung?
Ist die Domain auch sauber im Apache konfiguriert und stimmt die Zuordnung in den VirtualHosts Direktiven?
Gruß
Patrick
HTTP Status 404 – /vhost.domain.com
type Status report
message /vhost.domain.com
description The requested resource (/vhost.domain.com) is not available.
Apache Tomcat/7.0.28
Was meinst Du mit “Ist die Domain auch sauber im Apache konfiguriert”? Habe eigentlich nicht mehr aber auch nicht weniger gemacht als in deiner Anleitung stand
Hi,
Hast du als Hostnamen im Apache wirklich vhost.domain.com genommen oder das nur als Test hier reingeschrieben?
Gruß
Patrick
genommen habe ich tomcat-examples.mydomain.de und vhost.domain.com verwende ich hier um es ohne umzudenken mit den Beispielen von oben vergleichen zu können
kannst du mal die Logdateien Überprüfen? /var/log/apache2/mod_jk.log und /usr/local/tomcat/logs/error.log