GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Apache mit Tomcat, eine Schritt-für-Schritt-Anleitung zur Installation und Konfiguration

In diesem Artikel zeigen wir Ihnen, wie Sie Tomcat 10 auf Ubuntu installieren und konfigurieren und wie wir es mit Apache HTTP Server mithilfe des mod_jk-Konnektors integrieren können.

Apache Tomcat ist ein Open-Source-Webserver und Servlet-Container, der zum Bereitstellen und Bereitstellen von Java-Webanwendungen verwendet wird. Die meisten modernen Java-Webframeworks basieren auf Servlets, z. B. JavaServer Faces, Struts, Spring usw.

Apache Tomcat stellt außerdem standardmäßig einen HTTP-Connector auf Port 8080 bereit, d. h. Tomcat kann auch als HTTP-Server verwendet werden. Aber die Leistung von Tomcat ist nicht so gut wie die Leistung eines designierten Webservers wie dem Apache HTTP-Server.

In den meisten Produktionsumgebungen wird Tomcat in Verbindung mit Apache HTTP Server verwendet. Apache HTTP Server verarbeitet statische Inhalte wie HTML, Bilder usw. und leitet die Anforderungen für dynamische Inhalte an Tomcat weiter.

Diese Installations- und Konfigurationsanleitung gilt zu Apache mit Tomcat 10 auf Ubuntu.

1. Installieren Sie Java

Aktualisieren Sie zuerst wie immer Ihre Pakete:

sudo apt update

Sie müssen Java auf Ihrem System installiert haben, um den Tomcat-Server auszuführen. Für Tomcat 10 muss Java SE 8 oder eine höhere Version auf Ihrem System installiert sein. Führen Sie den folgenden Befehl aus und installieren Sie das OpenJDK 11 JDK-Paket:

sudo apt install openjdk-11-jdk

Prüfen Sie die aktuell aktive Java-Version:

java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

2. Tomcat-Systembenutzer erstellen

Ausführen eines Tomcat-Servers unter dem Root Benutzer ist ein Sicherheitsrisiko. Daher empfehlen wir, für den Betrieb des Tomcat-Servers ein separates Benutzerkonto anzulegen.

Der folgende Befehl erstellt einen Benutzer und eine Gruppe mit dem Namen tomcat auf Ihrem System:

sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat

3. Installieren und konfigurieren Sie Apache Tomcat 10

Tomcat ist ein plattformunabhängiges Tool, und solange Java installiert ist, ist die Installation ein unkomplizierter Vorgang. Zuerst müssen Sie die gewünschte Version von der offiziellen Website herunterladen und dann auf Ihrem Dateisystem entpacken.

Laden Sie jetzt die neueste Binärversion von Tomcat von der offiziellen Tomcat-Downloadseite herunter.

wget https://apache.mirrors.nublue.co.uk/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz

Extrahieren Sie nach Abschluss des Downloads die TAR-Datei in das Verzeichnis /opt/tomcat Verzeichnis:

sudo tar xzvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

Legen Sie als Nächstes die richtigen Dateiberechtigungen fest:

sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin

Sie sollten einen Benutzer für den Web Application Manager im Tomcat-Server erstellen. Zur Verwendung des Apache Tomcat Web Application Managers muss ein neues Benutzerkonto eingerichtet werden.

Bearbeiten Sie dazu die tomcat-users.xml Datei in Ihrem Editor:

sudo vim /opt/tomcat/conf/tomcat-users.xml

Fügen Sie den folgenden Code in <tomcat-users> ein </tomcat-users> Stichworte. Stellen Sie sicher, dass Sie PASSWORD ändern für Administrator- und Managerzugriff.

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />

Tomcat bietet eine webbasierte Verwaltungskonsole. Der Standard-Tomcat-Server erlaubt keinen Fernzugriff für die Manager- und Host-Manager-Anwendungen. Sie können jedoch nur von localhost darauf zugreifen.

Befolgen Sie die nachstehenden Anweisungen, um Remote-Verbindungen zu aktivieren.

Erstellen Sie eine Datei conf/Catalina/localhost/manager.xml :

sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml

Fügen Sie den folgenden Inhalt hinzu:

<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

Sie müssen auch eine XML-Datei für die Host-Manager-Webanwendung erstellen, um den Zugriff für Remote-Hosts zu ermöglichen.

sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml

Fügen Sie den folgenden Inhalt hinzu:

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

4. Erstellen Sie einen Tomcat Systemd-Dienst

Wir müssen ein Startskript erstellen, um Tomcat als Systemdienst zu verwalten. Lassen Sie uns einen tomcat.service erstellen Datei.

sudo vim /etc/systemd/system/tomcat.service

Fügen Sie Folgendes in die Datei ein:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Laden Sie den systemd-Daemon neu, um die Änderungen zu übernehmen:

sudo systemctl daemon-reload

Stellen Sie Tomcat so ein, dass es beim Booten automatisch startet:

sudo systemctl enable tomcat

5. Installieren Sie den Apache HTTP-Server

Apache ist in den Standard-Software-Repositories von Ubuntu verfügbar. Um es zu installieren, geben Sie den folgenden Befehl ein:

sudo apt install apache2

6. Konfigurieren Sie Tomcat für die Zusammenarbeit mit Apache

Um die Apache Tomcat-Serverprozesse mit dem Apache HTTP-Server zu integrieren, benötigen wir das mod_jk-Modul , das die Schnittstelle zwischen Tomcat und Apache implementiert, kombiniert mit einigen kleinen Schritten, um Apache und Tomcat für unsere Bedürfnisse zu konfigurieren.

6.1 Installieren Sie das mod_jk-Modul

Installation und Konfiguration von mod_jk ist der Schlüssel zur Zusammenarbeit von Webserver und Anwendungsserver. Also installieren wir es:

sudo apt install libapache2-mod-jk

6.2 Konfigurieren von mod_jk mit Apache und Tomcat.

Sie müssen den AJP Connector in Tomcat aktivieren, damit der Apache-Server Anfragen an Tomcat umleiten kann. Dazu haben Sie Tomcats server.xml bearbeitet Datei.

sudo vim /opt/tomcat/conf/server.xml

Stellen Sie sicher, dass der AJP Connector unten aktiv und nicht auskommentiert ist.

<Connector protocol="AJP/1.3" port="8009" secretRequired="false" redirectPort="8443" />

Wir müssen den Apache HTTP Server konfigurieren, um das JK-Modul zu laden und zu initialisieren.

Wir müssen die /etc/apache2/workers.properties erstellen Datei. Diese Datei definiert eine Liste von Tomcat-Workern, an die Apache Anfragen weiterleiten kann.

sudo vim /etc/apache2/workers.properties

und fügen Sie Folgendes in die Datei ein:

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

Verweisen Sie als Nächstes auf diese Datei in der primären Apache-Konfigurationsdatei apache2.conf :

sudo vim /etc/apache2/apache2.conf

Wir fügen diese Zeilen am Ende hinzu:

JkWorkersFile /etc/apache2/workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "

6.3 Konfigurieren Sie, welche URLs mit Apache verwaltet werden sollen

An dieser Stelle müssen Sie Apache so konfigurieren, dass es ihm mitteilt, welche URLs verarbeitet und an Tomcat übergeben werden sollen und welche URLs Apache selbst verarbeiten soll.

sudo vim /etc/apache2/sites-enabled/000-default.conf

Fügen Sie die folgende Zeile unter DocumentRoot hinzu Eintrag. Dadurch ist es möglich, JRS über den Apache-Webserver anzufordern.

JkMount /examples worker1
JkMount /examples/* worker1

7. So überprüfen Sie, ob es funktioniert

Starten Sie die Apache- und Tomcat-Dienste neu:

sudo systemctl restart apache2
sudo systemctl restart tomcat

Sobald Sie den Server gestartet haben, öffnen Sie Ihren Internetbrowser und navigieren Sie zur URL http://server_ip_address:8080 . Tomcat wurde korrekt installiert, wenn Sie eine ähnliche Seite wie im Bild unten sehen.

Eine einfache Möglichkeit zu überprüfen, ob die Integration zwischen Apache HTTP Server und Tomcat funktioniert, besteht darin, eine der Beispieldateien anzufordern, die Tomcat bereitstellen soll.

Richten Sie Ihren Browser auf http://server_ip_address/examples/ und führen Sie einige der Beispielanwendungen aus.

Herzliche Glückwünsche! Sie haben Tomcat erfolgreich in Apache HTTP Server integriert.


Linux
  1. So konfigurieren Sie einen Apache-Webserver

  2. WordPress Installation auf Ubuntu Linux mit Apache und MySQL

  3. Kali Linux auf VirtualBox:Eine Schritt-für-Schritt-Installationsanleitung

  4. Schritt-für-Schritt-Installationsanleitung für VMware ESXi mit Screenshots

  5. Anfängerleitfaden für Samba (Installation und Konfiguration)

Installation und Konfiguration von Univention Corporate Server

Apache Cassandra:Funktionen und Installation

So installieren und konfigurieren Sie ModEvasive mit Apache unter Ubuntu 18.04

Installation und erste Schritte mit Git

LILO Linux Bootloader Konfiguration und Anleitung

Anfängerleitfaden für Apache HTTP Server – Installation und Konfiguration