LINUX

Cómo instalar Tomcat 8 en Ubuntu 16.04 (varias instancias)

Apache Tomcat, comúnmente llamado Tomcat, es un servidor web de código abierto y un contenedor de servlets desarrollado por Apache Software Foundation. Está escrito en Java y publicado bajo licencia Apache 2.0. Esta es una aplicación multiplataforma. Tomcat en realidad está compuesto por varios componentes, incluido un motor Tomcat JSP y una variedad de conectores diferentes, pero su componente principal se llama Catalina. Catalina proporciona la implementación real de Tomcat de la especificación del servlet.

En este artículo, le proporcionaré pautas para instalar, configurar y crear varias instancias de Tomcat 8 en Ubuntu 16.04. Repasemos los pasos de instalación.

Dado que Tomcat está escrito en Java, necesitamos que Java esté instalado en nuestro servidor antes de la instalación.

Instalar Java

Tomcat 8 requiere la instalación de Java 7 o versiones posteriores en el servidor. Actualicé los paquetes en mi servidor Ubuntu e instalé los paquetes JDK usando los siguientes comandos:

root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install default-jdk
Setting up default-jdk-headless (2:1.8-56ubuntu2) ...
Setting up openjdk-8-jdk:amd64 (8u91-b14-0ubuntu4~16.04.1) ...
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer to provide /usr/bin/appletviewer (appletviewer) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
Setting up default-jdk (2:1.8-56ubuntu2) ...
Setting up gconf-service-backend (3.2.6-3ubuntu6) ...
Setting up gconf2 (3.2.6-3ubuntu6) ...
Setting up libgnomevfs2-common (1:2.24.4-6.1ubuntu1) ...
Setting up libgnomevfs2-0:amd64 (1:2.24.4-6.1ubuntu1) ...
Setting up libgnome2-common (2.32.1-5ubuntu1) ...
Setting up libgnome-2-0:amd64 (2.32.1-5ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.

Verifique y confirme la versión de Java

Después del proceso de instalación, simplemente verifique la versión de Java instalada en su servidor.

root@ubuntu:~# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

Descargar / instalar Tomcat

Podemos descargar la última versión de Gato aquí. Descargue y extraiga esto en la carpeta / opt / apache-tomcat8.

root@ubuntu:/opt# wget http://a.mbbsindia.com/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.zip
--2016-05-23 03:02:48-- http://a.mbbsindia.com/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.zip
Resolving a.mbbsindia.com (a.mbbsindia.com)... 103.27.233.42
Connecting to a.mbbsindia.com (a.mbbsindia.com)|103.27.233.42|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9842037 (9.4M) [application/zip]
Saving to: ‘apache-tomcat-8.0.35.zip’

apache-tomcat-8.0.35.zip 100%[===================================================================>] 9.39M 4.46MB/s in 2.1s

2016-05-23 03:02:51 (4.46 MB/s) - ‘apache-tomcat-8.0.35.zip’ saved [9842037/9842037]

Creando usuario / grupo de tomcat

Siempre se recomienda ejecutar una aplicación como usuario en lugar de como usuario root. Por lo tanto, creé un usuario llamado tomcat para ejecutar esta aplicación.

root@ubuntu:/opt# groupadd tomcat

root@ubuntu:/opt# useradd -g tomcat -s /bin/bash -d /opt/apache-tomcat8 tomcat

Ahora haga que todos los scripts de la carpeta bin de Tomcat sean ejecutables para el usuario.

root@ubuntu:/opt/apache-tomcat8/bin# chmod 700 *.sh

root@ubuntu:/opt# chown -R tomcat.tomcat apache-tomcat8/

Inicie la aplicación Tomcat

Ahora cambie al usuario de Tomcat y ejecute el script startup.sh dentro de la carpeta binaria de Tomcat, a saber / opt / apache-tomcat8 / bin / para ejecutar esta aplicación.

tomcat@ubuntu:~/bin$ sh startup.sh
Using CATALINA_BASE: /opt/apache-tomcat8
Using CATALINA_HOME: /opt/apache-tomcat8
Using CATALINA_TMPDIR: /opt/apache-tomcat8/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat8/bin/bootstrap.jar:/opt/apache-tomcat8/bin/tomcat-juli.jar
Tomcat started.

Ahora podemos acceder a esta URL. http: // serverip: 8080 en el navegador para confirmar el funcionamiento de Tomcat.

gato

Incluso podemos confirmar el estado usando este comando desde CLI como se muestra a continuación:

root@ubuntu:/opt# lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 22722 tomcat 53u IPv6 100669 0t0 TCP *:http-alt (LISTEN)

PD: para cerrar la aplicación puedes usar el script shutdown.sh dentro de los binarios de Tomcat.

root@ubuntu:/opt/apache-tomcat8# sh bin/shutdown.sh
Using CATALINA_BASE: /opt/apache-tomcat8
Using CATALINA_HOME: /opt/apache-tomcat8
Using CATALINA_TMPDIR: /opt/apache-tomcat8/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat8/bin/bootstrap.jar:/opt/apache-tomcat8/bin/tomcat-juli.jar
May 24, 2016 3:32:35 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
May 24, 2016 3:32:36 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:

Administrador de aplicaciones web Tomcat

En un entorno de producción, es muy útil tener la capacidad de implementar una nueva aplicación web o anular la implementación de una existente, sin tener que apagar / reiniciar todo el servidor. Además, puede incluso volver a cargar una aplicación existente, incluso sin declararla recargable en el archivo de configuración del servidor Tomcat.

Esta consola web de administración admite las siguientes funciones:

  • Implemente una nueva aplicación web desde el archivo WAR cargado o en una ruta de contexto especificada desde el servidor f / s.
  • Enumere las aplicaciones web actualmente implementadas y las sesiones que están actualmente activas
  • Vuelva a cargar una aplicación web existente para reflejar los cambios en el contenido de las clases / WEB-INF / o / WEB-INF / lib.
  • Obtenga la información del servidor sobre el sistema operativo y la JVM
  • Iniciar y detener una aplicación web existente, deteniendo la aplicación existente, por lo que no está disponible. Pero no lo anule el despliegue.
  • Anule la implementación de una aplicación web implementada y elimine su directorio base de documentos

Podemos crear los usuarios para administrar la consola web de administración de Tomcat. Puede editar el archivo de configuración de usuario de Tomcat, a saber conf / tomcat-users.xml para crear los usuarios administradores para administrar el Panel.

Agregué estas líneas al archivo de configuración de usuario de Tomcat para crear dos usuarios, a saber, administrador y administrador con las contraseñas que se enumeran.

<user username="manager" password="tomcat123" roles="manager-gui" />

<user username="admin" password="tomcat123" roles="manager-gui,admin-gui"/>

Podemos acceder al Tomcat Web Application Manager usando la URL >>http: // IP DE SERVIDOR: 8080 / manager / con los usuarios creados.

TManager

Habilitación de la compatibilidad con SSL / TLS en Tomcat

Tomcat utiliza un archivo «almacén de claves» protegido por contraseña para guardar las transacciones SSL. Necesitamos crear un archivo de almacén de claves para almacenar la clave privada del servidor y el certificado autofirmado ejecutando el siguiente comando:

root@ubuntu:/usr/local# keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/keystore
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: Saheetha Shameer
What is the name of your organizational unit?
[Unknown]: VIP
What is the name of your organization?
[Unknown]: VIP
What is the name of your City or Locality?
[Unknown]: Kochi
What is the name of your State or Province?
[Unknown]: Kerala
What is the two-letter country code for this unit?
[Unknown]: IN
Is CN=Saheetha Shameer, OU=VIP, O=VIP, L=Kochi, ST=Kerala, C=IN correct?
[no]: yes

Enter key password for <tomcat>
(RETURN if same as keystore password):

Options:

-genkeypair : Generate key pair

-keyalg : Key algorithm

-keystore : Keystore file path

Después de ingresar los detalles para generar la certificación, puede editar la configuración del servidor Tomcat para habilitar la dirección de soporte SSL / TLS al archivo del almacén de claves.

Necesitamos agregar esta sección al archivo de configuración del servidor Tomcat, a saber, conf / server.xml

<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/keystore"
 keystorePass="tomcat123"/>

Reinicie la aplicación Tomcat una vez que confirme el contenido del almacén de claves.

tomcat@ubuntu:~$ keytool -list -keystore /usr/local/keystore
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

tomcat, May 23, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): A3:99:A8:DD:F1:11:4F:69:37:95:11:66:41:59:A5:05:68:23:3E:B2

Ahora puede acceder a la aplicación Tomcat en el puerto 8443 en la URL https: // SERVER IP: 8443 para confirmar su funcionamiento.

tomcatssl

Creación de varias instancias de Tomcat

Para crear varias instancias de Tomcat, puede descargar y extraer la aplicación Tomcat en una carpeta diferente. Extraje el contenido a una carpeta diferente a saber / opt / apache-tomcat8-2. Después de extraer los archivos, debemos realizar los cambios adecuados en el archivo de configuración del servidor Tomcat para modificar los puertos del conector y otros puertos importantes de la aplicación para evitar conflictos con la aplicación existente.

Estos son los siguientes cambios aplicados al archivo de configuración del servidor Tomcat, a saber, conf / server.xml.

1. Se modificó el puerto de apagado de 8005 a 8006.

 <Server port="8005" shutdown="SHUTDOWN">

to

<Server port="8006" shutdown="SHUTDOWN">

2. Se modificó el puerto del conector de 8080 a 8081

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--

to

<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--

3. Modificado el puerto AJP de 8009 a 8010

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

Después de aplicar estos cambios, reinicie nuestra nueva aplicación Tomcat en / opt / apache-tomcat8-2

root@ubuntu:/opt# chown -R tomcat.tomcat /opt/apache-tomcat8-2

root@ubuntu:/opt#cd apache-tomcat8-2

Hacer que el script sea ejecutable para el usuario.

root@ubuntu:/opt/apache-tomcat8-2# chmod 700 bin/*.sh

Cambie a usuario de Tomcat e inicie la aplicación.

tomcat@ubuntu:/opt/apache-tomcat8-2/bin$ sh startup.sh
Using CATALINA_BASE: /opt/apache-tomcat8-2
Using CATALINA_HOME: /opt/apache-tomcat8-2
Using CATALINA_TMPDIR: /opt/apache-tomcat8-2/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat8-2/bin/bootstrap.jar:/opt/apache-tomcat8-2/bin/tomcat-juli.jar
Tomcat started.

Verifique la segunda instancia de Tomcat en el puerto 8081 en la URL http: // SERVERIP: 8081

tomcat2instance

¡Eso es! ha terminado con las cosas básicas en las instalaciones de Tomcat. Espero que hayas disfrutado leyendo este artículo. Recomendaría sus valiosas sugerencias y comentarios al respecto. Gracias por leer esto 🙂

¡Que tenga un buen día!

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar