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:
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
:
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/
:
À 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!