GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Tomcat 9 sur Ubuntu 20.04

Ce tutoriel décrit comment installer et configurer Tomcat 9 sur Ubuntu 20.04.

Apache Tomcat est un serveur Web open source et un conteneur de servlets Java. C'est l'un des choix les plus populaires pour créer des sites Web et des applications basés sur Java. Tomcat est léger, facile à utiliser et dispose d'un solide écosystème de modules complémentaires.

Installation de Java #

Tomcat 9 nécessite l'installation de Java SE 8 ou version ultérieure sur le système. Nous allons installer OpenJDK 11, l'implémentation open source de la plate-forme Java.

Exécutez les commandes suivantes en tant qu'utilisateur root ou utilisateur avec les privilèges sudo ou root pour mettre à jour l'index des packages et installer le package JDK OpenJDK 11 :

sudo apt updatesudo apt install openjdk-11-jdk

Une fois l'installation terminée, vérifiez-la en vérifiant la version de Java :

java -version

Le résultat devrait ressembler à ceci :

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Création d'un numéro d'utilisateur système

L'exécution de Tomcat sous l'utilisateur root présente un risque de sécurité. Nous allons créer un nouvel utilisateur système et un groupe avec le répertoire personnel /opt/tomcat qui exécutera le service Tomcat. Pour cela, saisissez la commande suivante :

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Téléchargement de Tomcat #

La distribution binaire de Tomcat est disponible au téléchargement à partir de la page de téléchargement de Tomcat.

Au moment de la rédaction, la dernière version de Tomcat est 9.0.35 . Avant de passer à l'étape suivante, consultez la page de téléchargement de Tomcat 9 pour voir si une version plus récente est disponible.

Utilisez wget pour télécharger le fichier zip Tomcat dans le /tmp répertoire :

VERSION=9.0.35wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp

Une fois le téléchargement terminé, extrayez le fichier tar dans le /opt/tomcat répertoire ::

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

Tomcat est régulièrement mis à jour avec des correctifs de sécurité et de nouvelles fonctionnalités. Pour avoir plus de contrôle sur les versions et les mises à jour, nous allons créer un lien symbolique appelé latest , qui pointe vers le répertoire d'installation de Tomcat :

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

Plus tard, lors de la mise à niveau de Tomcat, décompressez la version la plus récente et modifiez le lien symbolique pour qu'il pointe vers elle.

L'utilisateur système précédemment créé doit avoir accès au répertoire d'installation de tomcat. Modifiez la propriété du répertoire en utilisateur et groupe tomcat :

sudo chown -R tomcat: /opt/tomcat

Les scripts shell à l'intérieur du bin de Tomcat le répertoire doit être exécutable :

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Ces scripts sont utilisés pour démarrer, arrêter et sinon gérer l'instance Tomcat.

Création du fichier d'unité SystemD #

Au lieu d'utiliser les scripts shell pour démarrer et arrêter le serveur Tomcat, nous allons le configurer pour qu'il s'exécute en tant que service.

Ouvrez votre éditeur de texte et créez un tomcat.service fichier d'unité dans le /etc/systemd/system/ répertoire :

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

Collez la configuration suivante :

/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
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
Modifier le JAVA_HOME variable si le chemin d'accès à votre installation Java est différent.

Enregistrez et fermez le fichier et informez systemd qu'un nouveau fichier d'unité existe :

sudo systemctl daemon-reload

Activez et démarrez le service Tomcat :

sudo systemctl enable --now tomcat

Vérifiez l'état du service :

sudo systemctl status tomcat

Le résultat doit indiquer que le serveur Tomcat est activé et en cours d'exécution :

● tomcat.service - Tomcat 9 servlet container
     Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-05-25 17:58:37 UTC; 4s ago
    Process: 5342 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
   Main PID: 5362 (java)
...

Vous pouvez démarrer, arrêter et redémarrer Tomcat comme n'importe quel autre service systemd :

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

Configuration du pare-feu #

Si votre serveur est protégé par un pare-feu et que vous souhaitez accéder à Tomcat depuis l'extérieur de votre réseau local, vous devez ouvrir le port 8080 .

Utilisez la commande suivante pour ouvrir le port nécessaire :

sudo ufw allow 8080/tcp
Généralement, lorsque vous exécutez Tomcat dans un environnement de production, vous devez utiliser un équilibreur de charge ou un proxy inverse. Il est recommandé d'autoriser l'accès au port 8080 uniquement depuis votre réseau interne.

Configuration de l'interface de gestion Web Tomcat #

À ce stade, vous devriez pouvoir accéder à Tomcat avec un navigateur Web sur le port 8080 . L'interface de gestion Web n'est pas accessible car nous n'avons pas encore créé d'utilisateur.

Les utilisateurs et les rôles Tomcat sont définis dans le tomcat-users.xml dossier. Ce fichier est un modèle avec des commentaires et des exemples montrant comment créer un utilisateur ou un rôle.

Dans cet exemple, nous allons créer un utilisateur avec les rôles "admin-gui" et "manager-gui". Le rôle "admin-gui" permet à l'utilisateur d'accéder au /host-manager/html URL et créez, supprimez et gérez les hôtes virtuels. Le rôle "manager-gui" permet à l'utilisateur de déployer et d'annuler le déploiement de l'application Web sans avoir à redémarrer l'ensemble du conteneur via le /host-manager/html interface.

Ouvrez le fichier tomcat-users.xml fichier et créez un nouvel utilisateur, comme indiqué ci-dessous :

sudo nano /opt/tomcat/latest/conf/tomcat-users.xml
/opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<!--
    Comments
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

Assurez-vous de changer le nom d'utilisateur et le mot de passe pour quelque chose de plus sécurisé.

Par défaut, l'interface de gestion Web Tomcat est configurée pour autoriser l'accès aux applications Manager et Host Manager uniquement à partir de l'hôte local. Pour accéder à l'interface web depuis une IP distante, vous devrez supprimer ces restrictions. Cela peut avoir diverses implications en matière de sécurité et n'est pas recommandé pour les systèmes de production.

Pour activer l'accès à l'interface Web de n'importe où, ouvrez les deux fichiers suivants et commentez ou supprimez les lignes surlignées en jaune.

Pour l'application Manager :

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

Pour l'application Host Manager :

sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
context.xml
<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" />
-->
</Context>

Si vous souhaitez accéder à l'interface Web uniquement à partir d'une adresse IP spécifique, au lieu de commenter les blocs, ajoutez votre adresse IP publique à la liste.

Disons que votre IP publique est 41.41.41.41 et vous souhaitez autoriser l'accès uniquement à partir de cette adresse IP :

context.xml
<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|41.41.41.41" />
</Context>

La liste des adresses IP autorisées est une liste séparée par une barre verticale | . Vous pouvez ajouter des adresses IP uniques ou utiliser des expressions régulières.

Une fois cela fait, redémarrez le service Tomcat pour que les modifications prennent effet :

sudo systemctl restart tomcat

Tester l'installation de Tomcat #

Ouvrez votre navigateur et tapez :http://<your_domain_or_IP_address>:8080

En supposant que l'installation est réussie, un écran semblable à celui-ci devrait apparaître :

Le gestionnaire d'applications Web Tomcat est disponible à :http://<your_domain_or_IP_address>:8080/manager/html .

Le gestionnaire d'hôte virtuel Tomcat est disponible à :http://<your_domain_or_IP_address>:8080/host-manager/html .


Ubuntu
  1. Comment installer Tomcat 9 sur CentOS 7

  2. Comment installer Docker sur Ubuntu 18.04

  3. Comment installer Tomcat sur Ubuntu 18.04

  4. Comment installer Tomcat 8 sur Ubuntu 14.04

  5. Comment installer Tomcat sur Ubuntu 18.04

Comment installer Apache sur Ubuntu 20.04

Comment installer Tomcat 8.5 sur Ubuntu 18.04

Comment installer Tomcat 9 sur Ubuntu 18.04

Comment installer Apache Tomcat 9 sur Ubuntu 18.04 LTS

Comment installer Apache Tomcat sur Ubuntu 20.04 LTS

Comment installer Tomcat sur Ubuntu 20.04