Comment installer Apache Tomcat sur Ubuntu 22.04

Apache Tomcat ou « Tomcat » est un conteneur de servlets Java gratuit et open-source pour le code et les applications Java. Créé à l’origine par Sun Microsystem, il a ensuite fait don de la base de code à l’Apache Software Foundation et a été distribué sous la licence Apache v2. Apache Tomcat fournit un environnement de serveur HTTP « pur Java » dans lequel le code Java peut s’exécuter. C’est aussi une mise en œuvre des technologies JavaServer Pages, Java Expression Language et WebSocket.

Tomcat est l’une des implémentations de Java Servlet les plus populaires. Il prend en charge SSL pour sécuriser les données sensibles comme l’authentification. De plus, il est léger en ressources serveur et multiplateforme, pouvant être installé sur des systèmes d’exploitation de type Unix, Windows et macOS.

Dans ce tutoriel, nous allons te montrer, étape par étape, comment installer le serveur Java Apache Tomcat sur le serveur Ubuntu 22.04. Ce post montrera deux méthodes différentes pour installer Apache Tomcat sur le système Ubuntu et comment configurer Apache2 comme proxy inverse pour l’application Apache Tomcat.

Conditions préalables

Avant de commencer ce tutoriel, tu dois avoir les conditions suivantes :

  • Un serveur Ubuntu 22.04
  • Un utilisateur root ou un utilisateur non-root avec les privilèges sudo/root/administrateur.

Installer Java OpenJDK

Apache Tomcat est une application basée sur Java. Dans cette section, tu vas installer le paquet Java OpenJDK sur le serveur Ubuntu avant de commencer à installer Apache Tomcat. Le dépôt par défaut d’Ubuntu fournit le paquet java OpenJDK v11, qui convient à la dernière version d’installation d’Apache Tomcat, aussi bien Tomcat v9 que Tomcat v10.

Avant d’installer tout paquet, exécute la commande apt ci-dessous pour mettre à jour et rafraîchir ton référentiel Ubuntu.

sudo apt update

Installe maintenant le Java OpenJDK à l’aide de la commande suivante. Cette commande installera la version OpenJDK par défaut fournie par le référentiel Ubuntu, qui est OpenJDK v11. Saisis maintenant Y pour confirmer l’installation et appuie sur ENTRÉE, et l’installation d’OpenJDK commencera.

sudo apt install default-jdk

installe java

Une fois l’installation d’OpenJDK terminée, exécute la commande java ci-dessous pour contrôler et vérifier la version de Java OpenJDK. Tu devrais obtenir le résultat d’OpenJDK v11 installé sur ta machine Ubuntu.

java -version

Vérifie la version de java

Installer Apache Tomcat

Sur les systèmes Ubuntu, Apache Tomcat peut être installé de deux manières différentes :

  • À partir du dépôt APT d’Ubuntu: La dernière version d’Ubuntu 22.04 fournit le paquet Apache Tomcat version 9. Cela convient donc si tu as juste besoin d’Apache Tomcat pour ton application, mais pas d’une version spécifique de Tomcat.
  • À partir de la distribution binaire: Cette méthode consiste à installer Apache Tomcat manuellement sur ton système Ubuntu, ce qui convient mieux si tu veux installer une version spécifique d’Apache Tomcat. Tu peux télécharger la version spécifique d’Apache Tomcat dont tu as besoin. Ensuite, installe-la étape par étape manuellement sur ton système.

Depuis le dépôt APT d’Ubuntu

Avant d’installer Apache Tomcat, exécute la commande suivante pour vérifier et contrôler les paquets disponibles portant le nom « tomcat ». Et tu devrais voir que le dépôt Ubuntu 22.04 propose Apache Tomcat v9. Le« tomcat9 » est le paquet principal d’Apache Tomcat, le« tomcat9-admin » est un paquet qui contient des applications web d’administration pour Apache Tomcat, et le« tomcat9-examples » est un exemple d’applications Apache Tomcat allant du simple « hello world » à l’API.

sudo apt search tomcat

recherche le paquet apache tomcat

Pour obtenir les détails sur le paquet Apache Tomcat 9, exécute la commande suivante. Comme tu peux le voir, Apache Tomcat 9 est disponible dans la section du dépôt Ubuntu « universe/java » et maintenu par les développeurs Ubuntu.

sudo apt info tomcat9

Vérifie les informations sur les paquets d'apache tomcat9

Exécute maintenant la commande apt ci-dessous pour installer les paquets Apache Tomcat 9 sur ton système. Saisis Y pour confirmer l’installation et appuie sur ENTRÉE, et l’installation commencera.

sudo apt install tomcat9 tomcat9-admin tomcat9-examples

installe apache tomcat9

Une fois l’installation d’Apache Tomcat terminée, exécute la commande ci-dessous pour contrôler et vérifier le service Apache Tomcat« tomcat9« . Tu devrais voir que le service« tomcat9 » est activé, et qu’il sera automatiquement lancé au démarrage du système. Et l’état actuel du service« tomcat9 » est en cours d’exécution.

sudo systemctl is-enabled tomcat9
sudo systemctl status tomcat9

Vérifier le service apache tomcat9

En installant Apache Tomcat à partir du dépôt APT d’Ubuntu, tu devrais connaître certaines des configurations importantes pour Apache Tomcat :

  • /etc/default/tomcat9 – La configuration par défaut pour gérer des éléments tels que« JAVA_OPTS« ,« JSP_COMPILER« , et bien d’autres qui sont liés au démarrage d’Apache Tomcat.
  • /etc/tomcat9/ – Le répertoire principal des fichiers de configuration d’Apache Tomcat.
  • /var/lib/tomcat9 – Le répertoire de données pour Apachet Tomcat, qui contient notamment les « webapps » par défaut pour Apache Tomcat.
  • /usr/share/tomcat9-admin/ – Le répertoire principal de l’application Web d’administration de Tomcat.

Enfin, pour contrôler et vérifier l’installation d’Apache Tomcat, ouvre le navigateur Web et visite l’adresse IP du serveur avec le port 8080 (c’est-à-dire http://192.168.5.75:8080/). Et tu devrais voir la page index.html par défaut de ton installation Apache Tomcat.

index par défaut de tomcat9

À partir de la distribution binaire

Maintenant, si tu as besoin par exemple d’un Apache Tomcat spécifique pour ton application, tu devras l’installer manuellement à partir de la distribution binaire. Dans l’exemple suivant, tu vas installer manuellement la dernière version d’Apache Tomcat v10 sur le serveur Ubuntu à l’aide de la distribution binaire.

Pour installer Apache Tomcat manuellement à l’aide de la Distribution binaire, tu dois suivre les étapes ci-dessous :

Tout d’abord, tu dois créer un nouvel utilisateur nommé« tomcat » sur ton système. Exécute la commande suivante.

sudo useradd -m -u -d /opt/tomcat -s /usr/sbin/nologin tomcat

Télécharge ensuite la Distribution binaire Apache Tomcat à l’aide de la commande suivante. Dans cet exemple, tu vas installer Apache Tomcat 10.0.22.

export VERSION=10.0.22
wget https://www-eu.apache.org/dist/tomcat/tomcat-10/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz

Ensuite, exécute la commande suivante pour créer un nouveau répertoire d’installation pour Apache Tomcat « /opt/tomcat » et extraire le Paquet Binaire d’Apache Tomcat dans celui-ci.

mkdir -p /opt/tomcat
sudo tar -xf apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat

Exécute la commande suivante pour créer un nouveau lien symbolique du répertoire Apache Tomcat vers « /opt/tomcat/latest ». Cela facilitera ton répertoire d’installation d’Apache, qui est le répertoire« /opt/tomcat/latest« .

sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest

Ensuite, change la propriété du répertoire principal d’installation d’Apache Tomcat« /opt/tomcat » à l’utilisateur et au groupe corrects nommés« tomcat« .

sudo chown -R tomcat:tomcat /opt/tomcat

À ce stade, tu as terminé l’installation de base d’Apache Tomcat en utilisant la distribution binaire.

Tu vas maintenant devoir créer un nouveau fichier de service systemd pour configurer Apache Tomcat comme un service systemd. Cela te permettra de gérer plus facilement le processus Apache Tomcat.

Pour configurer Apache Tomcat en tant que service systemd, tu dois créer un nouveau service systemd. Exécute la commande suivante pour le créer.

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

Ajoute la configuration suivante au fichier.

[Unit]
Description=Tomcat 10 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Enregistre et ferme le fichier lorsque tu as terminé.

Ensuite, recharge le gestionnaire systemd pour appliquer les nouvelles modifications sur le systemd à l’aide de la commande ci-dessous.

sudo systemctl daemon-reload

Tu peux maintenant démarrer et activer le service Apache Tomcat à l’aide de la commande ci-dessous. Le service Apache Tomcat est activé, et il sera en marche.

sudo systemctl enable tomcat
sudo systemctl start tomcat

Exécute la commande ci-dessous pour vérifier et contrôler le service Apache Tomcat. Tu devrais voir que le service Apache Tomcat fonctionne.

sudo systemctl status tomcat

Vérifier le service Tomcat

Enfin, ouvre ton navigateur Web et visite l’adresse IP de ton serveur suivie du port par défaut d’Apache Tomcat« 8080 » (c’est-à-dire : http://192.169.5.75:8080/). Et tu devrais voir la page d’index par défaut de ton installation Apache Tomcat.

tomcat index 10

Configuration de l’interface de gestion Web

Dans cette section, tu vas configurer l’authentification pour l’interface d’administration et de gestion Web d’Apache Tomcat. Tu vas configurer un utilisateur admin pour l’administration d’Apache Tomcat via le fichier de configuration « tomcat-users.xml », qui est disponible dans le répertoire « conf » d’Apache Tomcat.

Si tu as installé Apache Tomcat via le dépôt APT d’Ubuntu, modifie le fichier de configuration « /etc/tomcat9/tomcat-users.xml » à l’aide de la commande suivante.

sudo nano /etc/tomcat9/tomcat-users.xml

Et si tu as installé Apache Tomcat via la distribution binaire, tu dois modifier le fichier de configuration« /opt/tomcat/latest/tomcat-users.xml » à l’aide de la commande suivante.

sudo nano /opt/tomcat/latest/tomcat-users.xml

Ajoute la configuration suivante dans la section« <tomcat-users>…..</tomcat-users>« . Veille à modifier le nom d’utilisateur« admin » et le mot de passe« tomcatadmin« .

<tomcat-users>

<!--
    user: admin pass: tomcatadmin
-->
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="admin" password="tomcatadmin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>

</tomcat-users>

Enregistre et ferme le fichier lorsque tu as terminé.

Ensuite, modifie le fichier de configuration « context.xml » dans les deux répertoires Tomcat« manager » et« host-manager« .

Pour Apache Tomcat installé via le dépôt APT d’Ubuntu, exécute la commande ci-dessous.

sudo nano /usr/share/tomcat9-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat9-admin/manager/META-INF/context.xml

Pour Apache Tomcat installé via la distribution binaire, exécute la commande ci-dessous.

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

Tu as maintenant deux options différentes pour configurer le gestionnaire et le host-manager de Tomcat :

Pour rendre le gestionnaire et le host-manager d’Apache Tomcat accessibles au public, utilise la configuration suivante. En mettant un commentaire dans la configuration« <Valve className= »org.apache.catalina.valves.RemoteAddrValve »« .

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

Mais si tu veux que le gestionnaire Apache Tomcat et le gestionnaire d’hôte soient disponibles pour l’adresse IP d’un client spécifique, tu peux utiliser la configuration suivante.

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

Enregistre et ferme le fichier lorsque tu as terminé.

Enfin, exécute la commande suivante pour redémarrer le service Apache Tomcat et appliquer les nouvelles modifications aux fichiers de configuration de Tomcat.

Pour Apache Tomcat installé via le dépôt APT d’Ubuntu, le fichier de service s’appelle« tomcat9« .

sudo systemctl restart tomcat9

Pour Apache Tomcat installé via la distribution binaire, le service que tu viens de créer s’appelle« tomcat« .

sudo systemctl restart tomcat

Tu peux maintenant visiter le gestionnaire d’applications Web Apache Tomcat via le chemin URL« /manager » (c’est-à-dire : http://192.168.5.75:8080/manager/) et le gestionnaire d’hôtes est accessible via l’URL pat« /host-manager » (c’est-à-dire : http://192.168.5.75:8080/host-manager). Lorsque tu essaies de te connecter au gestionnaire Tomcat et au host-manager, il te sera demandé l’utilisateur et le mot de passe de l’administrateur Tomcat que tu viens de définir dans le fichier de configuration« tomcat-users.xml« .

Ci-dessous se trouve la capture d’écran du gestionnaire d’applications Web Apache Tomcat.

Gestionnaire d'applications Web de Tomcat

Et ci-dessous, la capture d’écran du gestionnaire d’hôtes Apache Tomcat.

Gestionnaire d'hôtes virtuels de tomcat

Configuration du serveur Web Apache en tant que proxy inverse

À ce stade, tu as terminé l’installation d’Apache Tomcat. Dans l’étape suivante, tu vas apprendre à configurer le serveur Web Apache2 comme proxy inverse pour ton application Apache Tomcat. Pour cela, tu devras installer le serveur Web Apache2, configurer de nouveaux hôtes virtuels et activer certains modules Apache2.

Exécute la commande apt ci-dessous pour installer le serveur Web Apache2 sur ton système Ubuntu. Entre Y pour confirmer l’installation et appuie sur ENTER, et l’installation commencera.

sudo apt install apache2

installe apache2

Une fois l’installation d’Apache2 terminée, exécute la commande ci-dessous pour activer les modules Apache« proxy » et« proxy_http« . Ces modules seront utilisés pour le proxy inverse pour les applications Apache Tomcat.

sudo a2enmod proxy proxy_http

Ensuite, crée une nouvelle configuration d’hôte virtuel« /etc/apache2/sites-available/tomcat.conf » à l’aide de la commande suivante.

sudo nano /etc/apache2/sites-available/tomcat.conf

Ajoute la configuration suivante au fichier. Dans cette démo, tu vas configurer le proxy inverse pour la page d’index par défaut d’Apache Tomcat et l’application Tomcat « examples ». Lorsque tu visites le domaine « hwdomain.io », tu verras la page d’index par défaut d’Apache Tomcat. Et si tu visites le domaine « hwdomain.io/examples/ », tu verras les exemples de l’application Tomcat.

<VirtualHost *:80>
    ServerName hwdomain.io

    ProxyRequests On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    ProxyPass /examples http://localhost:8080/examples/
    ProxyPassReverse /examples http://localhost:8080/examples/

    <Location "/">
      Order allow,deny
      Allow from all
    </Location>

    <Location "/examples">
      Order allow,deny
      Allow from all
    </Location>

</VirtualHost>

Sauvegarde et ferme le fichier lorsque tu as terminé.

Exécute maintenant la commande ci-dessous pour activer la configuration de l’hôte virtuel« tomcat.conf« . Ensuite, vérifie ta configuration Apache2. Tu devrais obtenir un message de sortie tel que« Syntaxe OK« .

sudo a2ensite tomcat.conf
sudo apachectl configtest

Enfin, redémarre le service Apache2 pour appliquer les nouvelles modifications à la configuration de l’hôte virtuel.

sudo systemctl restart apache2

Retourne maintenant dans ton navigateur Web et visite le nom de domaine de ton installation Apache Tomcat (c’est-à-dire : http:hwdomain.io). Tu devrais obtenir la page d’index par défaut d’Apache Tomcat.

proxy inverse de tomcat

Pour accéder à l’application Tomcat« exemples« , tu peux simplement ajouter le chemin URL« /exemples » (c’est-à-dire : http://hwdomain.io/examples/). Et tu devrais obtenir l’application Tomcat « exemples ».

Exemples de tomcat fonctionnant sur le proxy inverse d'apache

Si tu es dans l’environnement local, tu peux simplement modifier le fichier« /etc/hosts » sur ton ordinateur et définir l’adresse IP de ton serveur et le nom de domaine.

Conclusion

Félicitations ! Tu as terminé et réussi l’installation d’Apache Tomcat sur la machine Ubuntu 22.04. Tu as appris deux méthodes différentes pour l’installation d’Apache Tomcat, via le dépôt APT d’Ubuntu, et via Binmary Distribution manuellement. En plus de cela, tu as aussi appris à configurer les utilisateurs d’Apache Tomcat pour le Gestionnaire d’applications Web Tomcat et le Gestionnaire d’hôtes. Enfin, tu as aussi appris à configurer le serveur Web Apache2 comme proxy inverse pour tes applications Apache Tomcat.

Vous aimerez aussi...