Wéi installéiere ech Apache Tomcat an Ubuntu
Wann Dir Websäite wëllt lafen déi Java Server Säit Kodéierung oder Java Servlets enthalen, kënnt Dir Apache Tomcat benotzen. Et ass en Open Source Webserver a Servlet Container, verëffentlecht vun der Apache Software Foundation.
Tomcat kann als Standalone Produkt benotzt ginn, mat sengem eegene Webserver oder et ka mat anere Webserver wéi Apache oder IIS kombinéiert ginn. Déi lescht Versioun vum Tomcat ass 9.0.14 an et baut uewen op Tomcat 8 an 8.5 an implementéiert Servlet 4.0, JSP 2.2.
Déi folgend Verbesserunge goufen an der neier Versioun gemaach:
- Ënnerstëtzung fir HTTP/2 bäigefüügt.
- Ënnerstëtzung bäigefüügt fir OpenSSL fir TLS Ënnerstëtzung mat de JSSE Connectoren ze benotzen.
- Addéiert Ënnerstëtzung fir TLS virtuelle Hosten (SNI).
An dësem Tutorial wäerte mir Iech weisen wéi Dir Apache Tomcat 9 an Ubuntu 18.10 a méi al Versioun vun Ubuntu installéiere wëllt.
Schrëtt 1: Java installéieren
Fir Java Webapplikatiounen ze lafen, erfuerdert Tomcat datt Java um Server installéiert ass. Fir dës Ufuerderung z'erreechen, installéiere mir OpenJDK wéi gewisen.
$ sudo apt update $ sudo apt install default-jdk
Schrëtt 2: Erstellt en Tomcat Benotzer
Aus Sécherheetsgrënn sollt Tomcat mat engem net-privilegiéierte Benotzer lafen, also net root. Dofir wäerte mir Benotzer a Grupp Tomcat erstellen déi de Service lafen. Fänkt un mat der Tomcat Grupp ze kreéieren:
$ sudo groupadd tomcat
Als nächst wäerte mir en Tomcat Benotzer erstellen, dee Member vun der Tomcat Grupp wäert sinn. D'Hausplaz vun dësem Benotzer wäert /opt/tomcat sinn well dëst ass wou mir Tomcat installéieren. D'Shell gëtt op /bin/false gesat:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Elo si mir prett fir de nächste Schrëtt weiderzemaachen an den Tomcat erofzelueden.
Schrëtt 3: Apache Tomcat installéieren
Fir de leschten verfügbare Package erofzelueden, gitt op Tomcat seng Download Säit a gräift déi lescht Versioun.
Zu der Zäit vum Schreiwen vun dësem Tutorial ass déi lescht Versioun vum Tomcat 9.0.14. Fir dës Versioun erofzelueden, ännert Ären aktuellen Verzeichnis op eppes anescht. Zum Beispill kënnt Dir /tmp benotzen:
# cd /tmp
An dann benotzt wget Kommando fir den Tomcat Archiv erofzelueden:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz $ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
Wann Dir d'sha512 Zomm vun der Datei verifizéiere wëllt, kënnt Dir lafen:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
De resultéierende Wäert (Hash) fir béid Dateie sollt d'selwecht sinn.
Wéi virdru scho gesot, wäerte mir Tomcat an /opt/tomcat installéieren. Mir mussen dëse Verzeechnes erstellen:
$ sudo mkdir /opt/tomcat
An elo kënne mir den erofgeluede Package an deem neie Verzeechnes extrahéieren:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Elo navigéiert op /opt/tomcat vu wou mir den Dossierbesëtz an d'Permissiounen aktualiséieren:
# cd /opt/tomcat
A set de Gruppbesëtzer vun /opt/tomcat op Tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
Mir wäerten als nächst de Lieszougang vun der Tomcat Grupp iwwer de Conf Verzeechnes aktualiséieren an d'Ausféierungsrechter an de Verzeechnes setzen:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Als nächst wäerte mir den Tomcat Benotzer Besëtzer vun de Webapps, Aarbecht, Temp a Logbicher maachen:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Elo sinn déi entspriechend Permissiounen a Proprietairë festgeluecht a mir si prett fir eng systemd Startdatei ze kreéieren, déi eis hëlleft den Tomcat Prozess ze managen.
Schrëtt 4: Erstellt eng SystemD Service Datei fir Tomcat
Well mir Tomcat als Service wëllen ausféieren, musse mir eng Datei hunn, déi eis hëlleft de Prozess einfach ze managen. Fir dësen Zweck erstellen mir eng systemd Servicedatei. Tomcat muss wësse wou Java op Ärem System läit.
Fir dës Plaz ze fannen, benotzt de folgende Kommando:
$ sudo update-java-alternatives -l
D'Ausgab vun deem Kommando weist Iech de Standort vum JAVA_HOME.
Elo, mat dëser Informatioun, si mir prett fir eis Tomcat Servicedatei ze kreéieren.
$ sudo vim /etc/systemd/system/tomcat.service
Paste de Code hei ënnen an der 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
Vergewëssert Iech JAVA_HOME mat deem fir Äre System ze setzen. Wann Dir bereet sidd, späichert d'Datei a maach se zou. Elo, andeems Dir de Kommando hei drënner benotzt, lued den systemd Daemon nei sou datt et eis nei Servicedatei fanne kann:
$ sudo systemctl daemon-reload
Da start den Tomcat Service:
$ sudo systemctl start tomcat
Dir kënnt de Servicestatus verifizéieren mat:
$ sudo systemctl status tomcat
Dir kënnt elo Tomcat an Ärem Browser testen andeems Dir Är System IP Adress benotzt, gefollegt vum Service Standardport 8080.
http://ip-address:8080
D'Resultat dat Dir sollt gesinn ähnlech wéi dat am Bild hei ënnen gewisen:
Am Fall wou Dir déi uewe genannte Ausgab net gesitt, musst Dir vläicht den Hafen 8080 an Ärer Firewall erlaben wéi gewisen.
$ sudo ufw allow 8080
Wann Dir Tomcat wëllt um Systemboot starten, lafen:
$ systemctl enable tomcat
Schrëtt 5: Apache Tomcat konfiguréieren
Tomcat huet eng Webmanager App déi virinstalléiert ass. Fir et ze benotzen, musse mir d'Authentifikatioun an eiser tomcat-users.xml Datei opsetzen. Öffnen an änneren dës Datei mat Ärem Liiblingstexteditor:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Mir addéieren e Benotzer deen Zougang zu de Manager- an Admin-Interfaces kritt. Fir esou Benotzer ze konfiguréieren, tëscht den
Tags, füügt déi folgend Linn derbäi:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Vergewëssert Iech ze änneren:
- Benotzernumm - mam Benotzer deen Dir authentifizéiere wëllt.
- Passwuert - mam Passwuert dat Dir fir d'Authentifikatioun benotze wëllt.
Well de Standard Zougang zum Host Manager a Manager limitéiert ass, wëlle mir dës Restriktiounen entweder ewechhuelen oder änneren. Fir esou Ännerungen ze maachen, kënnt Dir déi folgend Dateien lueden:
Fir Manager App:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Fir Host Manager App:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Bannen an dëse Fichier kënnt Dir entweder d'IP Restriktioun kommentéieren oder Är ëffentlech IP Adress do dran erlaben. Fir den Zweck vun dësem Tutorial hunn ech d'Linn kommentéiert:
Fir eis Ännerungen live ze maachen, lued den Tomcat Service nei mat:
$ sudo systemctl restart tomcat
Dir kënnt elo d'Manager App testen andeems Dir op http://ipaddress:8080/manager/ zougitt. Wann Dir fir Benotzernumm a Passwuert gefrot gëtt, benotzt déi, déi Dir virdru konfiguréiert hutt. Den Interface, deen Dir duerno sollt gesinn, gesäit esou aus:
Fir Zougang zum Host Manager ze kréien, kënnt Dir http://ip-address:8080/host-manager/ benotzen.
Mat dem virtuelle Hostmanager kënnt Dir virtuell Hosten fir Är Tomcat Uwendungen erstellen.
Schrëtt 6: Testen Apache Tomcat Andeems Dir eng Testdatei erstellt
Dir kënnt kontrolléieren ob alles glat funktionnéiert, andeems Dir eng Testdatei bannent /opt/tomcat/webapps/ROOT/ Verzeichnis erstellt.
Loosst eis esou Datei erstellen:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Bannen an deem Fichier paste de folgende Code:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
Späichert d'Datei a setzt d'Besëtzer wéi gewisen.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Lued elo dës Datei an Ärem Browser andeems Dir http://ip-address:8080/tecmint.jsp benotzt.
Dat ass et! Dir hutt de Setup vun Ärem Apache Tomcat Server ofgeschloss an Ären éischte Java Code ausgefouert. Mir hoffen de Prozess war einfach an einfach fir Iech. Wann Dir Probleemer hutt, deelt Är Probleemer iwwer de Kommentarform hei ënnen.