Como instalar Apache Tomcat en Ubuntu

Apache Tomcat

Si desea ejecutar páginas web que incluyan la codificación de las página del servidor en Java o los servlets de Java, puede utilizar Apache Tomcat.

Este es un servidor web de código abierto y un contenedor de servlets, lanzado por Apache Software Foundation.

Tomcat se puede utilizar como un producto independiente, con su propio servidor web o se puede combinar con otros servidores web como Apache o IIS.

La versión más reciente de Tomcat es 9.0.14 y se construye sobre Tomcat 8 y 8.5 e implementa Servlet 4.0, JSP 2.2.

Esta versión tiene las siguientes mejoras incorporadas:

  • Añadido soporte para HTTP / 2.
  • Se agregó soporte para usar OpenSSL para soporte TLS con los conectores JSSE.
  • Se agregó soporte para hosts virtuales TLS (SNI).

En este tutorial, le mostraré cómo instalar Apache Tomcat 9 en Ubuntu 18.10 y una versión anterior de Ubuntu (18.04).

Paso 1: Instalando Java

Para ejecutar aplicaciones web Java, Tomcat requiere que Java esté instalado en el servidor. Para cumplir con este requisito, instalaremos OpenJDK como se muestra.

$ sudo apt update
$ sudo apt install default-jdk

Paso 2: Creando un usuario Tomcat

Por razones de seguridad, Tomcat debe ejecutarse con un usuario sin privilegios, es decir que no sea root.

Es por eso que crearemos un usuario y grupo tomcat que ejecutará el servicio. Comience por crear el grupo tomcat:

$ sudo groupadd tomcat

A continuación, crearemos un usuario tomcat, que será miembro del grupo tomcat.

La ubicación de inicio de este usuario será /opt /tomcat ya que aquí es donde vamos a instalar Tomcat. El shell para ese usuario se establece en /bin/false:

$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Ahora estamos listos para continuar con el siguiente paso y descargar Tomcat.

Paso 3: Instalar Apache Tomcat

Para descargar el último paquete disponible, diríjase a la página de descargas de Tomcat y obtenga la última versión.

En el momento de escribir este tutorial, la última versión de Tomcat es 9.0.14.

Para descargar esa versión, cambie su directorio actual a otra cosa. Por ejemplo puedes usar /tmp:

Y luego usando el comando wget para descargar el archivo Tomcat:

$ wget http://apache.dattatec.com/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
$ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512

Si desea verificar la suma sha512 del archivo, puede ejecutar:

$ sha512sum apache-tomcat-9.0.14.tar.gz<br />$ cat apache-tomcat-9.0.14.tar.gz.sha512

Y ahora podemos extraer el paquete descargado en el directorio de destino:

$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1

Ahora navegue a /opt/tomcat desde donde actualizaremos los permisos y la propiedad de la carpeta:

cd /opt/tomcat

Y establece el propietario del grupo de /opt/tomcat to tomcat:

$ sudo chgrp -R tomcat /opt/tomcat

A continuación, actualizaremos el acceso de lectura del grupo tomcat sobre el directorio conf y estableceremos los permisos de ejecución en el directorio:

$ sudo chmod -R g + r conf<br />$ sudo chmod g + x conf

A continuación, haremos que Tomcat sea el propietario de los directorios webapps, work, temp y logs:

$ sudo chown -R tomcat webapps /work/temp/logs/

Ahora que se han establecido los permisos y las propiedades correctas estamos listos para crear un archivo de inicio de systemd, que nos ayudará a administrar el proceso Tomcat.

Paso 4: Creando un archivo de servicio SystemD para Tomcat

Debido a que queremos ejecutar Tomcat como un servicio, necesitaremos un archivo que nos ayude a administrar fácilmente el proceso. Para ello crearemos un archivo de servicio systemd. Tomcat tendrá que saber dónde se encuentra Java en su sistema.

Para encontrar esa ubicación usa el siguiente comando:

$ sudo update-java-alternatives -l

La salida de ese comando le mostrará la ubicación de JAVA_HOME.

Ahora, utilizando esa información, estamos listos para crear nuestro archivo de servicio Tomcat.

$ sudo vim /etc/systemd/system/tomcat.service

Pegue el siguiente código en el archivo:

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

[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat<br />Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Asegúrese de configurar JAVA_HOME con el de su sistema.

Cuando esté listo, guarde el archivo y ciérrelo.

Ahora, usando el comando a continuación, vuelva a cargar el demonio systemd para que pueda encontrar nuestro nuevo archivo de servicio:

$ sudo systemctl start tomcat

Luego inicie el servicio Tomcat

$ sudo systemctl start tomcat

Puedes verificar el estado del servicio con:

$ sudo systemctl status tomcat

Ahora puede probar Tomcat en su navegador usando la dirección IP de su sistema seguida del puerto predeterminado 8080 del servicio.

En caso de que no vea la salida anterior, es posible que deba permitir el puerto 8080 en su firewall como se muestra:

$ sudo ufw allow 8080

Si desea que Tomcat se inicie en el arranque del sistema, ejecute:

$ systemctl enable tomcat

Paso 5: Configurando Apache Tomcat

Tomcat tiene una aplicación de administrador web que viene preinstalada. Para usarlo, necesitaremos configurar la autenticación dentro de nuestro archivo tomcat-users.xml. Abre y edita ese archivo con tu editor de texto favorito:

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

Vamos a agregar un usuario que podrá acceder a las interfaces de administrador y administrador.

Para configurar dicho usuario, entre las etiquetas , agregue la siguiente línea:

<user username="Username" password="Password" roles="manager-gui,admin-gui">

Asegúrate de cambiar:

  • Username con el usuario que desea autenticar.
  • Password: con la contraseña que desea utilizar para la autenticación.

Dado que, de forma predeterminada, el acceso al Administrador de Host y al Administrador está restringido, desearemos eliminar o alterar estas restricciones. Para hacer tales cambios puedes cargar los siguientes archivos:

Para la Aplicación Manager:

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

Para la aplicación Host manager:

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

Dentro de esos archivos, puede comentar la restricción de IP o permitir su dirección IP pública allí. Para el propósito de este tutorial, he comentado la línea:

Para  que tome los cambios realizados vuelva a cargar el servicio tomcat con:

$ sudo systemctl restart tomcat

Ahora puede probar la aplicación de administrador accediendo a :

http://dirección_ip:8080/administrador/

Cuando se le solicite el nombre de usuario y la contraseña, use los que haya configurado anteriormente.

La interfaz que deberías ver después se ve así:

Para acceder al Host manager, use la siguiente url:

http://dirección_ip:8080/host-manager/

Con el administrador de host virtual, puede crear hosts virtuales para sus aplicaciones Tomcat.

¡Eso es! He completado la configuración de un servidor Apache Tomcat.

Espero que el proceso sea fácil de entender y directo para usted.

Si tiene algún problema, comparta sus problemas a través del formulario de comentarios a continuación.

Avatar
Carlos Dagorret
CTO Facultad de Ciencias Económicas

My research interests include distributed robotics, mobile computing and programmable matter.

comments powered by Disqus