Recherche de site Web

Comment installer Apache Tomcat dans Ubuntu


Si vous souhaitez exécuter des pages Web incluant du codage de page de serveur Java ou des servlets Java, vous pouvez utiliser Apache Tomcat. Il s'agit d'un serveur Web et d'un conteneur de servlets open source, publiés par Apache Software Foundation.

Tomcat peut être utilisé comme un 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 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 à la nouvelle version :

  • Ajout de la prise en charge de HTTP/2.
  • Ajout de la prise en charge de l'utilisation d'OpenSSL pour la prise en charge de TLS avec les connecteurs JSSE.
  • Ajout de la prise en charge des hôtes virtuels TLS (SNI).

Dans ce didacticiel, nous allons vous montrer comment installer Apache Tomcat 9 dans Ubuntu 18.10 et les versions antérieures 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 un utilisateur et un 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 d'origine de cet utilisateur sera /opt/tomcat car c'est ici que nous allons installer Tomcat. Le shell doit être défini sur /bin/false :

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

Nous sommes maintenant prêts à passer à l'étape suivante et à télécharger Tomcat.

Étape 3 : Installation d'Apache Tomcat

Pour télécharger le dernier package 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 didacticiel, la dernière version de Tomcat est la 9.0.14. Pour télécharger cette version, remplacez votre répertoire actuel par autre chose. Par exemple, vous pouvez utiliser /tmp :

cd /tmp

Et puis 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 sha512 du fichier, vous pouvez exécuter :


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

La valeur résultante (hachage) pour les deux fichiers doit ê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

Accédez maintenant à /opt/tomcat à partir duquel nous mettrons à jour la propriété et les autorisations du dossier :

cd /opt/tomcat

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

sudo chgrp -R tomcat /opt/tomcat

Nous mettrons ensuite à jour l'accès en lecture du groupe Tomcat sur le répertoire conf et définirons les autorisations d'exécution sur le répertoire :

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

Ensuite, nous rendrons l'utilisateur Tomcat propriétaire des répertoires webapps, work, temp et logs :

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

Les autorisations et propriétés appropriées ont maintenant é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. Pour cela, 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

Le résultat de cette commande vous montrera l'emplacement de 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

Démarrez ensuite le service Tomcat :

sudo systemctl start tomcat

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

sudo systemctl status tomcat

Vous pouvez désormais 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 est similaire à celui présenté dans l’image ci-dessous :

Si vous ne voyez pas le résultat 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 au 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 , 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.

Puisque par défaut l'accès au Host Manager et au Manager est restreint, nous souhaiterons soit supprimer, soit modifier ces restrictions. Pour effectuer 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, soit autoriser votre adresse IP publique. Pour les besoins de ce tutoriel, j'ai commenté la ligne :

Pour rendre nos modifications actives, rechargez le service Tomcat avec :

sudo systemctl restart tomcat 


Vous pouvez désormais tester l'
application Manager en accédant à http://ipaddress:8080/manager/. Lorsque vous êtes invité à saisir votre nom d'utilisateur et votre mot de passe, utilisez ceux que vous avez configurés précédemment. L'interface que vous devriez voir ensuite ressemble à ceci :

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

À l'aide du gestionnaire d'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 correctement en créant un fichier de test dans le 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 définissez la propriété comme indiqué.

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

Chargez maintenant ce fichier dans votre navigateur en utilisant http://ip-address:8080/tecmint.jsp.

C'est ça! 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é simple et direct pour vous. Si vous rencontrez des problèmes, partagez vos problèmes via le formulaire de commentaires ci-dessous.