GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Apache Tomcat 9.0 / 8.5 sur CentOS 6 / RHEL 6

Apache Tomcat est un serveur Web open source et un conteneur de servlets développé par Apache Software Foundation (ASF).

Tomcat implémente les spécifications Java Servlet et JavaServer Pages (JSP) d'Oracle et fournit un environnement de serveur Web HTTP "purement Java" pour l'exécution des codes Java.

Apache Tomcat inclut des outils de configuration et de gestion, mais peut également être configuré en éditant des fichiers de configuration XML.

Voici le guide étape par étape pour installer Apache Tomcat 9.0 / 8.5 sur CentOS 6 / RHEL 6.

Prérequis

Installer Java

Tomcat nécessite d'avoir une version stable de Java 8 ou ultérieure installée sur votre machine. Vous pouvez soit installer Oracle JDK ou OpenJDK sur votre machine.

Ici, je vais utiliser OpenJDK.

yum install -y java-1.8.0 wget

Vous pouvez également vérifier Java en exécutant la commande suivante.

java -version

Sortie :

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Créer un compte de service

Pour les meilleures pratiques, Tomcat ne doit jamais être exécuté en tant qu'utilisateur privilégié (root). Créez donc un utilisateur à faible privilège pour exécuter le service Tomcat.

useradd -d /opt/tomcat  tomcat

Installer Apache Tomcat

Télécharger Apache Tomcat

Téléchargez Apache Tomcat depuis le site officiel.

### Apache Tomcat 9.0 ###

wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz

### Apache Tomcat 8.5 ###

wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz

Configurer Apache Tomcat

Extrayez le tomcat sur votre choix (/opt/tomcat ) répertoire.

tar -zxvf apache-tomcat-*.tar.gz

mv apache-tomcat-*/* /opt/tomcat/

chown -R tomcat:tomcat /opt/tomcat/

Créer un script d'initialisation

Apache Tomcat peut être démarré et arrêté manuellement par le script fourni avec le package. Mais, ici, nous utiliserons le script init pour le gérer.

vi /etc/init.d/tomcat9

Utilisez les informations ci-dessous.

        
#!/bin/bash
# chkconfig: 2345 95 20
# description: This application was developed by me and is tested on this server
# processname: my_app
#
# Tomcat 8 start/stop/status init.d script
# Initially forked from: https://gist.github.com/valotas/1000094
# @author: Miglen Evlogiev <[email protected]>
#
# Release updates:
# Updated method for gathering pid of the current proccess
# Added usage of CATALINA_BASE
# Added coloring and additional status
# Added check for existence of the tomcat user
# Added termination proccess
 
#Location of JAVA_HOME (bin files)
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/
 
#Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH
 
#CATALINA_HOME is the location of the bin files of Tomcat  
export CATALINA_HOME=/opt/tomcat/
 
#CATALINA_BASE is the location of the configuration files of this instance of Tomcat
export CATALINA_BASE=/opt/tomcat/
 
#TOMCAT_USER is the default user of tomcat
export TOMCAT_USER=tomcat
 
#TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;31mkill\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"
 
#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=20
 
tomcat_pid() {
        echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s " "|cut -d" " -f2`
}
 
start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
  else
    # Start tomcat
    echo -e "\e[00;32mStarting tomcat\e[00m"
    #ulimit -n 100000
    #umask 007
    #/bin/su -p -s /bin/sh $TOMCAT_USER
        if [ `user_exists $TOMCAT_USER` = "1" ]
        then
                /bin/su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
        else
                sh $CATALINA_HOME/bin/startup.sh
        fi
        status
  fi
  return 0
}
 
status(){
          pid=$(tomcat_pid)
          if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"
          else echo -e "\e[00;31mTomcat is not running\e[00m"
          fi
}

terminate() {
	echo -e "\e[00;31mTerminating Tomcat\e[00m"
	kill -9 $(tomcat_pid)
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo -e "\e[00;31mStoping Tomcat\e[00m"
    #/bin/su -p -s /bin/sh $TOMCAT_USER
        sh $CATALINA_HOME/bin/shutdown.sh
 
    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\n\e[00;31mwaiting for processes to exit\e[00m";
      sleep 1
      let count=$count+1;
    done
 
    if [ $count -gt $kwait ]; then
      echo -n -e "\n\e[00;31mkilling processes didn't stop after $SHUTDOWN_WAIT seconds\e[00m"
      terminate
    fi
  else
    echo -e "\e[00;31mTomcat is not running\e[00m"
  fi
 
  return 0
}
 
user_exists(){
        if id -u $1 >/dev/null 2>&1; then
        echo "1"
        else
                echo "0"
        fi
}
 
case $1 in
	start)
	  start
	;;
	stop)  
	  stop
	;;
	restart)
	  stop
	  start
	;;
	status)
		status
	;;
	kill)
		terminate
	;;		
	*)
		echo -e $TOMCAT_USAGE
	;;
esac    
exit 0

Crédit :Timothée Hutz.

Définissez le script pour qu'il soit exécutable.

chmod +x /etc/init.d/tomcat9

Démarrer Apache Tomcat

Démarrez le service.

service tomcat9 start

Vous pouvez vérifier le service en cours d'exécution, par défaut tomcat s'exécute sur le port no 8080

netstat -antup | grep 8080

Sortie :

tcp        0      0 :::8080                     :::*                        LISTEN      1526/java

Activez le service Tomcat pour qu'il démarre automatiquement au démarrage du système.

chkconfig --add tomcat9

chkconfig tomcat9 on

Pare-feu

Autoriser les demandes d'applications Web Tomcat via le pare-feu.

iptables -I INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

/etc/init.d/iptables save

Configurer l'interface utilisateur Web Apache Tomcat

Tomcat peut être géré via le gestionnaire Web et le gestionnaire d'hôte virtuel. Le gestionnaire Web et le gestionnaire d'hébergement 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.

L'utilisateur avec manager-gui et admin-gui ont accès respectivement au gestionnaire d'applications Web et au gestionnaire d'hôte. 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.

<role rolename="admin-gui,manager-gui"/>
<user username="admin" password="tomcat" roles="manager-gui,admin-gui"/>

Pour des raisons de sécurité, Web Manager et Host Manager ne sont accessibles que depuis l'hôte local, c'est-à-dire depuis le serveur lui-même.

Pour accéder aux gestionnaires Web et hôtes à partir du système distant, vous devez ajouter votre réseau source dans la liste d'autorisation. Pour ce faire, modifiez les deux fichiers ci-dessous.

### Web Manager ###

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

### Host Manager ###

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

Mettez à jour la ligne ci-dessous sur les fichiers ci-dessus avec l'adresse IP source à partir de laquelle vous accédez au gestionnaire Web et hôte. .* permettra à chacun d'avoir accès aux deux gestionnaires.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />

OU

Vous pouvez également n'autoriser qu'une partie de votre réseau. 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.

service tomcat9 restart

Accéder à Apache Tomcat

Ouvrez le navigateur Web et pointez sur

http://ip.add.re.ss:8080

Vous obtiendrez la page par défaut de Tomcat.

Gestionnaire Web :– Connexion requise. Nom d'utilisateur :admin, Mot de passe :tomcat.

Ici, vous pouvez déployer une nouvelle application, déployer une nouvelle application sur un contexte spécifié, répertorier les applications actives ou inactives, démarrer et arrêter les applications Web.

Vous pouvez également vérifier l'état du serveur .

Gestionnaire d'hôte :– 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 9 sur CentOS 6 / RHEL 6. Vous êtes maintenant prêt à déployer votre première application Web. Comme recommandation de sécurité, envisagez d'implémenter SSL/TLS pour Tomcat


Cent OS
  1. Comment installer Apache Tomcat sur Linux RHEL 8 / CentOS 8

  2. Comment installer Apache Maven CentOS 7 / RHEL 7

  3. Comment installer Apache Tomcat 8 sur CentOS

  4. Comment installer Apache Tomcat sur CentOS 7

  5. Comment installer Tomcat 7 sur Centos ?

Comment installer Apache Maven CentOS 8 / RHEL 8

Comment installer Apache Solr 8.9 sur CentOS/RHEL 8

Comment installer Apache Solr sur CentOS &RHEL 8

Comment installer Apache Tomcat sur CentOS 8

Comment installer Apache Kafka dans CentOS/RHEL 7

Comment installer Apache Tomcat 9 sur CentOS 7