Cómo instalar Tomcat 9 en openSUSE Leap 15

En esta entrada vamos a ver cómo instalar Tomcat 9 en openSUSE Leap 15.1, 15.2 y 15.3 paso a paso, de modo que puedas desplegar servlets o aplicaciones de servidor realizadas en Java desde tu servidor o VPS openSUSE.

Antes de instalar Tomcat 9 en openSUSE Leap 15

Si quieres poder completar esta guía de instalación de Tomcat 9 en openSUSE Leap 15 debes partir de los sguientes requisitos mínimos:

  • Una instalación actualizada de openSUSE Leap 15.1, 15.2 ó 15.3.
  • Entorno de Java JRE.
  • Acceso a terminal de comandos con root o un usuario con privilegios de sudo.
  • Conexión a Internet.

Si aún no dispones del entorno necesario, podría interesarte consultar previamente nuestra guía de instalación de Java en openSUSE Leap 15.

Cómo descargar Tomcat 9 para openSUSE Leap 15

Vamos a descargar Tomcat 9 para openSUSE Leap 15 desde la página web del proyecto, donde encontraremos la última versión disponible en la sección de descargas:

como descargar tomcat para opensuse leap 15.1, 15.2 y 15.3

Encontraremos enlaces de descarga con distintos formatos de compresión y para distintos sistemas. En este tutorial descargaremos el paquete en formato .tar.gz directamente desde consola, por lo que copiaremos el enlace para usarlo con el comando wget:

~> wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz

Cómo instalar Tomcat 9 en openSUSE Leap 15

Vamos a instalar Tomcat 9 en openSUSE Leap 15 desde el paquete que acabamos de descargar, pero antes de descomprimirlo crearemos un usuario con el que correrá el servicio:

~> sudo useradd -m -k /dev/null -U -d /opt/tomcat -s /bin/false tomcat

Ahora podemos descomprimir el paquete de Tomcat 9 en /opt/tomcat directamente:

~> sudo tar xf apache-tomcat-9.0.50.tar.gz -C /opt/tomcat/

Los archivos de Tomcat 9 se instalan en un nuevo subdirectorio cuya propiedad debemos conceder al usuario tomcat:

~> sudo chown -R tomcat:tomcat /opt/tomcat/apache-tomcat-9.0.50/

Habrás observado que este subdirectorio contiene números de versión en su nombre, por lo que sería buena idea crear un enlace simbólico sin números para facilitar las tareas de configuración y mantenimiento:

~> sudo ln -s /opt/tomcat/apache-tomcat-9.0.50/ /opt/tomcat/apache-tomcat

Como la idea es manejar Tomcat 9 como un servicio más de openSUSE Leap 15, es necesario crear un archivo de configuración para manejar este nuevo servicio:

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

Con el siguiente contenido:

[Unit]
Description=Apache Tomcat 9.0 Web Application Container
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib64/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/apache-tomcat"
Environment="CATALINA_HOME=/opt/tomcat/apache-tomcat"
Environment="CATALINA_PID=/opt/tomcat/apache-tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/apache-tomcat/bin/startup.sh
ExecStop=/opt/tomcat/apache-tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Guardamos los cambios y cerramos el archivo.

Para que SystemD advierta la nueva configuración, recargaremos el sistema de servicios:

~> sudo systemctl daemon-reload

Ya podemos iniciar el nuevo servicio:

~> sudo systemctl start tomcat

Y podremos comprobar el estado de servicio, ahora y en cualquier momento, mediante el comando systemctl status tomcat:

como instalar tomcat en opensuse leap 15

Si queremos que el servicio inicie automáticamente con cada arranque del sistema operativo, debemos habilitarlo igualmente con systemctl:

~> sudo systemctl enable tomcat

Cómo configurar el firewall

Por defecto el firewall de openSUSE Leap 15 suele estar activado, así que si queremos poder acceder al servicio Tomcat 9 desde la red, deberíamos añadir una excepción:

~> sudo firewall-cmd --permanent --add-port=8080/tcp

Aplicamos los cambios recargando la configuración del firewall:

~> sudo firewall-cmd --reload

Cómo acceder a Tomcat 9 en openSUSE Leap 15

Para acceder a Tomcat 9 en openSUSE Leap 15 usaremos un navegador y especificaremos la dirección IP o dominio del servidor añadiendo el puerto 8080 como URL.

Por ejemplo, en este tutorial trabajamos sobre una máquina accesible en el dominio opensuse15.local.lan, así que usaríamos http://opensuse15.local.lan:8080/ como URL:

instalar tomcat en opensuse leap 15

Veremos muchos enlaces que nos llevan a recursos de la documentación integrada de Tomcat 9, pero los más importantes son los botones «Server Status«, «Manager App» y «Host Manager«. Si accedemos desde red, ninguno de los enlaces de las herramientas administrativas funcionará, ya que las configuraciones de cada una de estas aplicaciones sólo permiten el acceso localmente.

instalación de tomcat en opensuse leap 15

Para cambiar esto, editaremos los archivos de configuración context.xml de cada aplicación.

Para la aplicación Manager:

~> sudo nano /opt/tomcat/apache-tomcat/webapps/manager/META-INF/context.xml

Veremos un bloque Context dentro del que la directiva Valve configura el acceso local:

...
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
...

Encerraremos esta directiva entre comentarios XML:

...
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
...

Guardamos los cambios y cerramos el archivo.

Podemos hacer lo mismo para la aplicación Host Manager:

~> sudo nano /opt/tomcat/apache-tomcat/webapps/host-manager/META-INF/context.xml

El procedimiento sería el mismo.

Ahora ya podremos acceder a estas aplicaciones de administración desde cualquier punto de la red, aunque veremos que necesitamos iniciar sesión con usuario y contraseña:

como instalar y configurar tomcat en opensuse leap 15

Las aplicaciones Manager y Host-Manager necesitan la existencia de usuarios con ciertos roles para pode acceder; veremos enseguida cómo crear estos usuarios.

Usuarios de Tomcat 9 en openSUSE Leap 15

El archivo en el que se administran los usuarios de la plataforma en openSUSE Leap 15 es tomcat-users.xml, que editaremos a continuación:

~> sudo nano /opt/tomcat/apache-tomcat/conf/tomcat-users.xml

Añadimos un usuario dentro del bloque tomcat-users:

...
        <user name="chacho" password="XXXXXXXX" roles="admin-gui,manager-gui" />
</tomcat-users>

Guardamos los cambios y cerramos el archivo.

Ya podemos acceder a las aplicaciones que requieren usuarios con los roles especificados.

Accediendo a las aplicaciones

Desde la página de inicio de Tomcat 9 podremos acceder a la aplicación «Server Status» (estado del servidor):

como configurar tomcat en opensuse leap 15

O a la aplicación «Manager App» (gestor de aplicaciones web):

tomcat para opensuse leap 15

Veremos que entre las aplicaciones instaladas por defecto, además de manager y host-manager, tenemos la aplicación de documentación de Tomcat 9 y la aplicación de ejemplos.

Otra aplicación accesible desde el inicio de Tomcat 9 es «Host Manager» (gestor de máquinas virtuales):

tomcat 9 en opensuse leap 15

Documentación de Tomcat 9 en openSUSE Leap 15

Ya vimos que en la página principal de Tomcat 9 existen varios enlaces a secciones relevantes de la aplicación de documentación local. Si quieres examinar esta documentación, desde el gestor de aplicaciones encontrarás acceso a la aplicación docs, donde encontrarás la documentación muy bien estructurada:

tomcat 9 sobre opensuse leap 15

Cómo desplegar aplicaciones en Tomcat 9

Si dispones de una aplicación Java en formato .war lista para ser desplegada, accede a la aplicación «Manager App» (/manager/) directamente o desde la página inicial de Tomcat 9, y desplázate a la sección «Desplegar / Archivo WAR a desplegar«:

instalar y configurar tomcat 9 en opensuse leap 15

Con el botón «Seleccionar archivo» localiza el archivo .war correspondiente a la aplicación que quieres instalar y a continuación pulsa el botón «Desplegar«. La página volverá a cargar y se mostrará un mensaje con el resultado de la operación. Si todo ha ido bien la aplicación aparecerá en la lista de aplicaciones disponibles, con sus correspondientes herramientas de gestión:

Bastará con seguir el enlace del nombre de la aplicación para que se muestre en el navegador.

Conclusión

Ahora que sabes cómo instalar y configurar Tomcat 9 en openSUSE Leap 15 ya puedes desplegar servlets y aplicaciones Java en tu servidor o VPS, o trabajar en tus propios desarrollos.

En caso de dudas, preguntas, sugerencias, propuestas de mejora, etc. puedes dejar un comentario.

¡Apoya este sitio!

¿Ya puedes servir servlets gracias a esta pequeña guía de instalación? Si es así y quieres agradecérmelo puedes hacerlo dejando 1 $ de propina desde PayPal para una CocaCola:

O, si te sientes especialmente agradecido, puedes invitarme a un cappuccino:

¡Gracias!

Valora esta entrada

7 comentarios en «Cómo instalar Tomcat 9 en openSUSE Leap 15»

    • El tutorial está realizado sobre una máquina virtual VirtualBox, igualmente sin entorno gráfico; los pantallazos se han sacado en una máquina distinta accediendo en red.

      Responder
  1. Magnífica guía explicada paso a paso, pero me da error al crear el servicio:
    Failed to start tomcat.service: Unit tomcat.service has a bad unit file setting

    Responder
    • Hola, Juan. Creo que debe haber algún error en el archivo tomcat.service, tal vez alguna ruta mal tecleada. Revísalo bien, corrígelo y recarga la cofiguración de los servicios.

      Responder
      • Se me olvidó comentar que utilizo tomcat 9.0.46 y la versión nueva de Leap, la 15.3 y no me extrañaría que fuese la causante de que no funcione.
        Lo he revisado y el archivo tomcat.service está bien copiado.

        Responder
        • ¡Hola, Juan! He comprobado de nuevo Tomcat 9.0.46 sobre openSUSE 15.3 siguiendo el tutorial y funcionaba correctamente. De hecho, acabo de actualizar el artículo para que contemple también openSUSE 15.3 y la nueva versión Tomcat 9.0.48. Si tomcat.service está correcto, entonces el problema podría estar en la ruta de instalación, algo no concuerda.

          Responder

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies