Einführung
Apache-Tomcat ist ein kostenloser, leichtgewichtiger Open-Source-Anwendungsserver, der für Java-basierte Webanwendungen verwendet wird. Entwickler verwenden es, um Java Servlet- und JavaServer Pages-Technologien (einschließlich Java Expression Language und Java WebSocket) zu implementieren.
Lesen Sie diese Anleitung, um zu erfahren, wie Sie Apache Tomcat unter Ubuntu 18.04 installieren und konfigurieren.
Voraussetzungen
- Eine Ubuntu-basierte Distribution (z. B. Ubuntu 18.04)
- Ein Benutzerkonto mit sudo Privilegien
- Ein Terminalfenster (Strg –Alt –T )
- Der apt-Paketmanager, standardmäßig enthalten
Schritte zur Installation von Tomcat 9 auf Ubuntu
Überprüfen Sie, ob Java installiert ist
Bevor Sie Tomcat herunterladen und installieren können , vergewissern Sie sich, dass Sie die erforderliche Java-Installation für Ubuntu (OpenJDK ).
Öffnen Sie das Terminal (Strg + Alt +T ) und verwenden Sie den folgenden Befehl, um die Java-Version zu überprüfen:
java -version
Die Ausgabe zeigt die Java-Version, die auf Ihrem System ausgeführt wird. Derzeit ist die neueste Version OpenJDK 11.0.3 :
Installieren Sie OpenJDK
Wenn Sie kein OpenJDK oder eine ältere Version als Java 8 haben, installieren Sie die neueste Version, indem Sie Folgendes eingeben:
sudo apt install default-jdk
Tomcat-Benutzer und -Gruppe erstellen
Führen Sie Tomcat aus Sicherheitsgründen nicht unter dem Root-Benutzer aus. Erstellen Sie eine neue Gruppe und einen neuen Systembenutzer, um den Apache Tomcat-Dienst über /opt/tomcat
auszuführen Verzeichnis.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Tomcat 9 herunterladen
1. Laden Sie die neueste binäre Tomcat-Version herunter. Navigieren Sie zur offiziellen Apache Tomcat-Download-Seite.
2. Suchen Sie darauf die Binary Distributions> Kern Liste und die tar.gz darin verlinken. Kopieren Sie den Link der Datei.
3. Gehen Sie zurück zum Terminal und wechseln Sie zu /tmp
Verzeichnis mit dem Befehl:
cd /tmp
4. Verwenden Sie nun den Curl-Befehl mit der tar.gz Link, den Sie in Schritt 2 kopiert haben, um das Paket herunterzuladen:
curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
Extrahieren Sie die tar.gz-Datei
1. Um die Tomcat-Datei tar.gz zu extrahieren, erstellen Sie ein neues /opt/tomcat/
Verzeichnis mit dem Befehl:
sudo mkdir /opt/tomcat
2. Extrahieren Sie dann die Datei in das neue Verzeichnis mit dem folgenden Befehl:
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
Tomcat-Benutzerberechtigung ändern
Der neu erstellte Tomcat-Benutzer hat keine Ausführungsberechtigungen, muss aber auf das Installationsverzeichnis zugreifen. Sie müssen Ausführungsrechte für das Verzeichnis einrichten.
1. Wechseln Sie in das Verzeichnis, in dem sich die Tomcat-Installation befindet:
cd /opt/tomcat
2. Erteilen Sie dem tomcat
Gruppen- und Benutzerbesitz über das Installationsverzeichnis Gruppe und Benutzer mit dem Befehl:
sudo chown -RH tomcat: /opt/tomcat
3. Zuletzt ändern Sie die Skriptberechtigungen, um Ausführungszugriff in /opt/tomcat/bin/with:
zu gewährensudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Systemeinheitendatei erstellen
Da Sie Tomcat als Dienst verwenden werden, müssen Sie eine systemd-Dienstdatei erstellen .
1. Um die Datei zu konfigurieren, müssen Sie zuerst JAVA_HOME
finden Weg. Dies ist der genaue Speicherort des Java-Installationspakets.
Fordern Sie dazu das System auf, Ihnen Informationen zu den auf dem System installierten Java-Paketen zu geben. Geben Sie im Terminal Folgendes ein:
sudo update-java-alternatives -l
Wie die Ausgabe zeigt, gibt es zwei verfügbare Java-Versionen. Dementsprechend werden auch zwei Pfade angezeigt, die ihren Standort anzeigen.
Wählen Sie die Version, die Sie verwenden möchten, und kopieren Sie ihren Speicherort. Damit können Sie mit der Erstellung der Servicedatei fortfahren.
2. Erstellen und öffnen Sie eine neue Datei in /etc/system/system unter dem Namen tomcat.service :
sudo nano /etc/systemd/system/tomcat.service
3. Kopieren Sie nach dem Öffnen der Datei den folgenden Inhalt und fügen Sie ihn ein. Ändern Sie dabei JAVA_HOME
Wert auf die Informationen, die Sie im vorherigen Schritt gefunden haben.
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
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
4. Speichern und Beenden die Datei (Strg+X , gefolgt von y [es] und Enter ).
5. Damit die Änderungen wirksam werden, laden Sie den Systemdämon mit dem Befehl neu:
sudo systemctl daemon-reload
6. Jetzt können Sie endlich den Tomcat-Dienst starten:
sudo systemctl start tomcat
7. Überprüfen Sie mit dem folgenden Befehl, ob der Apache Tomcat-Dienst ausgeführt wird:
sudo systemctl status tomcat
Die Nachricht, die Sie erhalten möchten, lautet, dass der Dienst aktiv (wird ausgeführt) ist .
Firewall anpassen
Wenn Sie eine Firewall verwenden, um Ihren Server zu schützen (was Sie sollten), können Sie nicht auf die Tomcat-Oberfläche zugreifen. Tomcat verwendet Port 8080, der sich außerhalb Ihres lokalen Netzwerks befindet.
1. Öffnen Sie Port 8080, um den Datenverkehr mit dem folgenden Befehl zuzulassen:
sudo ufw allow 8080/tcp
2. Wenn der Port geöffnet ist, sollten Sie die Begrüßungsseite von Apache Tomcat sehen können. Geben Sie Folgendes in das Browserfenster ein:
http://server_ip:8080
oder
http://localhost:8080
Ihr Webbrowser sollte die Webseite wie im Bild unten öffnen:
Webverwaltungsschnittstelle konfigurieren
Nachdem Sie überprüft haben, dass der Dienst ordnungsgemäß ausgeführt wird, müssen Sie einen Benutzer erstellen, der die Webverwaltungsschnittstelle verwenden kann.
Öffnen und bearbeiten Sie dazu die Benutzerdatei.
1. Öffnen Sie die Benutzerdatei mit dem Befehl:
sudo nano /opt/tomcat/conf/tomcat-users.xml
Die Datei sollte wie im Bild unten aussehen:
2. Löschen Sie alles aus der Datei und Folgendes hinzufügen:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="Your_Password" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>
Stellen Sie sicher, dass Sie Your_Password
ersetzen Wert mit einem sicheren Passwort Ihrer Wahl.
3. Speichern und Beenden die Datei.
Fernzugriff konfigurieren
Schließlich müssen Sie den Fernzugriff konfigurieren. Dies ist erforderlich. Standardmäßig ist Tomcat nur vom lokalen Rechner aus zugänglich.
1. Öffnen Sie zunächst den Manager Datei:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
2. Entscheiden Sie als Nächstes, ob Sie Zugriff von a gewähren möchten. überall oder b. von einer bestimmten IP-Adresse .
a. Um sie öffentlich zugänglich zu machen, fügen Sie der Datei die folgenden Zeilen hinzu:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+.d+|::1|0000:1" />
-->
</Context>
b. Um den Zugriff von einer bestimmten IP-Adresse zuzulassen, fügen Sie die IP wie folgt zum vorherigen Befehl hinzu:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0000:1|THE.IP.ADDRESS." />
-->
</Context>
3. Wiederholen Sie den gleichen Vorgang für den Host-Manager Datei.
Öffnen Sie zunächst die Datei mit dem Befehl:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
4. Gefolgt von der Gewährung des Zugriffs von a. überall oder b. von einer bestimmten IP-Adresse (wie im vorherigen Schritt).