Si desea ejecutar páginas web que incluyan código de páginas de servidor Java o servlets de Java, puede utilizar Apache Tomcat. Es un servidor web de código abierto y contenedor de servlets, lanzado por la Fundación Apache Software.
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 basa en Tomcat 8 y 8.5 e implementa Servlet 4.0, JSP 2.2.
Leer también: Cómo instalar Apache Tomcat 9 en CentOS/RHEL
Se han realizado las siguientes mejoras en la nueva versión:
- Admite HTTP/2.
- Admite el uso de OpenSSL para el soporte de TLS con los conectores JSSE.
- Admite hosts virtuales de TLS (SNI).
En este tutorial le mostraremos cómo instalar Apache Tomcat 9 en Ubuntu 18.10 y versiones anteriores de Ubuntu.
Paso 1: Instalar Java
Para ejecutar aplicaciones web Java, Tomcat requiere que Java esté instalado en el servidor. Para cumplir con ese requisito, instalaremos OpenJDK como se muestra.
$ sudo apt update $ sudo apt install default-jdk
Paso 2: Crear un usuario de Tomcat
Por razones de seguridad, Tomcat debe ejecutarse con un usuario no privilegiado, es decir, no root. Por eso crearemos el usuario y grupo tomcat que ejecutará el servicio. Comencemos creando 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 se establecerá en /bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Ahora estamos listos para proceder al siguiente paso y descargar Tomcat.
Paso 3: Instalando Apache Tomcat
Para descargar el paquete más reciente disponible, dirígete a la página de descargas de Tomcat y obtén 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, cambia tu directorio actual a otro. Por ejemplo, puedes usar /tmp:
# cd /tmp
Y luego usa el comando wget para descargar el archivo de Tomcat:
$ wget http://apache.cbox.biz/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 deseas verificar el valor sha512 del archivo, puedes ejecutar:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
El valor resultante (hash) de ambos archivos debería ser el mismo.
Como se mencionó anteriormente, vamos a instalar Tomcat en /opt/tomcat. Tendremos que crear ese directorio:
$ sudo mkdir /opt/tomcat
Y ahora podemos extraer el paquete descargado en ese nuevo directorio:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Ahora navega a /opt/tomcat desde donde actualizaremos la propiedad y permisos de la carpeta:
# cd /opt/tomcat
Y establece el grupo propietario de /opt/tomcat como tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
A continuación actualizaremos el acceso de lectura del grupo tomcat sobre el directorio conf y estableceremos permisos de ejecución al directorio:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
Luego haremos que el usuario tomcat sea propietario de los directorios webapps, work, temp y logs:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Ahora que los permisos y propietarios adecuados han sido establecidos, estamos listos para crear un archivo de inicio de systemd, que nos ayudará a gestionar el proceso de Tomcat.
Paso 4: Creación de un Archivo de Servicio SystemD para Tomcat
Como queremos ejecutar Tomcat como un servicio, necesitaremos un archivo que nos ayude a gestionar fácilmente el proceso. Con ese propósito crearemos un archivo de servicio systemd. Tomcat tendrá que saber dónde se encuentra Java en su sistema.
Para encontrar esa ubicación, use 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 de Tomcat.
$ sudo vim /etc/systemd/system/tomcat.service
Pegue el código a continuación 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 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 establecer JAVA_HOME con el de su sistema. Cuando esté listo, guarde el archivo y ciérrelo. Ahora, utilizando el comando a continuación, recargue el demonio de systemd para que pueda encontrar nuestro nuevo archivo de servicio:
$ sudo systemctl daemon-reload
Luego inicie el servicio de Tomcat:
$ sudo systemctl start tomcat
Puede verificar el estado del servicio con:
$ sudo systemctl status tomcat

Ahora puedes probar Tomcat en tu navegador utilizando la dirección IP de tu sistema seguida del puerto predeterminado del servicio 8080.
http://ip-address:8080
El resultado que deberías ver será similar al que se muestra en la imagen a continuación:

En caso de que no veas la salida anterior, es posible que necesites permitir el puerto 8080 en tu firewall como se muestra a continuación.
$ sudo ufw allow 8080
Si deseas que Tomcat se inicie en el arranque del sistema, ejecuta:
$ systemctl enable tomcat
Paso 5: Configurando Apache Tomcat
Tomcat tiene una aplicación de gestión web que viene preinstalada. Para poder utilizarla, necesitaremos configurar la autenticación en 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 añadir un usuario que podrá acceder a las interfaces de manager y admin. Para configurar dicho usuario, entre las etiquetas <tomcat-users> </tomcat-users>
, añade la siguiente línea:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Asegúrate de cambiar:
- Nombre de usuario – con el usuario que deseas autenticar.
- Contraseña – con la contraseña que deseas utilizar para la autenticación.

Dado que por defecto el acceso al Host Manager y al Manager está restringido, querremos eliminar o modificar estas restricciones. Para realizar 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, puedes comentar la restricción de IP o permitir tu dirección IP pública. Para el propósito de este tutorial, he comentado la línea:

Para que nuestros cambios se apliquen, recarga el servicio de tomcat con:
$ sudo systemctl restart tomcat
Ahora puedes probar la aplicación manager accediendo a http://direcciónip:8080/manager/. Cuando se te pida nombre de usuario y contraseña, utiliza los que configuraste anteriormente. La interfaz que debes ver después se parece a esta:

Para acceder al gestor de host, puedes usar http://dirección-ip:8080/host-manager/.

Usando el gestor de host virtual, puedes crear hosts virtuales para tus aplicaciones Tomcat.
Paso 6: Probando Apache Tomcat Creando un Archivo de Prueba
Puedes comprobar si todo funciona correctamente, creando un archivo de prueba dentro del directorio /opt/tomcat/webapps/ROOT/.
Creemos dicho archivo:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Dentro de ese archivo, pega el siguiente código:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
Guarda el archivo y establece la propiedad como se muestra.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Ahora carga ese archivo en tu navegador utilizando http://dirección-ip:8080/tecmint.jsp.

¡Eso es todo! Has completado la configuración de tu servidor Apache Tomcat y has ejecutado tu primer código Java. Esperamos que el proceso haya sido fácil y sencillo para ti. Si tienes algún problema, comparte tus problemas a través del formulario de comentarios a continuación.
Source:
https://www.tecmint.com/install-apache-tomcat-in-ubuntu/