Comment installer Apache Tomcat 8 sur CentOS 7

introduction

Apache Tomcat est un serveur Web et un conteneur de servlets utilisés pour desservir les applications Java. Tomcat est une implémentation open source des technologies Java Servlet et JavaServer Pages, publiée par Apache Software Foundation. Ce didacticiel couvre l’installation de base et une partie de la configuration de la dernière version de Tomcat 8 sur votre serveur CentOS 7.

Conditions préalables

Avant de commencer avec ce guide, vous devez avoir un compte utilisateur distinct, non root, configuré sur votre serveur. Vous pouvez apprendre comment faire cela en exécutant les étapes 1 à 3 dans lesinitial server setup pour CentOS 7. Nous utiliserons l'utilisateurdemo créé ici pour le reste de ce tutoriel.

Installer Java

Tomcat nécessite que Java soit installé sur le serveur pour que tout code d'application Web Java puisse être exécuté. Répondons à cette exigence en installant OpenJDK 7 avec yum.

Pour installer OpenJDK 7 JDK en utilisant yum, exécutez cette commande:

sudo yum install java-1.7.0-openjdk-devel

Répondez ày à l'invite pour continuer l'installation d'OpenJDK 7.

Notez qu'un raccourci vers le répertoire JAVA_HOME, dont nous aurons besoin pour configurer Tomcat plus tard, peut être trouvé à/usr/lib/jvm/jre.

Maintenant que Java est installé, créons un utilisateurtomcat, qui sera utilisé pour exécuter le service Tomcat.

Créer un utilisateur Tomcat

Pour des raisons de sécurité, Tomcat doit être exécuté en tant qu’utilisateur non privilégié (c.-à-d. pas root). Nous allons créer un nouvel utilisateur et un nouveau groupe qui exécutera le service Tomcat.

Tout d'abord, créez un nouveau groupetomcat:

sudo groupadd tomcat

Créez ensuite un nouvel utilisateurtomcat. Nous ferons de cet utilisateur un membre du groupetomcat, avec un répertoire personnel de/opt/tomcat (où nous installerons Tomcat), et avec un shell de/bin/false (pour que personne ne puisse se connecter dans le compte):

sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat

Maintenant que notre utilisateurtomcat est configuré, téléchargeons et installons Tomcat.

Installez Tomcat

Le moyen le plus simple d'installer Tomcat 8 à ce stade est de télécharger la dernière version binaire, puis de la configurer manuellement.

Télécharger Tomcat Binary

Trouvez la dernière version de Tomcat 8 sur le siteTomcat 8 Downloads page. Au moment de la rédaction de cet article, la dernière version est8.5.37. Sous la sectionBinary Distributions, puis sous la listeCore, copiez le lien vers le «tar.gz».

Téléchargeons la dernière distribution binaire dans notre répertoire personnel en utilisantwget.

Tout d'abord, installezwget à l'aide du gestionnaire de packagesyum:

sudo yum install wget

Ensuite, accédez à votre répertoire personnel:

cd ~

Maintenant, utilisezwget et collez le lien pour télécharger l'archive Tomcat 8, comme ceci (votre lien miroir sera probablement différent de l'exemple):

wget https://www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz

Nous allons installer Tomcat dans le répertoire/opt/tomcat. Créez le répertoire, puis extrayez l'archive avec les commandes suivantes:

sudo mkdir /opt/tomcat
sudo tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1

Nous sommes maintenant prêts à configurer les autorisations utilisateur appropriées.

Mettre à jour les autorisations

L'utilisateurtomcat que nous avons configuré doit disposer d'un accès approprié à l'installation de Tomcat. Nous allons le configurer maintenant.

Passez au chemin d'installation de Tomcat:

cd /opt/tomcat

Donnez la propriété du groupetomcat sur tout le répertoire d'installation:

sudo chgrp -R tomcat /opt/tomcat

Ensuite, donnez au groupetomcat un accès en lecture au répertoireconf et à tout son contenu, et exécutez l'accès au répertoire lui-même:

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

Faites ensuite de l'utilisateurtomcat le propriétaire des répertoireswebapps,work,temp etlogs:

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

Maintenant que les autorisations appropriées sont configurées, définissons un fichier d’unité Systemd.

Installer le fichier d'unité Systemd

Parce que nous voulons pouvoir exécuter Tomcat en tant que service, nous allons configurer un fichier d'unité Tomcat Systemd.

Créez et ouvrez le fichier d'unité en exécutant cette commande:

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

Collez dans le script suivant. Vous pouvez également modifier les paramètres d'allocation de mémoire spécifiés dansCATALINA_OPTS:

/etc/systemd/system/tomcat.service

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
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=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Sauvegarder et quitter. Ce script indique au serveur d'exécuter le service Tomcat en tant qu'utilisateurtomcat, avec les paramètres spécifiés.

Rechargez maintenant Systemd pour charger le fichier d’unité Tomcat:

sudo systemctl daemon-reload

Vous pouvez maintenant démarrer le service Tomcat avec cette commandesystemctl:

sudo systemctl start tomcat

Vérifiez que le service a démarré avec succès en tapant:

sudo systemctl status tomcat

Si vous souhaitez activer le service Tomcat afin qu'il démarre au démarrage du serveur, exécutez la commande suivante:

sudo systemctl enable tomcat

Tomcat n'est pas encore complètement configuré, mais vous pouvez accéder à la page d'accueil par défaut en accédant à votre domaine ou à votre adresse IP suivi de:8080 dans un navigateur Web:

Open in web browser:http://server_IP_address:8080

Vous verrez la page d'accueil Tomcat par défaut, en plus d'autres informations. Nous allons maintenant aller plus loin dans l'installation de Tomcat.

Configurer l'interface de gestion Web Tomcat

Pour utiliser l'application Web Manager fournie avec Tomcat, nous devons ajouter une connexion à notre serveur Tomcat. Nous allons le faire en éditant le fichiertomcat-users.xml:

sudo vi /opt/tomcat/conf/tomcat-users.xml

Ce fichier est rempli de commentaires décrivant comment le configurer. Vous souhaiterez peut-être supprimer tous les commentaires entre les deux lignes suivantes ou les laisser si vous souhaitez référencer les exemples:

tomcat-users.xml excerpt


...

Vous voudrez ajouter un utilisateur qui peut accéder auxmanager-gui etadmin-gui (applications Web fournies avec Tomcat). Vous pouvez le faire en définissant un utilisateur similaire à l'exemple ci-dessous. Assurez-vous de changer le nom d'utilisateur et le mot de passe pour quelque chose de sécurisé:

tomcat-users.xml — Admin User


    

Enregistrez et quittez le fichier tomcat-users.xml.

Par défaut, les versions les plus récentes de Tomcat limitent l'accès aux applications Manager et Host Manager aux connexions provenant du serveur lui-même. Puisque nous installons sur une machine distante, vous voudrez probablement supprimer ou modifier cette restriction. Pour modifier les restrictions d'adresse IP sur ces derniers, ouvrez les fichierscontext.xml appropriés.

Pour l'application Manager, tapez:

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

Pour l'application Host Manager, tapez:

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

À l'intérieur, commentez la restriction d'adresse IP pour autoriser les connexions de n'importe où. Si vous souhaitez uniquement autoriser l'accès aux connexions provenant de votre propre adresse IP, vous pouvez ajouter votre adresse IP publique à la liste:

context.xml files for Tomcat webapps


  

Enregistrez et fermez les fichiers lorsque vous avez terminé.

Pour appliquer nos modifications, redémarrez le service Tomcat:

sudo systemctl restart tomcat

Accéder à l'interface Web

Maintenant que Tomcat est opérationnel, laissez-nous accéder à l'interface de gestion Web dans un navigateur Web. Vous pouvez le faire en accédant à l'adresse IP publique du serveur, sur le port 8080:

Open in web browser:http://server_IP_address:8080

Vous verrez quelque chose comme l'image suivante:

Tomcat root

Comme vous pouvez le constater, il existe des liens vers les applications Web d'administration pour lesquelles nous avons configuré un utilisateur administrateur.

Jetons un coup d'œil à l'application Manager, accessible via le lien ouhttp://server_IP_address:8080/manager/html:

Tomcat Web Application Manager

Web Application Manager est utilisé pour gérer vos applications Java. Vous pouvez démarrer, arrêter, recharger, déployer et annuler le déploiement ici. Vous pouvez également exécuter des diagnostics sur vos applications (c'est-à-dire trouver des fuites de mémoire). Enfin, des informations sur votre serveur sont disponibles tout en bas de cette page.

Jetons maintenant un œil au Host Manager, accessible via le lien ouhttp://server_IP_address:8080/host-manager/html/:

Tomcat Virtual Host Manager

À partir de la page Virtual Host Manager, vous pouvez ajouter des hôtes virtuels pour servir vos applications.

Conclusion

Votre installation de Tomcat est terminée! Vous êtes maintenant libre de déployer vos propres applications Web Java!