Wéi installéiere ech Apache Tomcat 9 op Debian 10


Apache Tomcat ass eng gratis, reift, robust a populär Webapplikatiounsserver Software déi benotzt gëtt fir Java-baséiert Uwendungen ze déngen. Et ass eng Open-Source Implementatioun vun den Java Servlet, JavaServer Pages (JSP), Java Expression Language an Java WebSocket Technologien, entwéckelt vun der Apache Software Foundation (ASF).

Dësen Tutorial féiert Iech duerch de Prozess vun der Installatioun an der Konfiguratioun vun der leschter Verëffentlechung vum Tomcat 9 op Ärem Debian 10 Linux Server.

Ier Dir mat dësem Tutorial ufänkt, gitt sécher datt Dir en net-root Benotzerkont mat sudo Privilegien op Ärem Server hutt. Wann net, kënnt Dir een opbauen andeems Dir eise Guide iwwer Wéi en neie Sudo Benotzer op Ubuntu/Debian erstellt.

Schrëtt 1: Java op Debian 10 installéieren

Fir déi lescht Verëffentlechung vum Tomcat 9 op Ärem Debian 10 Server z'installéieren, musst Dir Java um Server installéiert hunn, fir datt Dir Java Webapplikatiounscode ausféiere kënnt.

Als éischt, update de System Software Package Index mat dem apt Kommando wéi gewisen.

$ sudo apt update

Installéiert dann de Java Development Kit Package mat dem apt Kommando.

$ sudo apt install default-jdk

Wann d'Java Installatioun fäerdeg ass, kontrolléiert d'Versioun vu Java déi um System installéiert ass mat dem folgenden Kommando.

$ java -version

Schrëtt 2: Installéiert Tomcat an Debian 10

Fir Sécherheetszwecker sollt Tomcat installéiert an ausgefouert ginn vum onprivilegéierte Benotzer (dh net root). Mir erstellen eng nei Tomcat Grupp a Benotzer fir den Tomcat Service ënner /opt/tomcat Verzeechnes (Tomcat Installatioun) ze lafen.

$ sudo mkdir /opt/tomcat
$ sudo groupadd tomcat
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Wann mir den Tomcat Benotzer opgeriicht hunn, luet elo déi lescht Versioun vum Tomcat 9 (dh 9.0.30) vum Curl Kommandozeil Tool erof fir den Tarball erofzelueden an d'Archiv op /opt/tomcat Verzeechnes ze extrahieren.

$ curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
$ sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

Als nächst gitt d'Permissiounen dem Tomcat Benotzer zou fir Zougang zum Tomcat Installatioun /opt/tomcat Verzeechnes ze hunn.

$ cd /opt/tomcat
$ sudo chgrp -R tomcat /opt/tomcat
$ sudo chmod -R g+r conf
$ sudo chmod g+x conf
$ sudo chown -R tomcat webapps/ work/ temp/ logs/

Schrëtt 3: Erstellt eng Tomcat systemd Service Datei

Mir erstellen eng nei systemd Servicedatei fir Tomcat als Service ënner systemd ze managen an ze lafen. Fir eng Servicedatei ze kreéieren, sollt Dir wësse wou Java installéiert ass, well dëst als JAVA_HOME bezeechent gëtt mat dem folgenden Kommando.

$ sudo update-java-alternatives -l

Vun der uewe genannter Ausgab ass eise JAVA_HOME:

/usr/lib/jvm/java-1.11.0-openjdk-amd64

Wann mir eis JAVA_HOME kennen, kënne mir d'Systemd Servicedatei mam Numm tomcat.service am /etc/systemd/system Verzeichnis erstellen andeems se lafen.

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

Paste déi folgend Inhalter an Är tomcat.service Datei.

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

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
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

Als nächst lued de Systemd nei fir déi nei Ännerungen z'applizéieren, sou datt et iwwer eis tomcat.service Datei kennt.

$ sudo systemctl daemon-reload

Endlech kënnt Dir de Status vum Tomcat Service starten a verifizéieren andeems Dir déi folgend Kommandoen ausféiert.

$ sudo systemctl start tomcat
$ systemctl status tomcat
$ systemctl enable tomcat

Schrëtt 4: Aktivéiert Login fir Tomcat Manager an Host Manager

Fir Zougang zu de Manager-gui an Admin-gui Web Apps déi mat Tomcat kënnt, musse mir de Login op eisen Tomcat Server aktivéieren andeems Dir d'Tomcat-users.xml Datei ännert wéi se gewisen.

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

Füügt déi folgend Konfiguratioun an den Tags, mat dem richtege Benotzernumm a Passwuert wéi gewisen.

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="password" roles="admin-gui,manager-gui"/>

Déi uewe genannte Konfiguratioun implizéiert datt d'Admin-gui a Manager-gui Rollen un e Benotzer mam Numm admin mat engem Passwuert vum tecmint123 addéieren.

Schrëtt 5: Aktivéiert Remote Login op Tomcat Manager an Host Manager

Aus Sécherheetsgrënn ass den Zougang zu den Tomcat Manager an den Host Manager Apps op de localhost gespaart (de Server wou en ofgesat ass), par défaut.

Wéi och ëmmer, Dir kënnt den Fernzougang vun enger spezifescher IP Adress oder all Host oder Netzwierk op Tomcat Manager an Host Manager Apps aktivéieren wéi hei ënnen erkläert.

Fir d'Tomcat Manager App, Typ:

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

Fir d'Host Manager App, Typ:

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

Bannen, kommentéiert d'IP Adress Restriktioun fir Zougang vun all Netzwierk z'erméiglechen.

<Context antiResourceLocking="false" privileged="true" >
  <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>

Alternativ, aktivéiert Fernzougang vun Ärer eegener IP Adress 192.168.0.103 oder aus engem Netzwierk (192.168.0.0) andeems Dir d'IP Adress op d'Lëscht bäidréit.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.103" />-->
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />-->

Späichert d'Dateien, a restart den Tomcat Service fir eis Ännerungen a Kraaft ze halen.

$ sudo systemctl restart tomcat

Schrëtt 6: Zougang zum Tomcat Web Interface

Fir Zougang zu engem Tomcat Web-Interface vun all Browser ze kréien, musst Dir den 8080 Hafen opmaachen fir Traffic op den Tomcat Service op der Firewall z'erméiglechen andeems Dir tippt.

$ sudo ufw allow 8080

Elo Zougang zu der Tomcat Web Management Interface andeems Dir op Ärem Server säin Domain Numm oder IP Adress gitt gefollegt vum Port 8080 an Ärem Browser.

http://server_domain_or_IP:8080

Loosst eis op d'Manager App op der ënnen URL zougräifen, Dir musst de Kont Umeldungsinformatioun aginn.

http://server_domain_or_IP:8080/manager/html

Loosst eis op den Host Manager op der URL hei drënner zougräifen, Dir musst de Kont Umeldungsinformatioun aginn.

http://server_domain_or_IP:8080/host-manager/html/

Dat ass alles! Är Tomcat Installatioun ass fäerdeg, elo kënnt Dir Java Webapplikatiounen ofsetzen a lafen. Wann Dir Froen oder Gedanken hutt fir ze deelen, erreechen eis iwwer de Kommentarformular hei ënnen.