Dans ce didacticiel, nous allons apprendre à installer le conteneur d'applications Apache Tomcat 8 sur RHEL 8 / CentOS 8. Nous utiliserons le package zip disponible en téléchargement sur le site Web d'Apache Tomcat. Comme ce package ne gérera pas la configuration de l'environnement, nous le créerons à partir de la ligne de commande.
Dans ce didacticiel, vous apprendrez :
- Comment installer Apache Tomcat à partir d'un fichier zip
- Comment créer l'environnement du serveur Tomcat à partir de la ligne de commande
- Comment ajouter un fichier de service de base à systemd
- Comment activer le démarrage automatique, démarrer et arrêter le serveur Tomcat
- Comment vérifier que Tomcat est joignable
Page d'exemples servie par Apache Tomcat.
Configuration logicielle requise et conventions utilisées
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | RHEL 8/CentOS 8 |
Logiciel | Apache Tomcat 8 |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Comment installer apache tomcat sur Linux Redhat 8 instructions étape par étape
Nous installerons un serveur Tomcat non à partir d'un rpm
package, mais un zip
fichier que nous allons télécharger depuis le site officiel. Par conséquent, l'utilisateur qui exécutera le serveur, les chemins et les droits du système de fichiers doivent être définis manuellement. Lors de l'installation à partir de rpm
est un moyen beaucoup plus pratique, il peut y avoir des situations où ce n'est pas une option.
L'exemple le plus trivial serait que le rpm
package n'est pas disponible, une autre pourrait être que l'application qui s'exécutera dans le conteneur Tomcat nécessite une version exacte de tomcat, et en laissant le gestionnaire de packages hors de l'installation, il est assuré que les mises à jour système laisseront le serveur Tomcat intact. Bien sûr, cela peut ne pas être optimal du point de vue de la sécurité.
Pour que cette installation fonctionne, vous devez avoir installé Java 1.8 sur le système cible.
- Tout d'abord, nous allons télécharger et extraire le
zip
emballer. En parcourant le site de téléchargement de Tomcat 8, nous pouvons copier le lien dont nous avons besoin et utiliserwget
sur le système cible. Nous utiliserons/opt
comme chemin de base de l'installation, car il s'agit d'un emplacement commun pour les logiciels installés à la main. Passons à ce répertoire :# cd /opt
Et téléchargez le package directement dans ce chemin :
# wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip --2019-01-02 18:06:00-- https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip Resolving www-us.apache.org (www-us.apache.org)... 40.79.78.1 Connecting to www-us.apache.org (www-us.apache.org)|40.79.78.1|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 10246390 (9.8M) [application/zip] Saving to: 'apache-tomcat-8.5.37.zip' apache-tomcat-8.5.37.zip 100%[================================================================================================================>] 9.77M 280KB/s in 23s 2019-01-02 18:06:24 (444 KB/s) - 'apache-tomcat-8.5.37.zip' saved [10246390/10246390]
Le miroir peut varier selon l'emplacement, pour des performances optimales, utilisez le miroir le plus proche de votre emplacement.
- Ensuite, nous extrayons le package avec
unzip
sur place :# unzip apache-tomcat-8.5.37.zip
- Nous créons un lien symbolique
/opt/tomcat
pointant vers/opt/apache-tomcat-8.5.37
:# ln -s /opt/apache-tomcat-8.5.37 /opt/tomcat
De cette façon, l'installation d'une autre version et le passage à celle-ci consistent à changer l'endroit vers lequel pointe le lien symbolique.
- Nous supprimons l'original
/opt/tomcat/logs
répertoire et remplacez-le par un lien symbolique pointant vers/var/log/tomcat
:# mkdir /var/log/tomcat # rmdir /opt/tomcat/logs # ln -s /var/log/tomcat /opt/tomcat/logs
La raison derrière cela est de stocker tous les journaux sous
/var/log
où le stockage est géré avec la charge du système, et donc la taille des fichiers journaux à l'esprit. C'est une bonne pratique de stocker les données du même type en un seul endroit, et/var/log
est déjà l'emplacement des fichiers journaux du système. - Nous créons l'utilisateur qui exécutera le serveur et le définirons comme propriétaire des répertoires requis :
# useradd tomcat # chown -R tomcat:tomcat /opt/apache-tomcat-8.5.37 # chown -R tomcat:tomcat /var/log/tomcat
- Nous ajoutons des droits d'exécution aux scripts situés dans le
bin
répertoire :# chmod +x /opt/tomcat/bin/*.sh
- Nous créons un fichier de service de base
/etc/systemd/system/tomcat.service
poursystemd
avec notre éditeur de texte préféré, commevi
ounano
avec le contenu suivant :[Unit] Description=Tomcat After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat ExecStart=/opt/tomcat/bin/catalina.sh start ExecStop=/opt/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
- Nous rechargeons le
systemd
configuration, doncsystemd
remarquerez le nouveau fichier de service :# systemctl daemon-reload
- Nous allons accéder à Tomcat sur le port
8080
. Nous ouvrons le port sur le pare-feu
:# firewall-cmd --zone=public --add-port=8080/tcp --permanent
Et rechargez le pare-feu :
# firewall-cmd --reload
- Nous demandons
systemd
à propos du nouveau service :# systemctl status tomcatenable systemd service tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: inactive (dead)
- Comme
systemd
connaît maintenant le serice, nous pouvons le démarrer :# systemctl start tomcat
- Enfin, nous vérifions notre serveur en cours d'exécution avec systemd :
# systemctl status tomcat tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2019-01-02 18:40:00 CET; 4s ago Process: 4854 ExecStop=/opt/tomcat/bin/catalina.sh stop (code=exited, status=0/SUCCESS) Process: 5529 ExecStart=/opt/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) Main PID: 5543 (java) Tasks: 47 (limit: 12544) Memory: 85.2M CGroup: /system.slice/tomcat.service ˪5543 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties [...]
Si nous ouvrons un navigateur et tapons
http://<name-or-ip-address-of-the-server>:8080/examples/
dans la barre d'adresse, nous devrions voir les exemples officiels livrés avec le package qui sont servis à partir de notre serveur Tomcat installé avec succès. - Si nécessaire, nous pouvons activer le service systemd pour démarrer automatiquement notre serveur au démarrage :
# systemctl enable tomcat