GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Tomcat 9 sur Debian 10 Linux

Apache Tomcat est un serveur d'applications open source basé sur JAVA qui implémente les technologies Java Servlet, JavaServer Pages, Java Expression Language et Java WebSocket. C'est l'un des serveurs d'applications et Web les plus utilisés dans le monde aujourd'hui.

Ce tutoriel explique comment installer Apache Tomcat 9.0 sur Debian 10 Buster et configurer l'interface de gestion Web de Tomcat.

Prérequis #

Les instructions supposent que vous êtes connecté en tant que root ou utilisateur avec des privilèges sudo.

Installation d'OpenJDK #

Tomcat 9.0 nécessite l'installation de Java SE 8 ou version ultérieure sur le serveur.

Exécutez la commande suivante pour installer le package OpenJDK :

sudo apt install default-jdk

Création d'un utilisateur Tomcat #

L'exécution de Tomcat en tant qu'utilisateur root présente un risque de sécurité et n'est pas recommandée. Nous allons créer un nouvel utilisateur qui sera utilisé pour exécuter le service Tomcat.

Exécutez la commande suivante pour créer un nouvel utilisateur système et un groupe avec un répertoire personnel de /opt/tomcat :

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

Téléchargement de Tomcat #

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

Passez au /tmp répertoire et téléchargez la dernière version binaire de Tomcat :

cd /tmpwget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz

Une fois le téléchargement terminé, extrayez l'archive gzippée :

tar -xf apache-tomcat-9.0.27.tar.gz

Déplacez les fichiers source de Tomcat vers le /opt/tomcat répertoire :

sudo mv apache-tomcat-9.0.27 /opt/tomcat/

Tomcat 9 est mis à jour périodiquement. Pour avoir plus de contrôle sur les versions et les mises à jour, créez un lien symbolique nommé latest qui pointe vers le répertoire d'installation de Tomcat :

sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest

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

Changer le propriétaire du /opt/tomcat répertoire vers l'utilisateur et le groupe tomcat , afin que l'utilisateur puisse avoir accès au répertoire d'installation :

sudo chown -R tomcat: /opt/tomcat

Créez les scripts dans le bin répertoire exécutable :

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

Création du fichier d'unité SystemD #

Ouvrez votre éditeur de texte et créez un nouveau fichier nommé tomcat.service avec le contenu suivant :

sudo nano /etc/systemd/system/tomcat.service
/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9.0 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"

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

Avertissez systemd qu'un nouveau fichier d'unité existe et démarrez le service Tomcat en tapant :

sudo systemctl daemon-reloadsudo systemctl start tomcat

Vérifiez l'état du service Tomcat en tapant :

sudo systemctl status tomcat
● tomcat.service - Tomcat 9.0 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: 
   Active: active (running) since Sat 2019-11-09 13:53:51 PST; 5s ago
  Process: 5752 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status
 Main PID: 5759 (java)

S'il n'y a pas d'erreurs, activez le démarrage automatique du service Tomcat au démarrage :

sudo systemctl enable tomcat

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

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

Réglage du pare-feu #

Si vous avez un pare-feu en cours d'exécution sur votre système Debian et que vous souhaitez accéder à l'interface Tomcat depuis l'extérieur de votre réseau local, vous devrez ouvrir le port 8080 :

sudo ufw allow 8080/tcp

Lors de l'exécution d'une application Tomcat dans un environnement de production, vous aurez très probablement un équilibreur de charge ou un proxy inverse, et il est recommandé de restreindre l'accès au port 8080 uniquement à votre réseau interne.

Configuration de l'interface de gestion Web Tomcat #

Maintenant que Tomcat est installé, l'étape suivante consiste à créer un utilisateur ayant accès à l'interface de gestion Web.

Les utilisateurs Tomcat et leurs rôles sont définis dans le tomcat-users.xml fichier.

Si vous ouvrez le fichier, vous remarquerez qu'il est rempli de commentaires et d'exemples décrivant comment configurer le fichier :

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

Nous allons définir le nouvel utilisateur dans le tomcat-users.xml fichier, comme indiqué ci-dessous. L'utilisateur aura accès à l'interface Web de tomcat (manager-gui et admin-gui). Assurez-vous de changer le nom d'utilisateur et le mot de passe pour quelque chose de plus sûr :

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

Par défaut, l'interface de gestion Web de Tomcat n'autorise l'accès qu'à partir de l'hôte local. Si vous souhaitez accéder à l'interface Web à partir d'une adresse IP distante ou de n'importe où, ce qui n'est pas recommandé car il s'agit d'un risque de sécurité, vous pouvez ouvrir les fichiers suivants et apporter les modifications suivantes.

Si vous avez besoin d'accéder à l'interface Web de n'importe où, ouvrez les fichiers suivants et commentez ou supprimez les lignes surlignées en jaune :

/opt/tomcat/latest/webapps/manager/META-INF/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>
/opt/tomcat/latest/webapps/host-manager/META-INF/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 avez besoin d'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. Supposons que votre adresse IP publique soit 32.32.32.32 et vous souhaitez autoriser l'accès uniquement à partir de cette adresse IP :

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

Redémarrez le service Tomcat pour que les modifications prennent effet :

sudo systemctl restart tomcat

Tester l'installation #

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

Si l'installation réussit, un écran similaire au suivant apparaît :

Le tableau de bord du gestionnaire d'applications Web Tomcat est disponible sur http://<your_domain_or_IP_address>:8080/manager/html . À partir de là, vous pouvez déployer, annuler le déploiement, démarrer, arrêter et recharger vos applications.

Le tableau de bord du gestionnaire d'hôte virtuel Tomcat est disponible sur http://<your_domain_or_IP_address>:8080/host-manager/html . À partir de là, vous pouvez créer, supprimer et gérer des hôtes virtuels Tomcat.


Debian
  1. Comment installer Logstash sur Debian Linux

  2. Comment installer Tomcat 9 sur Debian 9 Stretch Linux

  3. Comment installer Elasticsearch sur Debian Linux

  4. Comment installer VirtualBox sur Debian Linux

  5. Comment installer Tomcat 8 sur Debian 8

Comment installer sudo sur Debian ou Ubuntu Linux

Comment installer MariaDB 10 sur Debian 11 Bullseye Linux

Comment installer NextCloud sur Debian 11 Bullseye Linux

Comment installer Tomcat sur Debian 10 Buster

Comment installer Go sur Debian 11

Comment installer Apache Tomcat sur Debian 10