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

Cómo instalar Tomcat 9 en CentOS 7

Tomcat es una implementación de código abierto de las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket.

Este tutorial cubre los pasos necesarios para instalar Tomcat 9.0 en CentOS 7.

Requisitos previos #

El usuario con el que inicia sesión debe tener privilegios sudo para poder instalar paquetes.

Instalar OpenJDK #

Tomcat 9 requiere Java SE 8 o posterior. Instalaremos OpenJDK, la implementación de código abierto de la plataforma Java, que es el tiempo de ejecución y desarrollo de Java predeterminado en CentOS 7.

Instale Javaescribiendo el siguiente comando:

sudo yum install java-1.8.0-openjdk-devel

Crear número de usuario del sistema Tomcat

Ejecutar Tomcat como usuario raíz es un riesgo de seguridad y no se considera una buena práctica.

Crearemos un nuevo usuario y grupo del sistema con el directorio de inicio /opt/tomcat que ejecutará el servicio Tomcat:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Descargar Tomcat #

Descargaremos la última versión de Tomcat 9.0.x desde la página de descargas de Tomcat.

Al momento de escribir, la última versión de Tomcat es 9.0.27 . Antes de continuar con el siguiente paso, debe consultar la página de descarga de Tomcat 9 para ver si hay una versión más nueva disponible.

Navegue hasta /tmp y descargue el archivo zip de Tomcat usando el siguiente comando wget:

cd /tmpwget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz

Cuando se complete la descarga, extraiga el archivo tar:

tar -xf apache-tomcat-9.0.27.tar.gz

Mueva los archivos fuente de Tomcat a /opt/tomcat directorio:

sudo mv apache-tomcat-9.0.27 /opt/tomcat/

Tomcat 9 se actualiza con frecuencia. Para tener más control sobre las versiones y actualizaciones, crearemos un enlace simbólico llamado latest , que apunta al directorio de instalación de Tomcat:

sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest

El usuario de Tomcat que configuramos previamente debe tener acceso al directorio de instalación de Tomcat.

Ejecute el siguiente comando para cambiar la propiedad del directorio al usuario y grupo tomcat:

sudo chown -R tomcat: /opt/tomcat

Haz los scripts dentro del bin directorio ejecutable emitiendo el siguiente chmod comando:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Crea un archivo de unidad systemd #

Para hacer que Tomcat se ejecute como un servicio, abra su editor de texto y cree un tomcat.service archivo de unidad en el /etc/systemd/system/ directorio:

sudo nano /etc/systemd/system/tomcat.service

Pegue el siguiente contenido:

/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

Notifique a systemd que creamos un nuevo archivo de unidad escribiendo:

sudo systemctl daemon-reload

Habilite e inicie el servicio Tomcat:

sudo systemctl enable tomcatsudo systemctl start tomcat

Verifique el estado del servicio con el siguiente comando:

sudo systemctl status tomcat
● tomcat.service - Tomcat 9 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2018-11-15 20:47:50 UTC; 4s ago
  Process: 1759 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 1767 (java)
   CGroup: /system.slice/tomcat.service

Ajustar el cortafuegos #

Si su servidor está protegido por un firewall y desea acceder a la interfaz Tomcat desde el exterior de la red local, debe abrir el puerto 8080 .

Use los siguientes comandos para abrir el puerto necesario:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcpsudo firewall-cmd --reload
En la mayoría de los casos, al ejecutar Tomcat en un entorno de producción, utilizará un equilibrador de carga o un proxy inverso. Es una buena práctica permitir el acceso al puerto 8080 sólo a su red interna.

Configurar interfaz de administración web de Tomcat #

En este punto, Tomcat está instalado y podemos acceder a él con un navegador web en el puerto 8080 , pero no podemos acceder a la interfaz de administración web porque aún no hemos creado un usuario.

Los usuarios de Tomcat y sus funciones se definen en tomcat-users.xml archivo.

Si abre el archivo, notará que está lleno de comentarios y ejemplos que describen cómo configurar el archivo.

sudo nano /opt/tomcat/latest/conf/tomcat-users.xml

Para agregar un nuevo usuario que podrá acceder a la interfaz web de Tomcat (manager-gui y admin-gui), debe definir el usuario en tomcat-users.xml archivo como se muestra a continuación. Asegúrate de cambiar el nombre de usuario y la contraseña a algo más seguro:

/opt/tomcat/latest/conf/tomcat-users.xml
<tomcat-users>
<!--
    Comments
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

De forma predeterminada, la interfaz de administración web de Tomcat está configurada para permitir el acceso solo desde el servidor local. Si desea poder acceder a la interfaz web desde una IP remota o desde cualquier lugar que no se recomienda porque es un riesgo de seguridad, puede abrir los siguientes archivos y realizar los siguientes cambios.

Si necesita acceder a la interfaz web desde cualquier lugar, abra los siguientes archivos y comente o elimine las líneas resaltadas en amarillo:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>

Si necesita acceder a la interfaz web solo desde una IP específica, en lugar de comentar los bloques, agregue su IP pública a la lista. Digamos que su IP pública es 41.41.41.41 y quieres permitir el acceso solo desde esa IP:

/opt/tomcat/latest/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" />
</Context>
/opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" />
</Context>

La lista de direcciones IP permitidas es una lista separada por una barra vertical | . Puede agregar direcciones IP individuales o usar expresiones regulares.

Una vez hecho esto, reinicie el servicio Tomcat para que los cambios surtan efecto:

sudo systemctl restart tomcat

Probar la instalación #

Abra su navegador y escriba:http://<your_domain_or_IP_address>:8080

Tras una instalación exitosa, debería aparecer una pantalla similar a la siguiente:

El panel del administrador de aplicaciones web de Tomcat está disponible en http://<your_domain_or_IP_address>:8080/manager/html . Desde aquí, puede implementar, anular la implementación, iniciar, detener y recargar sus aplicaciones.

El panel del administrador de host virtual de Tomcat está disponible en http://<your_domain_or_IP_address>:8080/host-manager/html . Desde aquí, puede crear, eliminar y administrar hosts virtuales de Tomcat.


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

  2. Cómo instalar Vagrant en CentOS 7

  3. Cómo instalar Gitea en CentOS 8

  4. Cómo instalar ownCloud en CentOS 8

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

Cómo instalar Jenkins en CentOS 8

Cómo instalar Tomcat 9 en CentOS 8

Cómo instalar Tomcat en CentOS

Cómo instalar Zoom en CentOS 8

Cómo instalar Nethogs en CentOS

Cómo instalar Yourls en CentOS 8