Tomcat 9, instalación y configuración básica en Ubuntu 18.04

En el siguiente artículo vamos a ver cómo podemos instalar Tomcat 9 en Ubuntu 18.04. Sobre la instalación de este contenedor con soporte para servlets y JSPs entre otros, ya nos habló un compañero hace unos años en un artículo.

Apache Tomcat es una implementación de código abierto de las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket. Ofrece una solución completa para quienes necesitan ejecutar ese tipo de contenidos, entre los que se encuentran las grandes organizaciones y corporaciones hasta las PyMES, porque si algo caracteriza a esta herramienta es su gran escalabilidad.

Antes de meternos en profundidad con la instalación de Tomcat 9, necesitamos instalar OpenJDK.

Instalar OpenJDK

La instalación del paquete OpenJDK en Ubuntu 18.04 es bastante sencilla:

sudo apt install default-jdk

Si prefieres instalar Oracle Java en lugar de OpenJDK, consulta las instrucciones que publicó un compañero tiempo atrás.

Crear usuario para Tomcat

Ahora vamos a crear un nuevo usuario y grupo de sistema con el directorio de inicio en /opt/tomcat, que ejecutará el servicio de Tomcat:

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

Descargar Tomcat 9

Utilizaremos wget y unzip para descargar y extraer el archivo de Tomcat 9. Los podemos instalar escribiendo:

sudo apt install unzip wget

Vamos a descargar la última versión de Tomcat 9.0.x desde su página de descargas. En el momento de escribir estas líneas, la última versión es la 9.0.10.

Cuando tengamos claro cual es el archivo a descargar, nos vamos a mover al directorio /tmp y descargar el archivo zip con wget.

cd /tmp

wget http://apache.rediris.es/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.zip

Una vez que se complete la descarga, extraeremos el archivo zip y lo vamos a mover al directorio /opt/tomcat:

unzip apache-tomcat-*.zip

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

Para tener más control sobre las versiones y actualizaciones, crearemos un enlace simbólico que apuntará al directorio de instalación:

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

Más adelante, si deseas actualizar tu instalación de Tomcat, puedes desempaquetar la versión más reciente y cambiar el enlace simbólico para que apunte a la última versión.

El usuario de tomcat que configuramos anteriormente necesita tener acceso al directorio de Tomcat 9. Tendremos que cambiar la propiedad del directorio al usuario y grupo de tomcat:

sudo chown -R tomcat: /opt/tomcat

También haremos que los scripts dentro del directorio bin sean ejecutables:

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

Crear un archivo de unidad systemd

Para ejecutar Tomcat como un servicio, crearemos un nuevo archivo de unidad llamado tomcat.service. Este hay que guardarlo dentro del directorio /etc/systemd/system/ con el siguiente contenido:

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
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

Verificar el estado del servicio

Notificaremos a systemd que creamos un nuevo archivo de unidad e iniciaremos el servicio Tomcat ejecutando:

sudo systemctl daemon-reload

sudo systemctl start tomcat

Se puede verificar el estado del servicio con el siguiente comando:

sudo systemctl status tomcat

Si no hay errores, puedes habilitar el servicio Tomcat para que se inicie automáticamente en el momento del arranque:

sudo systemctl enable tomcat

Ajustar el Firewall

Si tu equipo o servidor está protegido por un firewall y quieres acceder a la interfaz de Tomcat desde el exterior de tu red local, deberás abrir el puerto 8080. Este paso es peligroso en algunas situaciones.

Para permitir el tráfico en el puerto 8080 escribe el siguiente comando:

sudo ufw allow 8080/tcp

Configurar Tomcat Web Manager Interface

Ahora que tenemos Tomcat 9 instalado en nuestro Ubuntu, el siguiente paso es crear un usuario que tenga acceso a la interfaz de administración web. Los usuarios de Tomcat y sus roles se definen en el archivo tomcat-users.xml.

Si abres el archivo, verás que está lleno de comentarios y ejemplos.

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

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

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

De forma predeterminada, la interfaz de administración web de Tomcat está configurada para permitir el acceso solo desde el host local. Si necesitas acceder a la interfaz web desde una IP remota abre los siguientes archivos y comenta o elimina las líneas marcadas en las capturas:

sudo vim /opt/tomcat/latest/webapps/manager/META-INF/context.xml

sudo vim /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

Si necesitas acceder a la interfaz web solo desde una IP específica, en lugar de comentar los bloques, agrega tu IP pública a la lista. Las direcciones IP permitidas se añaden separándolas mediante una barra vertical |. Puedes agregar direcciones IP únicas o usar expresiones regulares.

Probar la instalación

Abre tu navegador y escribe: http://tu-dominio-o-ip:8080. Suponiendo que la instalación sea exitosa, aparecerá una pantalla como la siguiente:

El panel del administrador de aplicaciones web de Tomcat está disponible en http://tu-dominio-o-ip: 8080/manager/html. Aquí podrás gestionar tus aplicaciones.

El gestor de máquina virtual de Tomcat está disponible en http://tu-dominio-o-ip: 8080/host-manager/html. Desde aquí puedes gestionar los hosts virtuales de Tomcat.

Puedes visitar la Documentación oficial de Tomcat 9  y obtener más información sobre sus características.


Categorías

Ubuntu

Aficionado a la programación y al software. Dispuesto a aprender de todo para después contarlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.