Comment installer Apache Tomcat sous Ubuntu

Si vous souhaitez exécuter des pages Web qui incluent du code de page de serveur Java ou des servlets Java, vous pouvez utiliser Apache Tomcat. Il s’agit d’un serveur Web open source et d’un conteneur de servlets, publié par la Fondation Apache Software.

Tomcat peut être utilisé en tant que produit autonome, avec son propre serveur Web, ou il peut être combiné avec d’autres serveurs Web tels que Apache ou IIS. La version la plus récente de Tomcat est 9.0.14 et elle s’appuie sur Tomcat 8 et 8.5 et implémente Servlet 4.0, JSP 2.2.

Lire aussi : Comment installer Apache Tomcat 9 dans CentOS/RHEL

Les améliorations suivantes ont été apportées dans la nouvelle version :

  • Prise en charge ajoutée pour HTTP/2.
  • Prise en charge ajoutée pour l’utilisation d’OpenSSL pour la prise en charge TLS avec les connecteurs JSSE.
  • Prise en charge ajoutée pour les hôtes virtuels TLS (SNI).

Dans ce tutoriel, nous allons vous montrer comment installer Apache Tomcat 9 dans Ubuntu 18.10 et dans les anciennes versions d’Ubuntu.

Étape 1 : Installation de Java

Pour exécuter des applications Web Java, Tomcat nécessite que Java soit installé sur le serveur. Pour répondre à cette exigence, nous installerons OpenJDK comme indiqué.

$ sudo apt update
$ sudo apt install default-jdk

Étape 2 : Création d’un utilisateur Tomcat

Pour des raisons de sécurité, Tomcat doit être exécuté avec un utilisateur non privilégié, c’est-à-dire non root. C’est pourquoi nous allons créer l’utilisateur et le groupe tomcat qui exécuteront le service. Commencez par créer le groupe tomcat :

$ sudo groupadd tomcat

Ensuite, nous allons créer un utilisateur tomcat, qui sera membre du groupe tomcat. L’emplacement de la maison de cet utilisateur sera /opt/tomcat, car c’est là que nous allons installer Tomcat. Le shell sera défini sur /bin/false :

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

Maintenant, nous sommes prêts à passer à l’étape suivante et à télécharger Tomcat.

Étape 3 : Installation d’Apache Tomcat

Pour télécharger la dernière version disponible, rendez-vous sur la page de téléchargement de Tomcat et récupérez la dernière version.

Au moment de la rédaction de ce tutoriel, la dernière version de Tomcat est 9.0.14. Pour télécharger cette version, changez votre répertoire courant pour quelque chose d’autre. Par exemple, vous pouvez utiliser /tmp :

# cd /tmp

Et ensuite, en utilisant la commande wget pour télécharger l’archive Tomcat :

$ 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

Si vous souhaitez vérifier la somme de contrôle sha512 du fichier, vous pouvez lancer :

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

La valeur résultante (hash) pour les deux fichiers devrait être la même.

Comme mentionné précédemment, nous allons installer Tomcat dans /opt/tomcat. Nous devrons créer ce répertoire :

$ sudo mkdir /opt/tomcat

Et maintenant nous pouvons extraire le package téléchargé dans ce nouveau répertoire.

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

Maintenant, accédez à /opt/tomcat d’où nous mettrons à jour la propriété et les autorisations du dossier :

# cd /opt/tomcat

Et définissez le propriétaire du groupe de /opt/tomcat sur tomcat :

$ sudo chgrp -R tomcat /opt/tomcat

Nous allons ensuite mettre à jour l’accès en lecture du groupe tomcat sur le répertoire conf et définir les autorisations d’exécution sur le répertoire :

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

Ensuite, nous allons attribuer à l’utilisateur tomcat la propriété des répertoires webapps, work, temp et logs :

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

Maintenant, les autorisations et les propriétés appropriées ont été définies et nous sommes prêts à créer un fichier de démarrage systemd, qui nous aidera à gérer le processus Tomcat.

Étape 4 : Création d’un fichier de service SystemD pour Tomcat

Parce que nous voulons exécuter Tomcat en tant que service, nous aurons besoin d’un fichier qui nous aidera à gérer facilement le processus. À cette fin, nous allons créer un fichier de service systemd. Tomcat devra savoir où se trouve Java sur votre système.

Pour trouver cet emplacement, utilisez la commande suivante :

$ sudo update-java-alternatives -l

La sortie de cette commande vous montrera l’emplacement du JAVA_HOME.

Find Java Home

Maintenant, en utilisant ces informations, nous sommes prêts à créer notre fichier de service Tomcat.

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

Collez le code ci-dessous dans le fichier :

[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

Assurez-vous de définir JAVA_HOME avec celui de votre système. Lorsque vous êtes prêt, enregistrez le fichier et fermez-le. Maintenant, en utilisant la commande ci-dessous, rechargez le démon systemd afin qu’il puisse trouver notre nouveau fichier de service :

$ sudo systemctl daemon-reload

Ensuite, démarrez le service Tomcat :

$ sudo systemctl start tomcat

Vous pouvez vérifier l’état du service avec :

$ sudo systemctl status tomcat
Verify Apache Tomcat Status

Vous pouvez maintenant tester Tomcat dans votre navigateur en utilisant l’adresse IP de votre système suivie du port par défaut du service 8080.

http://ip-address:8080

Le résultat que vous devriez voir devrait être similaire à celui montré dans l’image ci-dessous :

Apache Tomcat Web Page

Si vous ne voyez pas la sortie ci-dessus, vous devrez peut-être autoriser le port 8080 dans votre pare-feu comme indiqué.

$ sudo ufw allow 8080

Si vous souhaitez que Tomcat démarre à chaque démarrage du système, exécutez :

$ systemctl enable tomcat

Étape 5 : Configuration d’Apache Tomcat

Tomcat dispose d’une application de gestion web préinstallée. Pour l’utiliser, nous devrons configurer l’authentification dans notre fichier tomcat-users.xml. Ouvrez et modifiez ce fichier avec votre éditeur de texte préféré :

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

Nous allons ajouter un utilisateur qui pourra accéder aux interfaces manager et admin. Pour configurer un tel utilisateur, entre les balises <tomcat-users> </tomcat-users>, ajoutez la ligne suivante :

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

Assurez-vous de changer :

  • Nom d’utilisateur – avec l’utilisateur que vous souhaitez authentifier.
  • Mot de passe – avec le mot de passe que vous souhaitez utiliser pour l’authentification.
Configure Apache Tomcat

Comme l’accès par défaut à Host Manager et Manager est restreint, nous souhaiterons soit supprimer soit modifier ces restrictions. Pour apporter de telles modifications, vous pouvez charger les fichiers suivants :

Pour l’application Manager :

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

Pour l’application Host Manager :

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

Dans ces fichiers, vous pouvez soit commenter la restriction IP ou autoriser votre adresse IP publique. Pour les besoins de ce tutoriel, j’ai commenté la ligne :

Allow Apache Tomcat Access

. Pour rendre nos modifications en vigueur, rechargez le service tomcat avec :

$ sudo systemctl restart tomcat 


Vous pouvez maintenant tester l’application
manager en accédant à http://ipaddress:8080/manager/. Lorsque vous serez invité à entrer un nom d’utilisateur et un mot de passe, utilisez ceux que vous avez configurés plus tôt. L’interface que vous devriez voir après cela ressemble à cela :

Access Apache Tomcat Manager

. Pour accéder à Host manager, vous pouvez utiliser http://ip-address:8080/host-manager/.

Access Apache Tomcat Virtual Host Manager

En utilisant le gestionnaire de hôtes virtuels, vous pouvez créer des hôtes virtuels pour vos applications Tomcat.

Étape 6 : Tester Apache Tomcat en Créant un Fichier de Test

Vous pouvez vérifier si tout fonctionne bien en créant un fichier de test à l’intérieur du répertoire /opt/tomcat/webapps/ROOT/.

Créons ce fichier :

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

Dans ce fichier, collez le code suivant :

<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>

Enregistrez le fichier et affectez les droits d’ownership comme indiqué.

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

Maintenant, chargez ce fichier dans votre navigateur en utilisant http://ip-address:8080/tecmint.jsp.

Test Apache Tomcat

C’est fini ! Vous avez terminé la configuration de votre serveur Apache Tomcat et exécuté votre premier code Java. Nous espérons que le processus a été facile et direct pour vous. Si vous rencontrez des problèmes, n’hésitez pas à partager vos difficultés via le formulaire de commentaires ci-dessous.

Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/