GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Apache Tomcat 9.0/8.5 en CentOS 6/RHEL 6

Apache Tomcat es un servidor web de código abierto y un contenedor de servlets desarrollado por Apache Software Foundation (ASF).

Tomcat implementa las especificaciones Java Servlet y JavaServer Pages (JSP) de Oracle y proporciona un entorno de servidor web HTTP "Java puro" para ejecutar los códigos Java.

Apache Tomcat incluye herramientas de configuración y administración, pero también se puede configurar editando archivos de configuración XML.

Aquí está la guía paso a paso para instalar Apache Tomcat 9.0/8.5 en CentOS 6/RHEL 6.

Requisitos

Instalar Java

Tomcat requiere tener una versión estable de Java 8 o posterior instalada en su máquina. Puede instalar Oracle JDK u OpenJDK en su máquina.

Aquí usaré OpenJDK.

yum install -y java-1.8.0 wget

También puede verificar Java emitiendo el siguiente comando.

java -version

Salida:

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)

Crear una cuenta de servicio

Como práctica recomendada, nunca se debe ejecutar Tomcat como un usuario privilegiado (raíz). Por lo tanto, cree un usuario con privilegios bajos para ejecutar el servicio Tomcat.

useradd -d /opt/tomcat  tomcat

Instalar Apache Tomcat

Descarga Apache Tomcat

Descarga Apache Tomcat desde el sitio web oficial.

### 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

Configurar Apache Tomcat

Extraiga el tomcat en su deseado (/opt/tomcat ) directorio.

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

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

chown -R tomcat:tomcat /opt/tomcat/

Crear secuencia de comandos de inicio

Apache Tomcat puede iniciarse y detenerse manualmente mediante el script que viene con el paquete. Pero, aquí, usaremos el script de inicio para manejarlo.

vi /etc/init.d/tomcat9

Utilice la siguiente información.

        
#!/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édito :Timothy Hutz.

Configure el script para que sea ejecutable.

chmod +x /etc/init.d/tomcat9

Iniciar Apache Tomcat

Inicie el servicio.

service tomcat9 start

Puede verificar que el servicio se esté ejecutando; de forma predeterminada, Tomcat se ejecuta en el puerto n.º 8080

netstat -antup | grep 8080

Salida:

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

Habilite el servicio Tomcat para que se inicie automáticamente al iniciar el sistema.

chkconfig --add tomcat9

chkconfig tomcat9 on

Cortafuegos

Permitir solicitudes de aplicaciones web de Tomcat a través del firewall.

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

/etc/init.d/iptables save

Configurar la interfaz de usuario web de Apache Tomcat

Tomcat se puede administrar a través del administrador web y el administrador de host virtual. Tanto el administrador web como el administrador de host están protegidos con contraseña y requieren nombre de usuario y contraseña para acceder.

El usuario con manager-gui y administrador-GUI El rol tiene acceso al administrador de aplicaciones web y al administrador de host, respectivamente. Estos usuarios y funciones se definen en tomcat-users.xml.

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

Coloque las siguientes dos líneas justo encima de la última línea.

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

Por motivos de seguridad, solo se puede acceder a Web Manager y Host Manager desde el host local, es decir, desde el propio servidor.

Para acceder a los administradores web y de host desde el sistema remoto, deberá agregar su red de origen en la lista de permitidos. Para ello, edite los dos archivos siguientes.

### Web Manager ###

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

### Host Manager ###

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

Actualice la línea a continuación en los archivos anteriores con la IP de origen desde la que accede a la web y al Administrador de host. .* permitirá que todos tengan acceso a ambos administradores.

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

O

También puede permitir solo parte de su red. Por ejemplo:para permitir solo la red 192.168.1.0/24, puede usar los valores a continuación.

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

Reinicie el servicio Tomcat.

service tomcat9 restart

Acceder a Apache Tomcat

Abra el navegador web y apunte a

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

Obtendría la página predeterminada de Tomcat.

Administrador web:– Se requiere inicio de sesión. Nombre de usuario:admin, Contraseña:tomcat.

Aquí, puede implementar una nueva aplicación, implementar una nueva aplicación en un contexto específico, enumerar las aplicaciones activas o inactivas, iniciar y detener las aplicaciones web.

Además, puede comprobar el estado del servidor .

Administrador de host:– Se requiere inicio de sesión. Nombre de usuario:admin, Contraseña:tomcat.

Aquí, puede manejar hosts virtuales de Tomcat.

Conclusión

Eso es todo. Espero que haya aprendido a instalar Tomcat 9 en CentOS 6/RHEL 6. Ahora está listo para implementar su primera aplicación web. Como recomendación de seguridad, considere implementar SSL/TLS para Tomcat


Cent OS
  1. Cómo instalar apache tomcat en Linux RHEL 8 / CentOS 8

  2. Cómo instalar Apache Maven CentOS 7 / RHEL 7

  3. Cómo instalar Apache Tomcat 8 en CentOS

  4. Cómo instalar Apache Tomcat en CentOS 7

  5. ¿Cómo instalar Tomcat 7 en Centos?

Cómo instalar Apache Maven CentOS 8 / RHEL 8

Cómo instalar Apache Solr 8.9 en CentOS/RHEL 8

Cómo instalar Apache Solr en CentOS y RHEL 8

Cómo instalar Apache Tomcat en CentOS 8

Cómo instalar Apache Kafka en CentOS/RHEL 7

Cómo instalar Apache Tomcat 9 en CentOS 7