Sådan installeres Apache Tomcat i Ubuntu
Hvis du vil køre websider, der indeholder Java-server-sidekodning eller Java-servlets, kan du bruge Apache Tomcat. Det er en open source-webserver og servletcontainer, udgivet af Apache Software Foundation.
Tomcat kan bruges som et enkeltstående produkt med sin egen webserver, eller det kan kombineres med andre webservere som Apache eller IIS. Den seneste version af Tomcat er 9.0.14, og den bygger oven på Tomcat 8 og 8.5 og implementerer Servlet 4.0, JSP 2.2.
Følgende forbedringer er blevet foretaget i den nye version:
- Tilføjet understøttelse af HTTP/2.
- Tilføjet understøttelse til brug af OpenSSL til TLS-understøttelse med JSSE-stik.
- Tilføjet understøttelse af TLS virtuelle værter (SNI).
I denne vejledning skal vi vise dig, hvordan du installerer Apache Tomcat 9 i Ubuntu 18.10 og ældre version af Ubuntu.
Trin 1: Installation af Java
For at køre Java-webapplikationer kræver Tomcat, at Java er installeret på serveren. For at imødekomme dette krav installerer vi OpenJDK som vist.
$ sudo apt update $ sudo apt install default-jdk
Trin 2: Oprettelse af en Tomcat-bruger
Af sikkerhedsmæssige årsager skal Tomcat køres med en ikke-privilegeret bruger, dvs. ikke root. Derfor opretter vi bruger- og gruppetomcat, der kører tjenesten. Start med at oprette tomcat-gruppen:
$ sudo groupadd tomcat
Dernæst opretter vi en tomcat-bruger, der vil være medlem af tomcat-gruppen. Denne brugers hjemmeplacering vil være/opt/tomcat, da det er her, vi skal installere Tomcat. Skallen indstilles til/bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Nu er vi klar til at fortsætte næste trin og downloade Tomcat.
Trin 3: Installation af Apache Tomcat
For at downloade den senest tilgængelige pakke, gå til Tomcats download-side og få fat i den nyeste version.
På tidspunktet for skrivningen af denne vejledning er den nyeste version af Tomcat 9.0.14. For at downloade denne version skal du ændre din nuværende mappe til noget andet. For eksempel kan du bruge/tmp:
# cd /tmp
Og derefter bruge wget-kommandoen til at downloade Tomcat-arkivet:
$ 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
Hvis du vil bekræfte sha512-summen af filen, kan du køre:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
Den resulterende værdi (hash) for begge filer skal være den samme.
Som tidligere nævnt skal vi installere Tomcat i/opt/tomcat. Vi bliver nødt til at oprette denne mappe:
$ sudo mkdir /opt/tomcat
Og nu kan vi udtrække den downloadede pakke i den nye mappe:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Naviger nu til/opt/tomcat, hvorfra vi opdaterer mappejerskabet og tilladelserne:
# cd /opt/tomcat
Og sæt gruppeejer af/opt/tomcat til tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
Vi opdaterer derefter læseadgang for tomcat-gruppen over conf-biblioteket og indstiller eksekveringstilladelser til biblioteket:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Dernæst vil vi gøre tomcat brugerejer af webapps, work, temp og logs-mapper:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Nu er de korrekte tilladelser og ejerskaber blevet indstillet, og vi er klar til at oprette en systemd startfil, som hjælper os med at styre Tomcat-processen.
Trin 4: Oprettelse af en SystemD-servicefil til Tomcat
Fordi vi vil køre Tomcat som en tjeneste, bliver vi nødt til at have en fil, der hjælper os med let at styre processen. Til dette formål opretter vi en systemd-servicefil. Tomcat bliver nødt til at vide, hvor Java er placeret på dit system.
For at finde den placering skal du bruge følgende kommando:
$ sudo update-java-alternatives -l
Outputtet fra denne kommando viser dig placeringen af JAVA_HOME.
Nu ved hjælp af disse oplysninger er vi klar til at oprette vores Tomcat-servicefil.
$ sudo vim /etc/systemd/system/tomcat.service
Indsæt koden nedenfor i filen:
[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
Sørg for at indstille JAVA_HOME med den til dit system. Når du er klar, skal du gemme filen og lukke den. Brug nu kommandoen nedenfor til at genindlæse systemd-dæmonen, så den kan finde vores nye servicefil:
$ sudo systemctl daemon-reload
Start derefter Tomcat-tjenesten:
$ sudo systemctl start tomcat
Du kan bekræfte servicestatus med:
$ sudo systemctl status tomcat
Du kan nu teste Tomcat i din browser ved at bruge dit systems IP-adresse efterfulgt af tjenestens standardport 8080.
http://ip-address:8080
Resultatet, du skal se, svarer til det, der vises på billedet nedenfor:
Hvis du ikke ser ovenstående output, skal du muligvis tillade port 8080 i din firewall som vist.
$ sudo ufw allow 8080
Hvis du vil have Tomcat til at starte ved systemstart, skal du køre:
$ systemctl enable tomcat
Trin 5: Konfiguration af Apache Tomcat
Tomcat har en webmanager-app, der er forudinstalleret. For at bruge det skal vi konfigurere godkendelse inden for vores tomcat-users.xml-fil. Åbn og rediger den fil med din yndlings teksteditor:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Vi vil tilføje en bruger, der kan få adgang til manager- og admin-grænsefladerne. For at konfigurere en sådan bruger skal du tilføje følgende linje mellem tags
:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Sørg for at ændre:
- Brugernavn - med den bruger, du vil godkende.
- Adgangskode - med den adgangskode, du vil bruge til godkendelse.
Da adgang til Host Manager og Manager som standard er begrænset, vil vi enten fjerne eller ændre disse begrænsninger. For at foretage sådanne ændringer kan du indlæse følgende filer:
For Manager-app:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Til vært manager app:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Inde i disse filer kan du enten kommentere IP-begrænsningen eller tillade din offentlige IP-adresse derinde. Med henblik på denne vejledning har jeg kommenteret linjen:
For at gøre vores ændringer live, genindlæs tomcat-tjenesten med:
$ sudo systemctl restart tomcat
Du kan nu teste managerappen ved at åbne http:/ipaddress: 8080/manager /. Når du bliver bedt om brugernavn og adgangskode, skal du bruge dem, du har konfigureret tidligere. Den grænseflade, du skal se efter, ser sådan ud:
For at få adgang til værtsadministratoren kan du bruge http:/ip-adresse: 8080/værtsadministrator /.
Ved hjælp af den virtuelle værtsadministrator kan du oprette virtuelle værter til dine Tomcat-applikationer.
Trin 6: Test af Apache Tomcat ved at oprette en testfil
Du kan kontrollere, om alt fungerer problemfrit ved at oprette en testfil inde i/opt/tomcat/webapps/ROOT/bibliotek.
Lad os oprette en sådan fil:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Inde i den fil skal du indsætte følgende kode:
<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>
Gem filen, og indstil ejerskabet som vist.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Indlæs nu filen i din browser ved hjælp af http:/ip-adresse: 8080/tecmint.jsp.
Det er det! Du har afsluttet opsætningen af din Apache Tomcat-server og kørt din første Java-kode. Vi håber, at processen var let og ligetil for dig. Hvis du står over for problemer, skal du dele dine problemer via kommentarformularen nedenfor.