Apache Tomcat (o simplemente Tomcat para abreviar) es el servidor de aplicaciones Java más popular y ampliamente utilizado. Es un servidor web de código abierto y un contenedor de servlets desarrollado por Apache Software Foundation (ASF). En este tutorial, lo guiaremos a través de los pasos para instalar Tomcat 9 en un VPS con Ubuntu 20.04.
Tomcat también es una implementación de software de código abierto de un subconjunto de las tecnologías Jakarta EE (anteriormente Java EE). Tomcat ejecuta servlets de Java y presenta páginas web que incluyen la codificación de la página del servidor de Java. Al usar Tomcat, puede ejecutar sus aplicaciones Java en un servidor que está diseñado para ayudarlo a desarrollar sus aplicaciones Java de manera más rápida y eficiente. Empecemos a instalar Tomcat en nuestro Ubuntu 20.04 VPS.
Requisitos
Asegúrese de que su servidor cumpla con los siguientes requisitos mínimos:
- Para los fines de este tutorial, utilizaremos un servidor que ejecute Ubuntu VPS 20.04 LTS.
- También se requiere acceso completo a la raíz SSH o un usuario con privilegios sudo.
- Java 8 o superior.
1. Primeros pasos
Inicie sesión en su Ubuntu 20.04 VPS usando SSH:
ssh root@IP_Address -p Port_number
Asegúrese de reemplazar "IP_Address" y "Port_number" con la dirección IP y el número de puerto SSH reales de su servidor.
Una vez que haya iniciado sesión, puede verificar si tiene instalada la versión adecuada de Ubuntu en su servidor con el siguiente comando:
# lsb_release -a
Debería obtener esto como resultado:
Distributor ID: Ubuntu Description: Ubuntu 20.04 LTS Release: 20.04 Codename: focal
Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en el servidor estén actualizados a la última versión disponible.
# apt update && apt upgrade -y
2. Instalar Java
Tomcat 9 requiere la versión 8 de Java o superior.
Podemos verificar si Java ya está instalado usando este comando:
# which java
Si no hay salida, significa que Java aún no está instalado en el servidor. Podemos instalar Oracle JDK u OpenJDK. Necesitamos tener Java versión 8 o superior instalada en su sistema para ejecutar Tomcat 9. Podemos instalar el JDK predeterminado, versión 11, que está disponible en los repositorios integrados de Ubuntu 20.04 usando el siguiente comando:
# apt install default-jdk -y
Una vez instalado, podemos comprobar la versión mediante este comando:
# java --version
root@ubuntu20:~# java --version openjdk 11.0.7 2020-04-14 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
3. Instalar Tomcat 9
Al escribir este tutorial, el último Tomcat estable para descargar es la versión 9.0.35. Puede navegar a https://tomcat.apache.org/download-90.cgi para obtener una versión más reciente, si corresponde. Para continuar con la instalación, primero descarguemos el archivo de distribución binaria.
# wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.35/bin/apache-tomcat-9.0.35.tar.gz -O tomcat.9.0.35.tar.gz
En este artículo, instalaremos Tomcat en /opt/tomcat
directorio. Vamos a crear el directorio y descomprimir el archivo descargado allí.
# mkdir /opt/tomcat
# tar xzvf tomcat.9.0.35.tar.gz -C /opt/tomcat --strip-components=1
4. Agregar un usuario de Tomcat
No es una buena idea ejecutar Tomcat como root, por lo que, por razones de seguridad, crearemos un nuevo usuario del sistema:
# useradd -r tomcat -d /opt/tomcat --shell /bin/false
Una vez que se ha creado el usuario del sistema Tomcat, debemos actualizar la propiedad del /opt/tomcat
directorio al usuario de Tomcat:
# chown tomcat: -R /opt/tomcat/
5. Crear un archivo de servicio de Systemd para Tomcat
Verifique la ruta de inicio de Tomcat ejecutando este comando:
# update-java-alternatives -l
Salida
root@ubuntu20:~# update-java-alternatives -l java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Necesitamos el valor de la tercera columna de nuestro archivo systemd de Tomcat para configurar JAVA_HOME
variable de entorno.
# nano /etc/systemd/system/tomcat.service
Pegue lo siguiente en el archivo de servicio systemd, luego guárdelo.
[Unit] Description=Apache Tomcat After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh ExecReload=/bin/kill $MAINPID RemainAfterExit=yes [Install] WantedBy=multi-user.target
Guarde los cambios y luego inicie Tomcat.
# systemctl daemon-reload
# systemctl start tomcat
Tomcat debe iniciarse ahora, puede verificarlo con este comando:
root@ubuntu20:~# systemctl status tomcat ● tomcat.service - Apache Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-01 03:43:31 CEST; 1h 14min ago Process: 12975 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 12997 (java) Tasks: 30 (limit: 2286) Memory: 253.4M CGroup: /system.slice/tomcat.service └─12997 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.util.logging.manager=org.ap> Jun 01 03:43:31 ubuntu20 systemd[1]: Starting Apache Tomcat... Jun 01 03:43:31 ubuntu20 startup.sh[12975]: Tomcat started. Jun 01 03:43:31 ubuntu20 systemd[1]: Started Apache Tomcat.
Ahora, debería poder acceder a Tomcat en http://your-server-IP:8080
.
Para que Tomcat se ejecute automáticamente al arrancar, debemos habilitar el archivo de servicio systemd. Puedes hacerlo así:
# systemctl enable tomcat
6. Configurar Tomcat
Para poder acceder al Administrador de Tomcat, debemos crear un usuario para Tomcat. Procedamos a editar el tomcat-users.xml
archivo
# nano /opt/tomcat/conf/tomcat-users.xml
luego agregue las siguientes líneas justo antes de la línea de cierre </tomcat-users>:
<role rolename="manager-gui" /> <role rolename="admin-gui" />changes <user username="admin" password="M0d1fyth15" roles="manager-gui,admin-gui"/>
No olvide reemplazar M0d1fyth15 con una contraseña segura real.
Tendríamos que hacer otra configuración porque por defecto Tomcat restringe el acceso al Manager y al Host Manager, solo permite la conexión desde la propia dirección IP del servidor. Para cambiar las restricciones de dirección IP en estos, abra los archivos context.xml apropiados.
Para eliminar la restricción en la aplicación Manager, debemos modificar este /opt/tomcat/webapps/manager/META-INF/context.xml
expediente. Y, para eliminar la restricción en Host Manager, debemos modificar /opt/tomcat/webapps/host-manager/META-INF/context.xml
archivo.
Encuentra estas dos líneas en esos archivos:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
Luego coméntalos. Las líneas deben tener el siguiente aspecto:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
Eso es todo, debería poder acceder a Tomcat Manager y Host Manager utilizando las credenciales de usuario que creó anteriormente.
Eso es todo lo que necesita hacer:ahora tiene una instalación funcional de Tomcat en su Ubuntu 20.04 VPS.
El desarrollo de aplicaciones que se benefician de un entorno de servidor puede ser complejo para los desarrolladores que no son administradores de sistemas. Ahí es donde entran en juego nuestros servicios de alojamiento Managed Tomcat. Nuestros administradores pueden configurarlo completamente y ponerlo en marcha con sus proyectos de forma rápida y sencilla. También mantienen y hacen que todo funcione como debería, y si tiene alguna solicitud, también pueden ayudarlo con eso.
Si esta guía fue útil para usted y lo ayudó a ejecutar Tomcat en su sistema, considere compartir esta publicación en las redes sociales con nuestros accesos directos para compartir, o háganos saber cómo fue su experiencia de instalación dejando un comentario en nuestra sección de comentarios. Gracias.