Apache Tomcat · 9 min read · Oct 23, 2025

Einfache Apache 2 Tomcat 5 mod_jk Integration

Einfache Apache 2 Tomcat 5 mod_jk Integration

Das gesamte Tutorial basiert auf vielen Tutorials, aber ich habe ein sehr einfaches erstellt, ohne virtuelle Hosts. DIES WURDE NUR AUF DEBIAN 3.1 GETESTET!!!! Es könnte auf anderen Distributionen nicht funktionieren…

Die Hauptquelle für Informationen finden Sie hier:

https://www.howtoforge.com/apache2_tomcat5_mod_jk

Installation von Apache2

Ich folgte diesem Link: https://www.howtoforge.com/perfect_setup_debian_sarge_p5

Führen Sie aus

apt-get install apache2 apache2-doc   
apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick

Bearbeiten Sie /etc/apache2/apache2.conf. Ändern Sie

| DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |

in

| DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |

Bearbeiten Sie /etc/mime.types und kommentieren Sie die folgenden Zeilen aus:

| #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 |

Bearbeiten Sie /etc/apache2/mods-enabled/php4.conf und kommentieren Sie die folgenden Zeilen aus:

| # AddType application/x-httpd-php .php .phtml .php3 # AddType application/x-httpd-php-source .phps |

Bearbeiten Sie /etc/apache2/ports.conf und fügen Sie Listen 443 hinzu:

| Listen 80 Listen 443 |

Jetzt müssen wir einige Apache-Module aktivieren (SSL, Rewrite und Suexec):

a2enmod ssl   
a2enmod rewrite   
a2enmod suexec   
a2enmod include

Starten Sie Apache neu:

/etc/init.d/apache2 restart

Ein neuer Benutzer www-data wird automatisch im System erstellt.

Installation von JDK (Java Development Kit)

Um Tomcat auszuführen, müssen Sie JDK installieren und die Umgebungsvariable JAVA_HOME festlegen, um den Speicherort der JDK-Umgebung auf Ihrem System zu identifizieren. Ich habe mich entschieden, JDK 5.0 zu verwenden.

  1. Sie können JDK 5.0 unter http://java.sun.com/j2se/1.5.0/download.jsp herunterladen.
  2. Klicken Sie auf Download JDK 5.0 Update 6, um zur Download-Seite zu gelangen.
  3. Klicken Sie auf Akzeptieren, um die Lizenzvereinbarung zu akzeptieren.
  4. Wählen Sie als Nächstes die selbstextrahierende Linux-Datei. Dies ist der Download für die selbstextrahierende Binärdatei und nicht für das rpm.
  5. Laden Sie in Ihr bevorzugtes Download-Verzeichnis herunter. Wechseln Sie in dieses Verzeichnis und machen Sie es ausführbar, indem Sie den folgenden Befehl ausführen:
chmod +x jdk-1_5_0_06-linux-i586.bin

Führen Sie jetzt die Datei aus:

./jdk-1_5_0_06-linux-i586.bin

Sie sollten jetzt ein neues Verzeichnis namens jdk1.5.0_06 haben. Verschieben Sie dieses Verzeichnis nun an den Ort, an dem es ausgeführt werden soll. Ich habe /usr/lib/ gewählt.

mv jdk1.5.0_06 /usr/lib

Erstellen Sie jetzt einen symbolischen Link namens jdk zu JAVA_HOME mit dem folgenden Befehl. Dies ermöglicht es Ihnen, einfach zwischen verschiedenen JVMs zu wechseln, falls Sie dies jemals benötigen.

cd /usr/lib   
ln -s jdk1.5.0_06 jdk

Jetzt müssen wir die Umgebungsvariable JAVA_HOME festlegen. Fügen Sie Folgendes am Ende von /etc/profile direkt nach export PATH hinzu.

| JAVA_HOME="/usr/lib/jdk" export JAVA_HOME |

/etc/profile wird beim Start und wenn sich ein Benutzer im System anmeldet, ausgeführt. Um die Umgebung zu aktualisieren, müssen Sie sich abmelden und erneut im System anmelden.

Überprüfen Sie, ob JAVA_HOME korrekt definiert ist, indem Sie den folgenden Befehl ausführen. Dies sollte den Speicherort des Java SDK melden, der /usr/lib/jdk sein sollte.

echo $JAVA_HOME

Installation von Tomcat

In diesem Abschnitt werden Sie Apache Tomcat 5.5.16 herunterladen und installieren. Für dieses spezielle Setup ist es nicht erforderlich, das Paket aus dem Quellcode zu erstellen, wir werden die Binärversion herunterladen.

  1. Laden Sie die Binärversion in Ihr bevorzugtes Download-Verzeichnis von hier herunter: http://tomcat.apache.org/download-55.cgi. Wählen Sie das tar.gz aus dem Kernbereich für 5.5.16.

  2. Wechseln Sie jetzt in dieses Verzeichnis und extrahieren Sie die Dateien mit dem folgenden Befehl:

cd /mydownloads #(stellen Sie sicher, dass Sie in Ihr Download-Verzeichnis wechseln)   
tar xvzf apache-tomcat-5.5.16.tar.gz

Sie sollten jetzt ein neues Verzeichnis namens apache-tomcat-5.5.16 haben. Verschieben Sie dieses Verzeichnis nun an den Ort, an dem es installiert werden soll. Wiederum habe ich /usr/lib/ gewählt. Beachten Sie, dass dieser Speicherort in der Tomcat-Dokumentation als CATALINA_HOME bezeichnet wird.

mv apache-tomcat-5.5.16 /usr/lib
  1. Wechseln Sie als Nächstes in das Verzeichnis /usr/lib/.
cd /usr/lib
  1. Erstellen Sie jetzt einen symbolischen Link namens apache-tomcat zu CATALINA_HOME mit dem folgenden Befehl.
ln -s apache-tomcat-5.5.16 apache-tomcat

Dies erspart Ihnen, bei jedem Upgrade von Tomcat Änderungen an Start- und Stoppskripten vornehmen zu müssen, und wenn Sie möchten, können Sie auch mehrere Versionen von Tomcat auf Ihrem System behalten und einfach zwischen ihnen wechseln.

Sie sollten jetzt in der Lage sein, Tomcat aus dem CATALINA_HOME/bin-Verzeichnis zu starten und zu stoppen. Wenn Sie eine andere Shell als die Bash-Shell verwenden, müssen Sie sh am Anfang des Befehls hinzufügen. Sie sollten jetzt testen können, ob Tomcat installiert ist, indem Sie es starten und Ihren Browser öffnen und http://localhost:8080 in Ihren Browser eingeben. Port 8080 ist der Standardport für Tomcat und kann leicht in der Datei /usr/lib/apache-tomcat/conf/server.xml geändert werden. (Wir werden später mit dieser Datei arbeiten.) Wenn Sie planen, auf diese Seite aus der Ferne zuzugreifen, stellen Sie sicher, dass Sie den entsprechenden Port an die IP-Adresse Ihres Servers in Ihrem Router weiterleiten. Sie sollten jetzt die Willkommensseite von Tomcat sehen, die Links zur Tomcat-Dokumentation sowie zu Beispiel-JSP/Servlet-Skripten enthält. Überprüfen Sie, ob Tomcat läuft, indem Sie einige der Beispiele auf der Willkommensseite ausführen.

cd /usr/lib/apache-tomcat/bin   
./startup.sh

Um den Server herunterzufahren, müssen Sie den folgenden Befehl ausführen. Fühlen Sie sich frei, es auszuprobieren, aber vorerst lassen wir Tomcat laufen.

./shutdown.sh

Installation und Konfiguration von mod_jk

Um die Verbindung zwischen Tomcat und Apache herzustellen, müssen wir den mod_jk-Connector herunterladen und installieren. Sie werden feststellen, dass die Apache-Dokumentation empfiehlt, die paketierte Version von mod_jk zu installieren, wenn sie für Ihre spezielle Linux-Distribution verfügbar ist. Viele veraltete Ressourcen empfehlen die Installation des mod_jk2-Connectors, aber ich habe festgestellt, dass er veraltet ist und obwohl mod_jk vor mod_jk2 entwickelt wurde, wird er immer noch vollständig unterstützt und ist sehr stabil.

Mike Millson gab einige gute Gründe an, warum man mod_jk für die Verbindung von Tomcat zu Apache für Red Hat verwenden sollte: Integrating Tomcat and Apache on Red Hat Linux.

  1. Ich habe mich entschieden, den aktuellen Quellcode aus den Apache-Archiven herunterzuladen: http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/. Laden Sie die Datei jakarta-tomcat-connectors-1.2.15-src.tar.gz in Ihr /usr/src/-Verzeichnis herunter.

  2. Wechseln Sie in das Verzeichnis /usr/src.

cd /usr/src
  1. Extrahieren Sie als Nächstes den Inhalt, um das Verzeichnis /usr/src/jakarta-tomcat-connectors-1.2.15-src zu erstellen.
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
  1. Wechseln Sie in das Verzeichnis /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
  1. Jetzt sind Sie bereit, die benutzerdefinierte Konfigurationsdatei für Ihr System zu erstellen. Führen Sie Folgendes aus:
./buildconf.sh

Dies erstellt eine Konfigurationsdatei im Verzeichnis /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native.

  1. Führen Sie den folgenden Befehl aus, um mod_jk für Ihr System zu konfigurieren.
    Wichtiger Hinweis: Sie müssen apxs2 (APache eXtension tool) installiert und mit Apache konfiguriert haben. Wenn Sie es nicht haben, wie in meinem Fall, können Sie das Paket apache2-threaded-dev (das das frühere Paket apache-dev ersetzt hat) von www.debian.org herunterladen und installieren. Zum Zeitpunkt des Schreibens war das Debian-Paketarchiv unter www.debian.org nicht verfügbar, und sie verwiesen mich auf ihre temporäre Website, bis sie ihre Probleme gelöst hatten pdo.debian.net. Ich fand das Paket apache2-threaded-dev und konnte es erfolgreich installieren.
    Stellen Sie sicher, dass Sie den richtigen Speicherort von apxs2 auf Ihrem System im Pfad des Befehls angeben.
./configure --with-apxs=/usr/bin/apxs2
  1. Jetzt bauen Sie mod_jk mit folgendem:
make
  1. Schließlich, wenn Sie mit den vorherigen Befehlen erfolgreich waren, kopieren Sie die neu erstellte mod_jk.so in Ihr Apache2-Module-Verzeichnis. Meine Module befanden sich unter /usr/lib/apache2/modules.
cd apache-2.0   
cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modules

Sie sind jetzt bereit, zur nächsten Phase überzugehen, die darin besteht, Apache und Tomcat zu konfigurieren. Weitere Informationen zum mod_jk-Connector finden Sie unter http://tomcat.apache.org/connectors-doc/howto/apache.html.

Konfiguration von Tomcat und Apache

Erstellen Sie die Datei workers.properties.
Wichtiger Hinweis: Stellen Sie sicher, dass Sie eine Sicherungskopie Ihrer Konfigurationsdateien erstellen, bevor Sie Änderungen vornehmen.
Die Datei workers.properties enthält die Details darüber, wie jeder Prozess mit Tomcat verbunden ist, indem sie Worker definiert, die über das ajpv13-Protokoll kommunizieren. Weitere Details finden Sie im Workers HowTo.

  1. Erstellen Sie zunächst die Datei workers.properties in Ihrem Apache2-Stammverzeichnis.
touch /etc/apache2/workers.properties
  1. Öffnen Sie als Nächstes die Datei workers.properties und fügen Sie Folgendes hinzu. Sie finden viele andere Beispiele für die Datei workers.properties im Internet, aber dies ist das, was ich erstellt habe, und es scheint gut mit den anderen Teilen zu funktionieren, die bereits in diesem Tutorial konfiguriert wurden.

| workers.tomcat_home=/usr/lib/apache-tomcat workers.java_home=/usr/lib/jdk ps=/ worker.list=worker1 worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 |

  1. Speichern und schließen Sie die Datei.

  2. Jetzt müssen wir die Datei /etc/apache2/apache2.conf öffnen und die folgenden Zeilen am Ende hinzufügen. (httpd.conf ist nur für die Abwärtskompatibilität):

| LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so # Wo die workers.properties gefunden werden JkWorkersFile /etc/apache2/workers.properties # Wo die jk-Protokolle gespeichert werden JkLogFile /var/log/apache2/mod_jk.log # Setzen Sie das jk-Protokollniveau [debug/error/info] JkLogLevel info # Wählen Sie das Protokollformat JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions geben an, dass die SSL-KEY SIZE gesendet werden soll, JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormat legt das Anforderungsformat fest JkRequestLogFormat "%w %V %T" # Senden Sie das Servlet für den Kontext / jsp-examples an den Worker mit dem Namen worker1 JkMount /jsp-examples worker1 # Senden Sie JSPs für den Kontext /jsp-examples/* an den Worker mit dem Namen worker1 JkMount /jsp-examples/* worker1 |

Speichern und schließen Sie die Datei.

Jetzt ein letzter Sicherheitspunkt.

Wir werden eine Gruppe und einen Benutzer tomcat tomcat wie folgt erstellen:

groupadd tomcat   
useradd -g tomcat tomcat

Ändern Sie dann den Benutzer und die Gruppe des Tomcat-Pfads:

chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16

Um das Passwort des Benutzers tomcat zu ändern, geben Sie als root ein:

passwd tomcat

und folgen Sie den Anweisungen.

Um den Tomcat-Server zu starten und zu stoppen, sollten Sie den Benutzer tomcat verwenden.

su - tomcat

Jetzt stoppen und starten Sie Tomcat:

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

Und starten Sie Apache neu:

/etc/init.d/apache2 restart

Sie sind fertig.

Testen:

In diesem Test leiten wir alle URLs, die mit “ /jsp-examples “ beginnen, an Tomcat weiter.
In einer realen Situation könnten wir nur JSPs oder Servlets an den JK-Worker weiterleiten.

Stellen Sie sicher, dass kein anderer Server auf den Standard-Tomcat-Ports 8005, 8009 und 8080 läuft.
Stellen Sie sicher, dass kein anderer Server auf dem Apache-Port läuft, der normalerweise 8080 oder 80 ist.

Starten Sie zuerst Tomcat: Starten Sie immer zuerst Tomcat und dann Apache.
Wenn Sie Tomcat neu starten müssen, denken Sie daran, zuerst Apache herunterzufahren und es nach dem Neustart von Tomcat neu zu starten.
Starten Sie Apache: Richten Sie Ihren Browser auf http://localhost und überprüfen Sie, ob Sie die Standard-Apache-Seite erhalten. Ersetzen Sie “localhost” durch den tatsächlichen Maschinenname/IP, falls erforderlich.

Richten Sie Ihren Browser auf http://localhost:8080 und überprüfen Sie, ob Sie die Standard-Tomcat-Seite erhalten.

Richten Sie Ihren Browser auf http://localhost/jsp-examples/ und überprüfen Sie, ob Sie die Indexseite für die Tomcat-Beispiele erhalten.

Dies wird von Apache bereitgestellt und zeigt an, dass Sie die Integration von Apache und Tomcat erfolgreich abgeschlossen haben.

Referenzen und Pfade:

Tomcat conf:

/usr/lib/apache-tomcat/conf/server.xml

Tomcat stoppen und starten:

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

Apache-Module:

/usr/lib/apache2/modules

Apache conf:

/etc/apache2/workers.properties   
/etc/apache2/apache2.conf   
/etc/apache2/httpd.conf

Apache2:

/etc/init.d/apache2 restart   
/etc/init.d/apache2 stop   
/etc/init.d/apache2 start

Für diejenigen, die Hilfe mit diesem Tutorial benötigen, posten Sie bitte Ihre Fragen hier:

https://www.howtoforge.com/forums/showthread.php?t=3595

Oder wenn Sie Fehler im Tutorial finden, lassen Sie es mich bitte im Forum wissen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.