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.