So installieren Sie Apache Tomcat 8 unter Ubuntu 16.04

Einführung

Apache Tomcat ist ein Webserver und Servlet-Container, mit dem Java-Anwendungen bereitgestellt werden. Tomcat ist eine Open-Source-Implementierung der von der Apache Software Foundation veröffentlichten Technologien Java Servlet und JavaServer Pages. Dieses Tutorial behandelt die Grundinstallation und einige Konfigurationen der neuesten Version von Tomcat 8 auf Ihrem Ubuntu 16.04-Server.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, sollten Sie einen Nicht-Root-Benutzer mitsudo-Berechtigungen auf Ihrem Server eingerichtet haben. Sie können lernen, wie das geht, indem Sie unsereUbuntu 16.04 initial server setup guide ausfüllen.

Schritt 1: Installieren Sie Java

Tomcat setzt voraus, dass Java auf dem Server installiert ist, damit jeder Java-Webanwendungscode ausgeführt werden kann. Wir können diese Anforderung erfüllen, indem wir OpenJDK mit apt-get installieren.

Aktualisieren Sie zunächst Ihren apt-get-Paketindex:

sudo apt-get update

Dann installieren Sie das Java Development Kit-Paket mit apt-get:

sudo apt-get install default-jdk

Nachdem Java installiert ist, können wir einentomcat-Benutzer erstellen, der zum Ausführen des Tomcat-Dienstes verwendet wird.

Schritt 2: Tomcat-Benutzer erstellen

Aus Sicherheitsgründen sollte Tomcat als nicht privilegierter Benutzer ausgeführt werden (d. H. nicht root). Wir werden einen neuen Benutzer und eine neue Gruppe erstellen, die den Tomcat-Dienst ausführen.

Erstellen Sie zunächst eine neuetomcat-Gruppe:

sudo groupadd tomcat

Erstellen Sie als Nächstes einen neuentomcat-Benutzer. Wir machen diesen Benutzer zu einem Mitglied der Gruppetomcat, mit einem Ausgangsverzeichnis von/opt/tomcat (wo wir Tomcat installieren) und einer Shell von/bin/false (damit sich niemand anmelden kann auf das Konto):

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Nachdem der Benutzer vontomcateingerichtet ist, laden wir Tomcat herunter und installieren es.

Schritt 3: Installieren Sie Tomcat

Die beste Möglichkeit, Tomcat 8 zu installieren, besteht darin, die neueste Binärversion herunterzuladen und sie dann manuell zu konfigurieren.

Die neueste Version von Tomcat 8 finden Sie unterTomcat 8 Downloads page. Zum Zeitpunkt des Schreibens ist die neueste Version8.5.5, Sie sollten jedoch eine spätere stabile Version verwenden, wenn diese verfügbar ist. Kopieren Sie im AbschnittBinary Distributions und dann in der ListeCore den Link zu "tar.gz".

Wechseln Sie als Nächstes in das Verzeichnis/tmpauf Ihrem Server. In diesem Verzeichnis können Sie kurzlebige Elemente wie den Tomcat-Tarball herunterladen, die wir nach dem Extrahieren des Tomcat-Inhalts nicht benötigen:

cd /tmp

Verwenden Siecurl, um den Link herunterzuladen, den Sie von der Tomcat-Website kopiert haben:

curl -O http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.5.5/bin/apache-tomcat-8.5.5.tar.gz

Wir werden Tomcat im Verzeichnis/opt/tomcatinstallieren. Erstellen Sie das Verzeichnis und extrahieren Sie das Archiv mit den folgenden Befehlen:

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

Als Nächstes können wir die richtigen Benutzerberechtigungen für unsere Installation einrichten.

Schritt 4: Berechtigungen aktualisieren

Der von uns eingerichtetetomcat-Benutzer muss Zugriff auf die Tomcat-Installation haben. Wir werden das jetzt einrichten.

Wechseln Sie in das Verzeichnis, in das wir die Tomcat-Installation entpackt haben:

cd /opt/tomcat

Geben Sie den Gruppenbesitz vontomcatfür das gesamte Installationsverzeichnis an:

sudo chgrp -R tomcat /opt/tomcat

Geben Sie als Nächstes der GruppetomcatLesezugriff auf das Verzeichnisconfund den gesamten Inhalt undexecuteZugriff auf das Verzeichnis selbst:

sudo chmod -R g+r conf
sudo chmod g+x conf

Machen Sie den Benutzertomcatzum Eigentümer der Verzeichnissewebapps,work,temp undlogs:

sudo chown -R tomcat webapps/ work/ temp/ logs/

Nachdem die richtigen Berechtigungen eingerichtet wurden, können wir eine systemd-Servicedatei erstellen, um den Tomcat-Prozess zu verwalten.

Schritt 5: Erstellen Sie eine systemd-Servicedatei

Wir möchten Tomcat als Dienst ausführen können, daher richten wir die systemd-Dienstdatei ein.

Tomcat muss wissen, wo Java installiert ist. Dieser Pfad wird allgemein als "JAVA_HOME" bezeichnet. Der einfachste Weg, um diesen Ort zu finden, ist der folgende Befehl:

sudo update-java-alternatives -l
Outputjava-1.8.0-openjdk-amd64       1081       /usr/lib/jvm/java-1.8.0-openjdk-amd64

Die korrekte VariableJAVA_HOME kann erstellt werden, indem die Ausgabe aus der letzten Spalte (rot hervorgehoben) übernommen und/jre an das Ende angehängt wird. In dem obigen Beispiel wäre das richtigeJAVA_HOME für diesen Server:

JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre

IhreJAVA_HOME können unterschiedlich sein.

Mit diesen Informationen können wir die systemd-Servicedatei erstellen. Öffnen Sie eine Datei mit dem Namentomcat.service im Verzeichnis/etc/systemd/system, indem Sie Folgendes eingeben:

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

Fügen Sie den folgenden Inhalt in Ihre Servicedatei ein. Ändern Sie gegebenenfalls den Wert vonJAVA_HOME, um ihn an den auf Ihrem System gefundenen Wert anzupassen. Möglicherweise möchten Sie auch die inCATALINA_OPTS angegebenen Speicherzuordnungseinstellungen ändern:

/etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

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

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Wenn Sie fertig sind, speichern und schließen Sie die Datei.

Laden Sie als Nächstes den Daemon systemd neu, damit er über unsere Servicedatei informiert ist:

sudo systemctl daemon-reload

Starten Sie den Tomcat-Dienst, indem Sie Folgendes eingeben:

sudo systemctl start tomcat

Überprüfen Sie, ob es fehlerfrei gestartet wurde, indem Sie Folgendes eingeben:

sudo systemctl status tomcat

Schritt 6: Passen Sie die Firewall an und testen Sie den Tomcat-Server

Nachdem der Tomcat-Dienst gestartet wurde, können wir testen, ob die Standardseite verfügbar ist.

Bevor wir das tun, müssen wir die Firewall anpassen, damit unsere Anforderungen an den Dienst gelangen können. Wenn Sie die Voraussetzungen erfüllt haben, ist derzeit eineufw-Firewall aktiviert.

Tomcat verwendet Port8080, um herkömmliche Anforderungen zu akzeptieren. Ermöglichen Sie den Datenverkehr zu diesem Port, indem Sie Folgendes eingeben:

sudo ufw allow 8080

Wenn die Firewall geändert wurde, können Sie auf die Standard-Begrüßungsseite zugreifen, indem Sie in einem Webbrowser zu Ihrer Domain oder IP-Adresse gefolgt von:8080 wechseln:

Open in web browserhttp://server_domain_or_IP:8080

Neben anderen Informationen wird die Standard-Tomcat-Begrüßungsseite angezeigt. Wenn Sie jedoch beispielsweise auf die Links für die Manager-App klicken, wird Ihnen der Zugriff verweigert. Diesen Zugang können wir als nächstes konfigurieren.

Wenn Sie erfolgreich auf Tomcat zugreifen konnten, ist jetzt ein guter Zeitpunkt, um die Servicedatei zu aktivieren, damit Tomcat beim Booten automatisch startet:

sudo systemctl enable tomcat

Schritt 7: Konfigurieren Sie die Tomcat Web Management-Oberfläche

Um die mit Tomcat gelieferte Manager-Web-App verwenden zu können, müssen wir unserem Tomcat-Server eine Anmeldung hinzufügen. Wir werden dies tun, indem wir die Dateitomcat-users.xmlbearbeiten:

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

Sie möchten einen Benutzer hinzufügen, der auf diemanager-gui undadmin-gui (Web-Apps, die mit Tomcat geliefert werden) zugreifen kann. Sie können dies tun, indem Sie einen Benutzer, ähnlich wie im folgenden Beispiel, zwischen den Tags vontomcat-usersdefinieren. Stellen Sie sicher, dass Sie den Benutzernamen und das Passwort in etwas Sicheres ändern:

tomcat-users.xml — Admin User


    

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Standardmäßig beschränken neuere Versionen von Tomcat den Zugriff auf die Manager- und Host Manager-Apps auf Verbindungen, die vom Server selbst stammen. Da wir auf einem Remotecomputer installieren, möchten Sie diese Einschränkung wahrscheinlich entfernen oder ändern. Öffnen Sie die entsprechendencontext.xml-Dateien, um die IP-Adressbeschränkungen für diese zu ändern.

Geben Sie für die Manager-App Folgendes ein:

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

Geben Sie für die Host Manager-App Folgendes ein:

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

Kommentieren Sie die Einschränkung der IP-Adresse aus, um Verbindungen von überall zuzulassen. Wenn Sie alternativ den Zugriff nur auf Verbindungen zulassen möchten, die von Ihrer eigenen IP-Adresse stammen, können Sie Ihre öffentliche IP-Adresse zur Liste hinzufügen:

context.xml files for Tomcat webapps


  

Speichern und schließen Sie die Dateien, wenn Sie fertig sind.

Starten Sie den Tomcat-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl restart tomcat

Schritt 8: Greifen Sie auf das Webinterface zu

Nachdem wir einen Benutzer erstellt haben, können wir in einem Webbrowser erneut auf die Webverwaltungsoberfläche zugreifen. Sie können wieder zur richtigen Benutzeroberfläche gelangen, indem Sie den Domain-Namen oder die IP-Adresse Ihres Servers eingeben, die Sie in Ihrem Browser an Port 8080 eingegeben haben:

Open in web browserhttp://server_domain_or_IP:8080

Die Seite, die Sie sehen, sollte dieselbe sein, die Sie beim vorherigen Testen erhalten haben:

Tomcat root

Werfen wir einen Blick auf die Manager-App, auf die Sie über den Link oderhttp://server_domain_or_IP:8080/manager/html zugreifen können. Sie müssen die Kontoanmeldeinformationen eingeben, die Sie der Dateitomcat-users.xmlhinzugefügt haben. Danach sollten Sie eine Seite sehen, die so aussieht:

Tomcat Web Application Manager

Der Web Application Manager dient zur Verwaltung Ihrer Java-Anwendungen. Sie können hier starten, stoppen, neu laden, bereitstellen und die Bereitstellung aufheben. Sie können auch einige Diagnosen für Ihre Apps ausführen (d. H. Speicherlecks finden). Zuletzt finden Sie Informationen zu Ihrem Server ganz unten auf dieser Seite.

Schauen wir uns nun den Host-Manager an, auf den Sie über den Link oderhttp://server_domain_or_IP:8080/host-manager/html/ zugreifen können:

Tomcat Virtual Host Manager

Auf der Seite Virtual Host Manager können Sie virtuelle Hosts hinzufügen, über die Ihre Anwendungen bereitgestellt werden.

Fazit

Ihre Installation von Tomcat ist abgeschlossen! Jetzt können Sie Ihre eigenen Java-Webanwendungen bereitstellen!

Derzeit ist Ihre Tomcat-Installation funktionsfähig, jedoch völlig unverschlüsselt. Dies bedeutet, dass alle Daten, einschließlich sensibler Elemente wie Kennwörter, im Klartext gesendet werden und von anderen Parteien im Internet abgefangen und gelesen werden können. Um dies zu verhindern, wird dringend empfohlen, dass Sie Ihre Verbindungen mit SSL verschlüsseln. Sie können herausfinden, wie Sie Ihre Verbindungen zu Tomcat verschlüsseln, indem Siethis guide folgen.