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

Cómo instalar Tomcat 10 en CentOS 8 y Fedora34

¿Qué es Tomcat?

En este artículo, demostraremos cómo instalar Apache Tomcat en CentOS 8. Antes de comenzar, definamos exactamente qué es Apache Tomcat. Apache define a Tomcat como:“Un contenedor de servlets de código abierto, JavaServer Pages, Java Expression Language y tecnología WebSocket que también actúa como un servidor web. Ofrece un entorno de servidor HTTP basado en “Java puro” en el que Java puede ser ejecutado .” Tomcat funciona con el lenguaje de programación Java y está asociado con aplicaciones web escritas en Java.

Requisitos

Nuestra primera tarea es asegurarnos de que nuestro sistema esté actualizado. Ya que vamos a instalar Tomcat en CentOS 8, ejecutaremos los siguientes comandos.

cat /etc/redhat-release 
yum -y install epel-release
yum -y update -y

A continuación, debemos verificar si Java ya está instalado.

java -version

Pero si no tenemos instalado Java, recibiremos el resultado en la captura de pantalla a continuación.

Instalar Java

Avanzando, instalemos Java. Apache Tomcat no funcionará correctamente si Java no está presente en el sistema. Además, debemos asegurarnos de instalar Java OpenJDK 11. Debido a que es de código abierto y una versión a largo plazo, lo haremos no se encuentre con ningún problema de licencia. Para realizar esta tarea, usaremos el siguiente comando.

dnf install java-11-openjdk-devel -y

A continuación, verificaremos la versión de Java instalada ejecutando este comando.

java -version

Instalando Tomcat

Nota: En el momento de escribir este artículo, la última versión de Tomcat es 10.0.6. Si desea descargar la última versión, visite este enlace de descarga de Tomcat 10 para buscar la versión más reciente.

Entonces, primero necesitamos crear un usuario para Tomcat.

useradd -r tomcat

A continuación, vamos a crear una carpeta y luego usaremos el "cd ” comando para cambiar de directorio a esa carpeta donde descargaremos Tomcat.

mkdir /usr/local/tomcat10
cd /usr/local/tomcat10

Ahora, descarguemos el archivo Tomcat usando curl (wget también es una opción si está instalado en su versión de CentOS 8).

curl -o tomcat10.tar.gz https://downloads.apache.org/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-10.0.6.tar.gz

Nota: Usar el comando curl con el indicador -o nos permite descargar el archivo tar.gz y guardarlo localmente con el nombre de archivo que elijamos. En este caso, simplemente guardamos el archivo como tomcat10.tar.gz.

A continuación, podemos desempaquetar el "tomcat10 tar.gz ” archivo en nuestra carpeta de trabajo.

tar -xvf tomcat10.tar.gz

Entonces, ahora necesitamos modificar la propiedad del directorio /usr/local/tomcat10/.

chown -R tomcat:tomcat /usr/local/tomcat10

Luego copie los archivos en apache-tomcat10.0.6 en el directorio tomcat10 usando los siguientes comandos:

cd apache-tomcat-10.0.6/
cp -r * /usr/local/tomcat10

Además de De forma predeterminada, sus archivos se ubicarán en esta carpeta:/usr/local/tomcat 10 y los archivos de configuración se almacenarán en:/usr/local/tomcat10/conf

ll

Establecer variable de entorno

Ahora, podemos configurar la variable de entorno CATALINA_HOME usando los siguientes comandos:

 echo "export CATALINA_HOME="/usr/local/tomcat10"" >> ~/.bashrc
 source ~/.bashrc

Esta variable se configura para garantizar que se permita el acceso al software a todos los usuarios de su sistema.

Crear y configurar el servicio Systemd

Entonces, primero, revisemos nuestra información de Java, ya que la necesitaremos para completar parte de nuestro archivo de unidad.

alternatives --list | grep java

A continuación, para asegurarnos de que tenemos Tomcat configurado como un servicio, crearemos un archivo de unidad systemd simple.

Nota: Un archivo de unidad es un registro de texto sin formato que define los recursos del sistema que están disponibles para ser administrados por los demonios systemd.

touch /etc/systemd/system/tomcat.service
vim /etc/systemd/system/tomcat.service

Ahora, podemos agregar la siguiente información a nuestro nuevo archivo de unidad.

[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=CATALINA_PID=/usr/local/tomcat10/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat10
Environment=CATALINA_BASE=/usr/local/tomcat10

ExecStart=/usr/local/tomcat10/bin/catalina.sh start
ExecStop=/usr/local/tomcat10/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

Este archivo de unidad puede contener varias directivas además de las enumeradas anteriormente. Después de esto, debemos guardar el archivo (usando :wq) y volver a cargar el servicio para aplicar los cambios.

systemctl daemon-reload

Así que ahora podemos probar el archivo de configuración de systemd Java.

Iniciar, habilitar y comprobar el estado de Tomcat

A continuación, iniciemos el servicio Tomcat y luego habilítelo.

[root@unixcop tomcat10]# systemctl start tomcat.service
[root@unixcop tomcat10]# systemctl enable tomcat.service

Ahora, podemos verificar su estado usando el siguiente comando.

systemctl status tomcat.service

Finalmente, presione la tecla 'q' para salir de la verificación de estado y regresar al aviso de bash.

Verificación de versión

Para recuperar la información del servidor Tomcat, podemos usar el siguiente comando:

/usr/local/tomcat10/bin/version.sh

Pruebas

A continuación, abramos un navegador para probar la conexión.

Carga http://localhost:8080 o http://IPdelservidor:8080 en su navegador, y debería ver una imagen como la siguiente.

¡Errores!

Si por casualidad, obtiene un "err_ssl_protocol_error ” cuando visite http://ip.ad.dr.ess:8080/, verifique el error usando curl y una vez verificado, siga los siguientes pasos.

#curl-Iv https://DIRECCIÓNIP:8080

Por ejemplo, la dirección IP de mi máquina agrega:

curl -Iv https://192.168.232.128:8080

1. Verifique que los puertos Java/Tomcat estén abiertos en el firewall

firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --zone=public --permanent --add-port=8443/tcp

2. Luego ejecute un comando netstat para verificar si el servidor está escuchando las direcciones IPv4 (y/o la dirección IPv6 si es necesario).

Entonces, después de verificar netstat, vimos que Tomcat solo estaba vinculado a los puertos del protocolo IPv6.

[root@unixcop tomcat10]# netstat -nlp | grep java

Nota: Por lo tanto, es posible que deba instalar Netstat con el comando "yum install net-tools" para ver este problema, ya que nuestra versión de CentOS 8 no incluía el comando netstat de manera predeterminada.

Para abordar esto, cree un archivo llamado setenv.sh dentro de su directorio bin/ CATALINA_BASE o CATALINA_HOME
(usamos el /usr/local/tomcat10/bin carpeta).

Luego crea un nuevo archivo llamado setenv.sh.

cd bin/
touch setenv.sh
vim setenv.sh

Haga clic en insertar y agregue la siguiente línea al archivo.

JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true "

Esta entrada anula la configuración predeterminada utilizada por Tomcat. Una vez completada la tarea, guarde y salga del archivo usando “:wq ” y recargar los servicios para guardar nuestros cambios.

systemctl daemon-reload

Entonces, ahora, revisemos los puertos nuevamente con el mismo comando:

[root@unixcop tomcat10]# netstat -nlp | grep java
tcp 0 0 0.0.0.0:8080  0.0.0.0:* LISTEN 59815/java
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 59815/java
tcp 0 0 0.0.0.0:8009  0.0.0.0:* LISTEN 59815/java

Verifique que los puertos de firewall correctos estén abiertos.

[root@unixcop ~]# firewall-cmd --zone=public --list-ports | grep 8080
8080/tcp 8443/tcp
[root@unixcop ~]# 

Luego, si todo eso falla, puede detener y deshabilitar el servicio de firewall temporalmente para probar su página Tomcat:

systemctl disable firewalld
systemctl stop firewalld

Ajustes de configuración

Aquí hay un par de ajustes de configuración útiles para Tomcat.

Agregar usuarios

Por lo tanto, es posible que necesitemos agregar nuevos usuarios o un usuario administrador. Podemos lograr esto yendo a la carpeta conf de Tomcat y modificando esta configuración.

[root@unixcop conf]# cd /usr/local/tomcat10/conf 
<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="_SECRET_PASSWORD_" roles="manager-gui,admin-gui" />

Nota:Podemos abrir el archivo a través de vi o vim o utilizando el administrador de archivos y abriendo el archivo con un editor de texto .

Finalmente, use :wq para guardar el archivo.

Cambiar Puertos

Entonces, a veces, es posible que desee ejecutar Tomcat en un puerto alternativo. Para lograr esto, podemos modificar la configuración del puerto del conector en el archivo server.xml.
Estos son los pasos a seguir.

[root@unixcop conf]# cd /usr/local/tomcat10/conf/
[root@unixcop conf]# vim /usr/local/tomcat10/conf/server.xml

Además de En el archivo server.xml o desde dentro de un editor de texto, podemos modificar la línea “Puerto del conector”, cambiándolo del puerto 8080 al 80 o cualquier otro número de puerto que elijamos.

Line
68  <Connector port="8080" protocol="HTTP/1.1"
69        connectionTimeout="20000"
70        redirectPort="8443" />

Conclusión

En general, Tomcat facilita fácilmente el intercambio de datos entre un cliente y el servlet, proporciona una plataforma de programación para aplicaciones web y asume las funciones de identificación y autorización de clientes, creando sesiones para cada uno de ellos de forma segura.


Cent OS
  1. Cómo instalar Tomcat 9 en CentOS 7

  2. Cómo instalar Apache Tomcat 8 en CentOS

  3. Cómo instalar Apache Tomcat en CentOS 7

  4. Cómo instalar Tomcat 8 en un VPS CentOS 6

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

Cómo instalar y configurar Redmine en CentOS 7

Cómo instalar Tomcat 9 en CentOS 8

Cómo instalar Tomcat en CentOS

Cómo instalar Apache Tomcat en CentOS 8

Cómo instalar Apache Tomcat 9 en CentOS 7

Cómo instalar Tomcat y Java en CentOS 8