Apache Tomcat est un serveur Web Java HTTP open source développé par Apache Software Foundation (ASF). Tomcat aide à déployer le servlet Java et les pages JavaServer (JSP) et les sert comme un serveur Web HTTP.
Dans cet article, nous verrons comment installer Apache Tomcat 10/9 sur CentOS 8 / RHEL 8.
Prérequis
Installer Java
Tomcat nécessite Java 8 ou supérieur pour être installé sur votre machine. Vous pouvez installer n'importe quelle version stable d'Oracle JDK ou OpenJDK.
LIRE :Comment installer Oracle JAVA sur CentOS 8 / RHEL 8
Pour cet article, j'utilise OpenJDK.
yum install -y java curl tar
Vérifiez l'installation de Java en lançant la commande suivante.
version Java
Sortie :
openjdk version "1.8.0_275"Environnement d'exécution OpenJDK (build 1.8.0_275-b01)OpenJDK 64-Bit Server VM (build 25.275-b01, mode mixte)
Créer un compte de service Tomcat
Il est recommandé de ne pas exécuter le service Tomcat en tant qu'utilisateur root. Créez donc un utilisateur Linux standard pour exécuter le service Tomcat.
useradd -d /opt/tomcat -s /bin/nologin tomcat
Installer Apache Tomcat
Télécharger Tomcat
Téléchargez Apache Tomcat depuis le site officiel et enregistrez-le dans votre répertoire de travail.
Au moment de la rédaction de cet article, Tomcat v9.0.22 est disponible pour l'installation.
Navigateur
Télécharger Apache Tomcat 10
Télécharger Apache Tomcat 9.0
Terminal
### Apache Tomcat 10.x curl https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz -o apache-tomcat-10.0.4.tar.gz ### Apache Tomcat 9.x curl https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz -o apache-tomcat-9.0.44.tar.gz
Configurer Tomcat
Extrayez l'archive tar de Tomcat et déplacez-la dans le répertoire de votre choix (/opt/tomcat).
tar -zxvf apache-tomcat-*.tar.gzmv apache-tomcat-*/* /opt/tomcat/
Modifiez la propriété du répertoire pour l'utilisateur tomcat.
chown -R tomcat:tomcat /opt/tomcat/
Créer un fichier Systemd
Nous pouvons configurer le systemd pour démarrer le service Tomcat pour vous, et cela nous aide également à démarrer automatiquement le service Apache Tomcat au démarrage du système.
Le fichier de service systemd de Tomcat nécessite un emplacement d'installation Java. Alors, répertoriez les versions Java disponibles sur votre système à l'aide de la commande suivante.
alternatives --list | grep ^java
Sortie :
java auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre /bin/java
Pour le moment, je n'ai que Java 1.8 sur mon système.
Créez un fichier de service tomcat systemd.
vi /etc/systemd/system/tomcat.service
Ajoutez les informations ci-dessous au fichier de service systemd. Cmodifiez les valeurs en fonction de votre environnement.
[Unit]Description=Apache Tomcat Web Application ContainerWants=network.targetAfter=network.target[Service]Type=forkingEnvironment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8. 0.222.b10-0.el8_0.x86_64/jre Environnement=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environnement=CATALINA_HOME=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true'Environment='JAVA_OPTS=-Djava.awt.headless=true'ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143User=tomcatGroup=tomcatUMask=0007RestartSec=10Restart=always[Install]WantedBy=multi-user.target
SELinux
Envisagez de désactiver SELinux s'il bloque le démarrage de Tomcat.
setenforce 0sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config
Démarrer Apache Tomcat
Recharger le démon systemd.
rechargement du démon systemctl
Pour démarrer le service Tomcat ; exécuter :
systemctl démarrer tomcat
Vérifiez l'état de Tomcat, exécutez :
statut tomcat de systemctl
Activez le service Tomcat pour qu'il démarre automatiquement au démarrage du système.
systemctl activer tomcat
Par défaut, Tomcat s'exécute sur le port 8080. Utilisez la commande netstat pour vérifier si le service écoute sur le port 8080 ou non.
netstat -antup | grep 8080
Sortie :
tcp 0 0 0.0.0.0:8080 0.0.0.0:* ECOUTEZ 2904/java
Pare-feu
Autorisez le port 8080 dans le pare-feu afin que nous puissions accéder à Apache Tomcat à partir de réseaux externes.
firewall-cmd --permanent --add-port=8080/tcpfirewall-cmd --reload
Configurer l'interface utilisateur Web d'Apache Tomcat
Apache Tomcat peut être géré via le gestionnaire Web.
Avec Web Manager, vous pouvez
- Déployer de nouvelles applications
- Déployer de nouvelles applications dans le contexte spécifié
- Répertorier les applications actives ou inactives
- Démarrer et arrêter les applications Web
De plus, Tomcat dispose du Host Manager pour gérer ses hôtes virtuels.
Gestion des utilisateurs
Le Web et Host Manager sont tous deux protégés par un mot de passe et nécessitent un nom d'utilisateur et un mot de passe pour y accéder.
Seul l'utilisateur avec le "manager-gui ” et “admin-gui ” est autorisé à accéder respectivement au Web et au gestionnaire d'hébergement.
Ces utilisateurs et rôles sont définis dans tomcat-users.xml .
vi /opt/tomcat/conf/tomcat-users.xml
Placez les deux lignes suivantes juste au-dessus de la dernière ligne.
manager-gui,admin-gui "/> Autoriser l'accès
Pour des raisons de sécurité, Web et Host Manager ne sont accessibles qu'à partir de localhost, c'est-à-dire à partir du serveur lui-même.
Pour activer l'accès au gestionnaire Web et hôte à partir de systèmes distants, vous devez ajouter votre réseau à la liste d'autorisation.
Pour ce faire, suivez les étapes.
Gestionnaire Web
vi /opt/tomcat/webapps/manager/META-INF/context.xmlMettez à jour la ligne ci-dessous avec l'adresse IP source à partir de laquelle vous accédez au Web et au gestionnaire d'hôte.
Autoriser tout le monde
.* permettra à tous d'avoir accès au gestionnaire Web.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.* " />Autoriser le réseau de l'organisation
Vous pouvez également autoriser uniquement le réseau de votre organisation. Par exemple :pour autoriser uniquement le réseau 192.168.1.0/24, vous pouvez utiliser les valeurs ci-dessous.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.* " />Gestionnaire d'accueil
vi /opt/tomcat/webapps/host-manager/META-INF/context.xmlMettez à jour la ligne ci-dessous avec l'adresse IP source à partir de laquelle vous accédez au gestionnaire d'hôtes.
Autoriser tout le monde
.* permettra à tout le monde d'avoir accès au gestionnaire d'hébergement.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.* " />Autoriser le réseau de l'organisation
Vous pouvez également autoriser uniquement le réseau de votre organisation. Par exemple :pour autoriser uniquement le réseau 192.168.1.0/24, vous pouvez utiliser les valeurs ci-dessous.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.* " />Redémarrez le service Tomcat.
systemctl redémarre tomcatAccéder à Tomcat
Ouvrez le navigateur Web et pointez-le vers :
http://ip.add.re.ss:8080Vous obtiendrez maintenant la page par défaut de Tomcat.
Application Manager (manager-gui) :– Connexion requise. Nom d'utilisateur :admin, Mot de passe :tomcat.
Ici, vous pouvez déployer une application, déployer une application dans un contexte spécifié, démarrer, arrêter, recharger et annuler le déploiement d'une application.
Vous pouvez également voir le Tomcat état du serveur .
Host Manager (admin-gui) :– Connexion requise. Nom d'utilisateur :admin, Mot de passe :tomcat.
Ici, vous pouvez gérer les hôtes virtuels de Tomcat.
Conclusion
C'est tout. J'espère que vous avez appris à installer Tomcat 10/9 sur CentOS 8 / RHEL 8. Vous êtes maintenant prêt pour votre première application Web. Comme recommandation de sécurité, envisagez d'implémenter SSL/TLS pour Tomcat