Cómo instalar y configurar Apache Tomcat 9 en Ubuntu 20.04 LTS
Apache Tomcat es una implementación de Java Servlet de código abierto desarrollada por la Apache Software Foundation. Además de ser un contenedor de Java Servlet, Tomcat soporta también otras tecnologías de servidor Java, como JavaServer Pages (JSP), Java Expression Language y Java WebSocket.
Apache Tomcat proporciona un servidor web HTTP para aplicaciones Java que soporta HTTP/2, OpenSSL para JSSE y alojamiento virtual TLS.
En este tutorial, te mostraremos cómo instalar y configurar Apache Tomcat 9.0.34 con el Java OpenJDK 11 en la última versión de ubuntu 20.04 Server.
Requisitos previos
Para este tutorial, instalaremos el Apache Tomcat en el Servidor Ubuntu 20.04 con 1 GB de RAM, 25 GB de espacio libre en disco y 2 CPUs.
¿Qué vamos a hacer?
- Instalar Java OpenJDK
- Configurar la variable de entorno JAVA_HOME
- Descarga e instala Apache Tomcat 9.0.34
- Configura Apache Tomcat como servicio Systemd
- Configurar la autenticación de Apache Tomcat
- Prueba de
Paso 1 – Instalar Java OpenJDK
En primer lugar, instalaremos los paquetes Java OpenJDK en nuestro servidor Ubuntu 20.04.
Por defecto, el último repositorio de Ubuntu 20.04 proporciona varias versiones de Java, incluyendo el OpenJDK 11.
Actualiza todos los repositorios de tu sistema e instala Java OpenJDK 11 utilizando el comando apt como se indica a continuación.
sudo apt update
sudo apt install default-jdk
Una vez completada la instalación, comprueba tu versión de Java como se indica a continuación.
java -version
A continuación se muestra la respuesta que obtendrás.
openjdk version "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)
Como se puede ver, el Java OpenJDK 11 está ahora instalado en el servidor Ubuntu 20.04.
Paso 2 – Configurar la variable de entorno JAVA_HOME
Después de instalar el OpenJDK 11 de Java, vamos a configurar la variable de entorno JAVA_HOME en nuestro sistema.
Comprueba todas las versiones de Java disponibles en tu sistema con el siguiente comando.
sudo update-alternatives --config java
Si sólo tienes el OpenJDK de Java en tu sistema, obtendrás la siguiente respuesta.
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-11-openjdk-amd64/bin/java
Nothing to configure.
Si utilizas varias versiones de Java, elige la versión de Java por defecto en tu entorno.
Como puedes ver, el directorio de instalación de Java OpenJDK 11 en el ‘/usr/lib/jvm/java-11-openjdk-amd64’.
A continuación, edita la configuración ‘/etc/environment’ con el editor vim.
vim /etc/environment
Pega en él la siguiente configuración.
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
Guarda y cierra.
A continuación, edita tu archivo de configuración ‘~/.bashrc’.
vim ~/.bashrc
Añade la siguiente variable de entorno.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
Guarda y cierra.
Ahora vuelve a cargar tu configuración ‘~/.bashrc’ y comprueba la variable de entorno ‘JAVA_HOME’.
source ~/.bashrc
echo $JAVA_HOME
A continuación se muestra el resultado que obtendrás.
Como resultado, se ha creado la variable de entorno ‘JAVA_HOME’, situada en el directorio de instalación de Java OpenJDK 11 ‘/usr/lib/jvm/java-11-openjdk-amd64’.
Paso 3 – Instalar y configurar Apache Tomcat
En este paso, descargaremos e instalaremos el Apache Tomcat 9.0.34. El Apache Tomcat se ejecutará bajo el usuario ‘tomcat’ en el directorio ‘/opt/tomcat’.
Crea un nuevo usuario y grupo llamado ‘tomcat’ utilizando el siguiente comando.
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
A continuación, ve al directorio ‘/opt/’ y descarga el Apache Tomcat utilizando el comando wget que aparece a continuación.
cd /opt/
wget -q https://downloads.apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
Una vez descargado, extrae el archivo binario de Apache Tomcat y cambia el nombre del directorio a ‘tomcat’.
tar -xf apache-tomcat-9.0.34.tar.gz
mv apache-tomcat-9.*/ tomcat/
A continuación, cambia la propiedad del directorio ‘/opt/tomcat’ al usuario ‘tomcat’.
chown -R tomcat:tomcat /opt/tomcat
chmod +x /opt/tomcat/bin/*
El Apache Tomcat se descarga en el directorio ‘/opt/tomcat’.
A continuación, configuraremos la variable de entorno ‘CATALINA_HOME’ de Apache Tomcat, que se encuentra en el directorio ‘/opt/tomcat’.
Edita la configuración ‘~/.bashrc’ con el editor vim.
vim ~/.bashrc
Pega en ella la siguiente configuración.
export CATALINA_HOME=/opt/tomcat
Guarda y cierra.
Ahora vuelve a cargar el archivo de configuración ‘~/.bashrc’ y comprueba la variable de entorno ‘CATALINA_HOME’.
source ~/.bashrc
echo $CATALINA_HOME
Obtendrás ‘/opt/tomcat’ como valor de la variable de entorno ‘CATALINA_HOME’.
Ahora puedes iniciar el Apache Tomcat manualmente utilizando el siguiente comando.
$CATALINA_HOME/bin/startup.sh
Obtendrás el mensaje Apache Tomcat is started.
El Apache Tomcat está en marcha en el sistema Ubuntu, y se está ejecutando en el puerto por defecto ‘8080’. Compruébalo con el siguiente comando.
ss -plnt
Y obtendrás el puerto ‘8080’ que utiliza la aplicación Java.
Ahora detén el Apache Tomcat y cambia la propiedad del directorio ‘/opt/tomcat’ al usuario ‘tomcat’ como se indica a continuación.
$CATALINA_HOME/bin/shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/
Como resultado, la instalación y la configuración de Apache Tomcat se han completado.
Paso 4 – Configurar Apache Tomcat como servicio Systemd
Para este tutorial, ejecutaremos el Apache Tomcat como un servicio systemd. Y para este paso, crearemos un nuevo archivo de servicio systemd llamado ‘tomcat.service’ para nuestra instalación de Apache Tomcat.
Ve al directorio ‘/etc/systemd/system’ y crea un nuevo archivo de servicio ‘tomcat.service’.
cd /etc/systemd/system/
vim tomcat.service
Ahora pega en él la siguiente configuración.
[Unit]
Description=Apache Tomcat 9 Servlet Container
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
Guarda y cierra.
A continuación, vuelve a cargar el gestor systemd.
systemctl daemon-reload
Ahora inicia el servicio Apache Tomcat y añádelo al arranque del sistema.
systemctl start tomcat
systemctl enable tomcat
El servicio Apache Tomcat está en marcha como servicio systemd, compruébalo con el siguiente comando.
ss -plnt
systemctl status tomcat
A continuación se muestra el resultado que obtendrás.
Como resultado, la configuración de Apache Tomcat como servicio systemd se ha completado.
Paso 5 – Habilitar la autenticación de Apache Tomcat
En este paso, habilitaremos la autenticación de Apache Tomcat tanto para el gestor como para el host-manager.
Primero, ve al directorio ‘/opt/tomcat/conf’ y edita la configuración ‘tomcat-users.xml’.
cd /opt/tomcat/conf
vim tomcat-users.xml
Cambia el nombre de usuario y la contraseña por los tuyos y pega la siguiente configuración en él.
<role rolename="manager-gui"/>
<user username="hakase" password="hakasepassword01" roles="manager-gui,admin-gui"/>
Guarda y cierra.
A continuación, ve al directorio ‘/opt/tomcat/webapps/manager/META-INF/’ y edita la configuración del mnager de Apche Tomcat ‘context.xml’.
cd /opt/tomcat/webapps/manager/META-INF/
vim context.xml
Comenta la siguiente línea.
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Guarda y cierra.
A continuación, ve al directorio ‘/opt/tomcat/webapps/host-manager/META-INF/’ y edita la configuración del gestor de host de Apache Tomcat ‘context.xml’.
cd /opt/tomcat/webapps/host-manager/META-INF/
vim context.xml
Comenta la siguiente línea.
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Guarda y cierra.
Ahora reinicia el servicio de Apache Tomcat con el siguiente comando.
systemctl restart tomcat
Como resultado, la autenticación de Apache Tomcat para el gestor y el host-manager ha sido habilitada.
Paso 6 – Prueba
Abre tu navegador web y escribe la dirección IP del servidor con el puerto 8080. Y verás la página de índice por defecto de Apache Tomcat que informa de que la instalación se ha realizado correctamente.
http://10.5.5.34:8080/
A continuación, añade la ruta ‘/manager/html’ en la URL y se te pedirá la autenticación del gestor Tomcat.
http://10.5.5.34:8080/manager/html
Escribe tu nombre de usuario y contraseña, y obtendrás el panel de control del gestor de Apache Tomcat.
A continuación, ve al gestor de host virtual de Apache Tomcat ‘/host-manager/html’.
http://10.5.5.34:8080/host-manager/html
Y obtendrás el gestor de hosts virtuales de Apache Tomcat como se indica a continuación.
Como resultado, la instalación de Apache Tomcat en Ubuntu 20.04 se ha completado con éxito.