Apache Tomcat est un serveur Web et un conteneur de servlet développé par Apache Software Foundation. Il implémente plusieurs technologies Java EE, notamment Java Servlet, JavaServer Pages, Java WebSocket et le langage Java Expression.
Dans le tutoriel d'aujourd'hui, nous allons vous montrer comment installer et configurer Apache Tomcat 9 avec Oracle Java 8.
Étape 1) Installer Oracle Java
Entrez les commandes suivantes une par une dans le terminal pour ajouter le référentiel Java, mettre à jour le système et installer Java.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-set-default
Sélectionnez "Oui" pour l'accord et l'installation se poursuivra. Une fois l'installation terminée, vous pouvez vérifier la version Java et Java Home après l'installation comme suit :
sudo java -version
sudo echo $JAVA_HOME
Étape 2) Créer un utilisateur pour Tomcat
En règle générale, nous ne vous recommandons pas d'exécuter Tomcat sous l'utilisateur root pour des raisons de sécurité. Nous vous conseillons plutôt de créer un nouvel utilisateur et un nouveau groupe. De plus, nous allons installer tomcat dans le dossier "/opt/tomcat" à utiliser comme répertoire d'accueil de l'utilisateur Tomcat.
Commencez par créer un groupe et un utilisateur.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Étape 3) Téléchargez et installez Tomcat
La version binaire de Tomcat 9 peut être téléchargée à partir de la page de téléchargement officielle. Vous pouvez télécharger le fichier "zip" ou "tar.gz" à partir de la distribution binaire dans la section "core".

Nous allons installer Tomcat dans le répertoire "/opt". Nous allons donc télécharger le package à cet emplacement.
Changer de répertoire pour /opt
cd /opt
Copiez l'URL de téléchargement et collez-la dans le wget ci-dessous commande pour télécharger le package Tomcat :
sudo wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
Extraire le tar paquet.
sudo tar -xvzf apache-tomcat-9.0.14.tar.gz
Renommez le fichier extrait en tomcat .
sudo mv apache-tomcat-9.0.14 tomcat
Modifier la propriété et les autorisations du dossier Tomcat.
sudo chown -R tomcat: tomcat
Donnez l'autorisation d'exécution au répertoire "bin".
sudo chmod o+x /opt/tomcat/bin/
Étape 4) Créer un fichier "systemd" pour la gestion du service Tomcat
Pour démarrer et arrêter le service Tomcat, nous allons créer un fichier appelé "tomcat.service" dans le "/etc/systemd/system".
sudo vim /etc/systemd/system/tomcat.service
Ajoutez le contenu suivant au fichier.
[Unit] Description=Tomcat 9 Server After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-8-oracle" Environment="JAVA_OPTS=-Xms512m -Xmx512m" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
Ensuite, enregistrez et le fichier de sortie.
Redémarrez "systemctl deamon".
sudo systemctl daemon-reload
Démarrez le service Tomcat.
sudo systemctl start tomcat
Surveillez le fichier journal de Tomcat.
tail -f /opt/tomcat/logs/catalina.out
S'il n'y a pas d'erreur, vous obtiendrez une sortie similaire à celle ci-dessous :

Vérifiez l'état du service Tomcat.
sudo systemctl status tomcat

Activer le service Tomcat au démarrage du système :
sudo systemctl enable tomcat
Le port Tomcat par défaut est "8080". Vous devez donc autoriser ce port sur le pare-feu Ubuntu.
sudo ufw allow 8080/tcp
Vérifiez l'état du pare-feu :
sudo ufw status
Étape 5) Configurer l'interface de gestion Web de Tomcat
Modifier les utilisateurs Tomcat fichier comme suit pour ajouter la ligne suivante avant "". Évidemment, vous devrez remplacer le nom du rôle, le nom d'utilisateur et le mot de passe comme vous le souhaitez dans la commande suivante :
sudo vim /opt/tomcat/conf/tomcat-users.xml
<role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="tomcatadmin" password="abc123" roles="admin-gui,manager-gui"/>
Redémarrez Tomcat pour que la nouvelle configuration prenne effet.
sudo systemctl restart tomcat
Étape 6) Testez Tomcat
Si vous avez réussi jusqu'ici, vous devriez pouvoir parcourir le serveur Tomcat. Lancez l'URL suivante dans le navigateur.
http://serverIp:8080
Vous devriez voir la page comme suit :

Cliquez sur l'application du gestionnaire ou sur le gestionnaire de l'hôte. Vous devriez voir une invite pour le nom d'utilisateur et le mot de passe. Entrez le nom d'utilisateur et le mot de passe tomcat qui ont été créés dans le fichier "tomcat-users.xml" à l'étape 5.

Si tout s'est bien passé, vous devriez obtenir une erreur "Accès refusé". C'est tout à fait normal.

Le raisonnement derrière cette erreur est que l'interface de gestion Web de Tomcat est configurée pour restreindre l'accès au gestionnaire d'applications et au gestionnaire d'hôte uniquement à partir de l'hôte local. Par conséquent, l'accès IP à distance doit être activé. Ceci n'est pas recommandé pour les environnements de production.
Cependant, voici comment supprimer ces restrictions et activer notre IP publique.
Ouvrez le fichier suivant pour gérer les paramètres de l'application :
sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Pour les configurations Host Manager :
sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Modifiez la section suivante dans les deux fichiers. Remplacez votre adresse IP publique par "votreIP" dans la commande ci-dessous.
<Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|yourIP" /> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context>

Redémarrez Tomcat, puis parcourez à nouveau Tomcat, puis cliquez sur Manager App ou Host Manager. Vous ne devriez voir aucun problème maintenant.
sudo systemctl restart tomcat
Gestionnaire d'applicationsHost Manager

État du serveur

Toutes nos félicitations! Vous avez maintenant installé et configuré avec succès Tomcat 9. Comment les instructions ont-elles fonctionné pour vous ? Faites-nous part de vos commentaires dans les commentaires ci-dessous et n'oubliez pas de partager le didacticiel avec vos amis !