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.