Zoeken op website

Hoe Apache Tomcat in Ubuntu te installeren


Als u webpagina's wilt uitvoeren die Java-serverpaginacodering of Java-servlets bevatten, kunt u Apache Tomcat gebruiken. Het is een open source webserver en servletcontainer, uitgegeven door Apache Software Foundation.

Tomcat kan worden gebruikt als een zelfstandig product, met een eigen webserver, of kan worden gecombineerd met andere webservers zoals Apache of IIS. De meest recente versie van Tomcat is 9.0.14 en bouwt voort op Tomcat 8 en 8.5 en implementeert Servlet 4.0, JSP 2.2.

Lees ook: Apache Tomcat 9 installeren in CentOS/RHEL

In de nieuwe versie zijn de volgende verbeteringen aangebracht:

  • Ondersteuning toegevoegd voor HTTP/2.
  • Ondersteuning toegevoegd voor het gebruik van OpenSSL voor TLS-ondersteuning met de JSSE-connectoren.
  • Ondersteuning toegevoegd voor TLS virtuele hosts (SNI).

In deze tutorial laten we u zien hoe u Apache Tomcat 9 installeert in Ubuntu 18.10 en een oudere versie van Ubuntu.

Stap 1: Java installeren

Om Java-webapplicaties uit te voeren, vereist Tomcat dat Java op de server is geïnstalleerd. Om aan deze vereiste te voldoen, installeren we OpenJDK zoals weergegeven.

sudo apt update
sudo apt install default-jdk

Stap 2: Een Tomcat-gebruiker aanmaken

Om veiligheidsredenen moet Tomcat worden uitgevoerd met een niet-bevoorrechte gebruiker, dat wil zeggen niet-root. Daarom zullen we een gebruikers- en groepskater creëren die de service zal uitvoeren. Begin met het maken van de katergroep:

sudo groupadd tomcat

Vervolgens maken we een tomcat-gebruiker aan, die lid zal zijn van de tomcat-groep. De thuislocatie van deze gebruiker is /opt/tomcat, aangezien we Tomcat hier gaan installeren. De shell wordt ingesteld op /bin/false:

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

Nu zijn we klaar om door te gaan met de volgende stap en Tomcat te downloaden.

Stap 3: Apache Tomcat installeren

Om het nieuwste beschikbare pakket te downloaden, gaat u naar de downloadpagina van Tomcat en downloadt u de nieuwste versie.

Op het moment dat deze tutorial wordt geschreven, is de nieuwste versie van Tomcat 9.0.14. Om die versie te downloaden, wijzigt u uw huidige map in iets anders. U kunt bijvoorbeeld /tmp gebruiken:

cd /tmp

En gebruik vervolgens de wget-opdracht om het Tomcat-archief te downloaden:

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

Als je de sha512-som van het bestand wilt verifiëren, kun je het volgende uitvoeren:


sha512sum apache-tomcat-9.0.14.tar.gz
cat apache-tomcat-9.0.14.tar.gz.sha512

De resulterende waarde (hash) voor beide bestanden moet hetzelfde zijn.

Zoals eerder vermeld, gaan we Tomcat installeren in /opt/tomcat. We zullen die map moeten maken:

sudo mkdir /opt/tomcat

En nu kunnen we het gedownloade pakket uitpakken in die nieuwe map:

sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1

Navigeer nu naar /opt/tomcat waar we het eigenaarschap en de rechten van de map zullen bijwerken:

cd /opt/tomcat

En stel de groepseigenaar van /opt/tomcat in op tomcat:

sudo chgrp -R tomcat /opt/tomcat

We zullen vervolgens de leestoegang van de tomcat-groep via de conf-map bijwerken en uitvoerrechten instellen op de map:

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

Vervolgens maken we tomcat gebruiker-eigenaar van de mappen webapps, werk, temp en logs:

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

Nu zijn de juiste rechten en eigendommen ingesteld en zijn we klaar om een systemd startbestand te maken, dat ons zal helpen het Tomcat-proces te beheren.

Stap 4: Een SystemD-servicebestand maken voor Tomcat

Omdat we Tomcat als een service willen gebruiken, hebben we een bestand nodig waarmee we het proces eenvoudig kunnen beheren. Voor dat doel zullen we een systemd servicebestand aanmaken. Tomcat zal moeten weten waar Java zich op uw systeem bevindt.

Gebruik de volgende opdracht om die locatie te vinden:

sudo update-java-alternatives -l

De uitvoer van dat commando toont u de locatie van de JAVA_HOME.

Met behulp van die informatie zijn we nu klaar om ons Tomcat-servicebestand te maken.

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

Plak onderstaande code in het bestand:

[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

Zorg ervoor dat u JAVA_HOME instelt met de versie voor uw systeem. Wanneer u klaar bent, slaat u het bestand op en sluit u het. Gebruik nu de onderstaande opdracht om de systemd-daemon opnieuw te laden, zodat deze ons nieuwe servicebestand kan vinden:

sudo systemctl daemon-reload

Start vervolgens de Tomcat-service:

sudo systemctl start tomcat

U kunt de servicestatus verifiëren met:

sudo systemctl status tomcat

U kunt Tomcat nu in uw browser testen door het IP-adres van uw systeem te gebruiken, gevolgd door de standaardpoort van de service 8080.

http://ip-address:8080

Het resultaat dat u zou moeten zien, is vergelijkbaar met het resultaat in de onderstaande afbeelding:

Als u de bovenstaande uitvoer niet ziet, moet u mogelijk poort 8080 in uw firewall toestaan, zoals weergegeven.

sudo ufw allow 8080

Als je wilt dat Tomcat start bij het opstarten van het systeem, voer je het volgende uit:

systemctl enable tomcat

Stap 5: Apache Tomcat configureren

Tomcat heeft een webmanager-app die vooraf is geïnstalleerd. Om het te kunnen gebruiken, moeten we authenticatie instellen in ons tomcat-users.xml bestand. Open en bewerk dat bestand met uw favoriete teksteditor:

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

We gaan een gebruiker toevoegen die toegang heeft tot de manager- en admin-interfaces. Om een dergelijke gebruiker te configureren, voegt u tussen de tags de volgende regel toe:

<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

Zorg ervoor dat u het volgende wijzigt:

  • Gebruikersnaam – met de gebruiker die u wilt authenticeren.
  • Wachtwoord – met het wachtwoord dat u wilt gebruiken voor authenticatie.

Omdat de toegang tot de Host Manager en Manager standaard beperkt is, willen we deze beperkingen verwijderen of wijzigen. Om dergelijke wijzigingen aan te brengen, kunt u de volgende bestanden laden:

Voor Manager-app:

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

Voor de Host Manager-app:

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

In deze bestanden kunt u commentaar geven op de IP-beperking of uw openbare IP-adres daarin toestaan. Voor deze tutorial heb ik commentaar gegeven op de regel:

Om onze wijzigingen live te maken, laadt u de tomcat-service opnieuw met:

sudo systemctl restart tomcat 


U kunt nu de manager-app testen door naar http://ipadres:8080/manager/ te gaan. Wanneer u om een gebruikersnaam en wachtwoord wordt gevraagd, gebruikt u de instellingen die u eerder hebt geconfigureerd. De interface die je daarna zou moeten zien, ziet er als volgt uit:

Om toegang te krijgen tot de Hostmanager kunt u http://ip-adres:8080/host-manager/ gebruiken.

Met behulp van de virtuele hostmanager kunt u virtuele hosts maken voor uw Tomcat-applicaties.

Stap 6: Apache Tomcat testen door een testbestand te maken

U kunt controleren of alles soepel werkt door een testbestand te maken in de map /opt/tomcat/webapps/ROOT/.

Laten we zo’n bestand maken:

sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp

Plak in dat bestand de volgende 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>

Sla het bestand op en stel het eigendom in zoals weergegeven.

sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp

Laad dat bestand nu in uw browser met behulp van http://ip-adres:8080/tecmint.jsp.

Dat is het! U hebt de installatie van uw Apache Tomcat-server voltooid en uw eerste Java-code uitgevoerd. We hopen dat het proces gemakkelijk en duidelijk voor u was. Als u problemen ondervindt, deel uw problemen dan via het onderstaande opmerkingenformulier.