Introducción
Apache Tomcat es un servidor de aplicaciones ligero, gratuito y de código abierto que se utiliza para aplicaciones web basadas en Java. Los desarrolladores lo utilizan para implementar las tecnologías Java Servlet y JavaServer Pages (incluido Java Expression Language y Java WebSocket).
Lea esta guía para aprender a instalar y configurar Apache Tomcat en Ubuntu 18.04.
Requisitos previos
- Una distribución basada en Ubuntu (como Ubuntu 18.04)
- Una cuenta de usuario con sudo privilegios
- Una ventana de terminal (Ctrl –
Alternativo –T ) - El administrador de paquetes apt, incluido por defecto
Pasos para instalar Tomcat 9 en Ubuntu
Comprobar si Java está instalado
Antes de poder descargar e instalar Tomcat , asegúrese de tener la instalación de Java necesaria para Ubuntu (OpenJDK ).
Abra la terminal (Ctrl +Alt +T ) y use el siguiente comando para verificar la versión de Java:
java -version
El resultado mostrará la versión de Java que se ejecuta en su sistema. Actualmente, la última versión es OpenJDK 11.0.3 :
Instalar OpenJDK
Si no tiene OpenJDK o tiene una versión anterior a Java 8, instale la versión más reciente escribiendo lo siguiente:
sudo apt install default-jdk
Crear usuario y grupo de Tomcat
Por razones de seguridad, no ejecute Tomcat con el usuario raíz. Cree un nuevo grupo y usuario del sistema para ejecutar el servicio Apache Tomcat desde /opt/tomcat
directorio.
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Descargar Tomcat 9
1. Descargue la última versión binaria de Tomcat y vaya a la página oficial de descargas de Apache Tomcat.
2. En él, busque las Distribuciones binarias> Básico lista y el tar.gz enlace en él. Copie el enlace del archivo.
3. Vuelva a la terminal y cambie a /tmp
directorio con el comando:
cd /tmp
4. Ahora, usa el comando curl con tar.gz enlace que copió en el paso 2 para descargar el paquete:
curl -O https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
Extraer archivo tar.gz
1. Para extraer el archivo tar.gz Tomcat, cree un nuevo /opt/tomcat/
directorio con el comando:
sudo mkdir /opt/tomcat
2. Luego, extraiga el archivo en el nuevo directorio con el siguiente comando:
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
Modificar el permiso de usuario de Tomcat
El nuevo usuario de Tomcat que creó no tiene privilegios de ejecución, pero necesita acceder al directorio de instalación. Debe configurar privilegios de ejecución sobre el directorio.
1. Vaya al directorio donde se encuentra la instalación de Tomcat:
cd /opt/tomcat
2. Otorgue la propiedad de grupos y usuarios sobre el directorio de instalación a tomcat
grupo y usuario con el comando:
sudo chown -RH tomcat: /opt/tomcat
3. Por último, cambie los permisos del script para otorgar acceso de ejecución en /opt/tomcat/bin/with:
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Crear archivo de unidad del sistema
Dado que va a utilizar Tomcat como un servicio, debe crear un archivo de servicio systemd .
1. Para configurar el archivo, primero debe encontrar el JAVA_HOME
sendero. Esta es la ubicación exacta del paquete de instalación de Java.
Para hacerlo, solicite al sistema que le brinde información sobre los paquetes de Java instalados en el sistema. En la terminal, escribe:
sudo update-java-alternatives -l
Como muestra el resultado, hay dos versiones disponibles de Java. En consecuencia, también muestra dos rutas que muestran su ubicación.
Elija la versión que desea usar y copie su ubicación. Con eso, puede pasar a crear el archivo de servicio.
2. Cree y abra un nuevo archivo en /etc/system/system bajo el nombre tomcat.service :
sudo nano /etc/systemd/system/tomcat.service
3. Una vez que se abra el archivo, copie y pegue el contenido a continuación, cambiando el JAVA_HOME
valor a la información que encontró en el paso anterior.
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
4. Guardar y Salir el archivo (Ctrl+X , seguido de y [es] y Entrar ).
5. Para que se realicen los cambios, vuelva a cargar el daemon del sistema con el comando:
sudo systemctl daemon-reload
6. Ahora, finalmente puede iniciar el servicio Tomcat:
sudo systemctl start tomcat
7. Verifique que el servicio Apache Tomcat se esté ejecutando con el comando:
sudo systemctl status tomcat
El mensaje que desea recibir es que el servicio está activo (en ejecución) .
Ajustar cortafuegos
Si está utilizando un firewall para proteger su servidor (como debería), no podrá acceder a la interfaz de Tomcat. Tomcat usa el puerto 8080, que está fuera de su red local.
1. Abra el puerto 8080 para permitir el tráfico a través de él con el comando:
sudo ufw allow 8080/tcp
2. Si el puerto está abierto, debería poder ver la página de presentación de Apache Tomcat. Escriba lo siguiente en la ventana del navegador:
http://server_ip:8080
o
http://localhost:8080
Su navegador web debería abrir la página web como se muestra en la siguiente imagen:
Configurar la interfaz de administración web
Una vez que verificó que el servicio funciona correctamente, debe crear un usuario que pueda usar la interfaz de administración web.
Para hacer esto, abra y edite el archivo de usuarios.
1. Abra el archivo usuarios con el comando:
sudo nano /opt/tomcat/conf/tomcat-users.xml
El archivo debe aparecer como el de la imagen a continuación:
2. Elimine todo del archivo y agrega lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="Your_Password" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>
Asegúrate de reemplazar Your_Password
valor con una contraseña segura de su preferencia.
3. Guardar y Salir el archivo.
Configurar acceso remoto
Finalmente, debe configurar el acceso remoto. Esto es requerido. De forma predeterminada, solo se puede acceder a Tomcat desde la máquina local.
1. Primero, abra el administrador archivo:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
2. A continuación, decida si desea otorgar acceso desde a. en cualquier lugar o b. desde una dirección IP específica .
una. Para que sea de acceso público, agregue las siguientes líneas al archivo:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+.d+|::1|0000:1" />
-->
</Context>
b. Para permitir el acceso desde una dirección IP específica, agregue la IP al comando anterior, de la siguiente manera:
<Context antiResourceLocking="false" privileged="true">
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0000:1|THE.IP.ADDRESS." />
-->
</Context>
3. Repita el mismo proceso para el host-manager archivo.
Comience abriendo el archivo con el comando:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
4. Seguido de otorgar acceso desde a. en cualquier lugar o b. desde una dirección IP específica (como en el paso anterior).