Apache Tomcat 9 installeren en instellen op Ubuntu 20.04 LTS

Apache Tomcat is een open-source Java Servlet implementatie, ontwikkeld door de Apache Software Foundation. Behalve een Java Servlet container ondersteunt Tomcat ook andere Java server technologie├źn, waaronder JavaServer Pages (JSP), Java Expression Language, en Java WebSocket.

Apache Tomcat biedt een HTTP Web Server voor Java toepassingen die HTTP/2, OpenSSL voor JSSE, en TLS virtual hosting ondersteunt.

In deze handleiding laten we je zien hoe je Apache Tomcat 9.0.34 met de Java OpenJDK 11 installeert en configureert op de nieuwste versie van ubuntu 20.04 Server.

Vereisten

Voor deze zelfstudie installeren we de Apache Tomcat op de Ubuntu 20.04 Server met 1 GB RAM, 25 GB vrije schijfruimte, en 2 CPUs.

Wat zullen we doen?

  • Installeer Java OpenJDK
  • Stel JAVA_HOME omgevingsvariabele in
  • Download en installeer Apache Tomcat 9.0.34
  • Installeer Apache Tomcat als een Systemd dienst
  • Instellen Apache Tomcat Authenticatie
  • Testen van

Stap 1 – Installeer Java OpenJDK

Eerst installeren we de Java OpenJDK pakketten op onze Ubuntu 20.04 Server.

Standaard bevat de nieuwste Ubuntu 20.04 repository meerdere Java versies, waaronder OpenJDK 11.

Werk alle repository’s op je systeem bij en installeer Java OpenJDK 11 met het apt commando zoals hieronder.

sudo apt update
sudo apt install default-jdk

Als alle installatie voltooid is, controleer dan je Java versie zoals hieronder.

java -version

Hieronder staat het antwoord dat je krijgt.

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Zoals te zien is, is Java OpenJDK 11 nu geïnstalleerd op de Ubuntu 20.04 Server.

Stap 2 – Stel de JAVA_HOME omgevingsvariabele in

Na de installatie van java OpenJDK 11, gaan we de JAVA_HOME omgevingsvariabele op ons systeem instellen.

Controleer alle beschikbare Java versies op je systeem met het volgende commando.

sudo update-alternatives --config java

Als je alleen de Java OpenJDK op je systeem hebt, krijg je het onderstaande antwoord.

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-11-openjdk-amd64/bin/java
Nothing to configure.

Als je meerdere Java versies gebruikt, kies dan de standaard java versie op je omgeving.

Zoals te zien is, staat de Java OpenJDK 11 installatiedirectory in de ‘/usr/lib/jvm/java-11-openjdk-amd64’.

Bewerk vervolgens de ‘/etc/environment’ configuratie met de vim editor.

vim /etc/environment

Plak er de volgende configuratie in.

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

Bewaar en sluit.

Bewerk vervolgens je ‘~/.bashrc’ configuratiebestand.

vim ~/.bashrc

Voeg er de volgende omgevingsvariabele in toe.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

Bewaar en sluit.

Herlaad nu je ‘~/.bashrc’ configuratie en controleer de ‘JAVA_HOME’ omgevingsvariabele.

source ~/.bashrc
echo $JAVA_HOME

Hieronder staat het resultaat dat je krijgt.

Het resultaat is dat th ‘JAVA_HOME’ omgevingsvariabele is aangemaakt, die zich bevindt in de Java OpenJDK 11 installatiedirectory ‘/usr/lib/jvm/java-11-openjdk-amd64’.

Stap 3 – Installeer en configureer Apache Tomcat

In deze stap downloaden en installeren we Apache Tomcat 9.0.34. De Apache Tomcat zal draaien onder de gebruiker ‘tomcat’ in de directory ‘/opt/tomcat’.

Maak een nieuwe gebruiker en groep met de naam ‘tomcat’ met het onderstaande commando.

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

Ga vervolgens naar de ‘/opt/’ directory en download de Apache Tomcat met het wget commando hieronder.

cd /opt/
wget -q https://downloads.apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz

Pak na het downloaden het binaire Apache Tomcat bestand uit en hernoem de directory naar ‘tomcat’.

tar -xf apache-tomcat-9.0.34.tar.gz
mv apache-tomcat-9.*/ tomcat/

Verander vervolgens het eigendom van de ‘/opt/tomcat’ directory in de gebruiker ‘tomcat’.

chown -R tomcat:tomcat /opt/tomcat
chmod +x /opt/tomcat/bin/*

De Apache Tomcat is gedownload in de ‘/opt/tomcat’ directory.

Vervolgens configureren we de Apache Tomcat ‘CATALINA_HOME’ omgevingsvariabele, die in de ‘/opt/tomcat’ directory staat.

Bewerk de ‘~/.bashrc’ configuratie met een vim editor.

vim ~/.bashrc

Plak er de volgende configuratie in.

export CATALINA_HOME=/opt/tomcat

Bewaar en sluit.

Herlaad nu het ‘~/.bashrc’ configuratiebestand en controleer de ‘CATALINA_HOME’ omgevingsvariabele.

source ~/.bashrc
echo $CATALINA_HOME

Je krijgt ‘/opt/tomcat’ als waarde van de omgevingsvariabele ‘CATALINA_HOME’.

Nu kun je de Apache Tomcat handmatig starten met het volgende commando.

$CATALINA_HOME/bin/startup.sh

Je krijgt het commando Apache Tomcat is gestart.

De Apache Tomcat is up and running op het Ubuntu systeem, en hij draait op standaard poort ‘8080’. Controleer het met het volgende commando.

ss -plnt

En je krijgt de poort ‘8080’ die door de Java toepassing gebruikt wordt.

Stop nu de Apache Tomcat en verander het eigendom van de ‘/opt/tomcat’ directory naar de ‘tomcat’ gebruiker zoals hieronder.

$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/

Daarmee zijn de installatie en configuratie van Apache Tomcat voltooid.

Stap 4 – Stel Apache Tomcat in als een Systemd dienst

Voor deze zelfstudie zullen we de Apache Tomcat als een systemd dienst draaien. En voor deze stap maken we een nieuw systemd service bestand met de naam ‘tomcat.service’ voor onze Apache Tomcat installatie.

Ga naar de ‘/etc/systemd/system’ directory en maak een nieuw service bestand ‘tomcat.service’.

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

Plak er nu de volgende configuratie in.

[Unit]
Description=Apache Tomcat 9 Servlet Container
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

Bewaar en sluit.

Herlaad vervolgens de systemd manager.

systemctl daemon-reload

Start nu de Apache Tomcat dienst en voeg hem toe aan het systeem opstarten.

systemctl start tomcat
systemctl enable tomcat

De Apache Tomcat dienst is up and running als een systemd dienst, controleer hem met het volgende commando.

ss -plnt
systemctl status tomcat

Hieronder staat het resultaat dat je krijgt.

Het resultaat is dat de configuratie van Apache Tomcat als systemd dienst voltooid is.

Stap 5 – Schakel Apache Tomcat Authenticatie in

In deze stap schakelen we de Apache Tomcat authenticatie in voor zowel de manager als de host-manager.

Ga eerst naar de ‘/opt/tomcat/conf’ directory en bewerk de configuratie ‘tomcat-users.xml.

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

Verander de gebruikersnaam en het wachtwoord met je eigen en plak er de volgende configuratie in.

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

Sla op en sluit.

Ga vervolgens naar de ‘/opt/tomcat/webapps/manager/META-INF/’ directory en bewerk de Apche Tomcat mnager configuratie ‘context.xml’.

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

Commentarieer de volgende regel hieronder.

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

Sla op en sluit.

Ga vervolgens naar de ‘/opt/tomcat/webapps/host-manager/META-INF/’ directory nd bewerk de Apache Tomcat hos- manager configuratie ‘context.xml’.

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

Commentarieer de volgende regel hieronder.

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

Sla op en sluit.

Herstart nu de Apache Tomcat dienst met het onderstaande commando.

systemctl restart tomcat

Het resultaat is dat de Apache Tomcat authenticatie voor manager en host-manager ingeschakeld is.

Stap 6 – Testen

Open je web browser en typ het server IP adres met poort 8080. En je ziet de Apache Tomcat standaard index pagina die informeert dat de installatie geslaagd is.

http://10.5.5.34:8080/

Voeg vervolgens het ‘/manager/html’ pad toe aan de URL en je wordt gevraagd om de Tomcat manager authenticatie.

http://10.5.5.34:8080/manager/html

Typ je gebruikersnaam en wachtwoord, en je krijgt het Apache Tomcat Manager Dashboard.

Ga vervolgens naar de Apache Tomcat virtualhost manager ‘/host-manager/html’.

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

En je krijgt de Apache Tomcat virtual host manager zoals hieronder.

Als resultaat is de installatie van Apache Tomcat op Ubuntu 20.04 met succes voltooid.