Approved Reseller
Approved Reseller
Un servidor web es un equipo de computo que permite desplegar aplicaciones web de forma simple y sin necesidad de servicios en la nube, como podría ser Amazon Web Services. Una forma muy popular de implementar un servidor web es usando Tomcat de Apache. Tomcat es gratuito y es open-source, por lo que es perfecto para ensayar conceptos claves de servidores web. En este tutorial te ensenaremos como instalarlo en tu Raspberry Pi 4B de 1GB.
Para esta instalación necesitas tener instalado Raspberry Pi OS Lite (de preferencia la versión Buster) y para mayor comodidad vamos a habilitar la interfaz SSH y accederemos a nuestra Raspberry Pi desde nuestro equipo de escritorio. Si no sabes como acceder por SSH a tu Raspberry, te recomendamos que leas esta entrada: ¿Cómo acceder a tu Raspberry Pi Zero W por SSH? Esta preparada para una Zero, pero los conceptos se pueden generalizar a la 4B.
Cuando tengamos todo instalado, entramos por SSH y actualizamos nuestros paquetes con sudo apt update y sudo apt upgrade.
Como mencionamos al principio, Tomcat es un servidor web HTTP que ofrece un entorno en el que podemos correr programas escritos en Java. Es de código abierto y es gratuito, por lo que es fácil de emplear y se utiliza para fines escolares y comerciales.
Así que para instalarlo, necesitamos seguir los siguientes pasos:
Cuando tengamos actualizado nuestro sistema, podremos instalar la versión mas reciente del Java Development Kit (JDK). Para usar Tomcat se necesita mínimo la versión 8 de Java, que en el caso de descargar este paquete, se instalara la versión 17.
sudo apt install -y default-jdk
Para verificar que la instalación se haya realizado correctamente, podemos revisar la versión de Java que se instalo
java --version
Al usar el servidor web existen muchos comandos que requieren privilegios de super-usuario para ejecutarse. Para no cometer un error de seguridad, vamos a crear un usuario especifico que ejecute dichas instrucciones y se aloje en la ruta /opt/tomcat. Para hacer esto, ejecuta el siguiente comando useradd como super-usuario.
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Procedemos a descargar los archivos binarios desde el repositorio de Apache
wget \ https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/\ apache-tomcat-10.0.4.tar.gz
Y descomprimimos los archivos usando la herramienta tar
sudo tar xpvf apache-tomcat-10.0.4.tar.gz -C /opt/tomcat --strip-components=1
Cuando se hayan terminado de descomprimir los archivos, asigna la propiedad de la carpeta al usuario tomcat que acabamos de crear y darle permisos de ejecución a los archivos pertinentes. Para hacer esto, ejecuta el comando chown y chmod como se indica:
sudo chown tomcat:tomcat /opt/tomcat/ -R
sudo chmod u+x /opt/tomcat/bin -R
Para configurar los usuarios que pueden ejecutar Tomcat necesitamos editar el archivo /opt/tomcat/conf/tomcat-users.xml y añadir las siguientes líneas justo antes de la sección . Puedes usar el editor nano o vi siempre que hagas los cambios necesarios.
nano /opt/tomcat/conf/tomcat-users.xml ####Lineas que agregar al archivo####
Guarda el archivo y sal del editor. NOTA: Recuerda cambiar el password para tu instalación particular en donde dice
Por defecto, las interfaces graficas para el Administrador como el Gerente se pueden acceder mediante localhost. En caso de que necesites acceder a las aplicaciones de Tomcat por fuera de tu Raspberry, vas a tener que editar el archivo context.xml para el manager y host-manager, y comentar la sección del acceso remoto. Por ejemplo, puedes hacerlo de este modo:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml …… …
Guarda el archivo y cierra el editor. Lo mismo para el host-manager:
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Por defecto, tomcat incluye algunos scripts para empezar a experimentar con el entorno, iniciar y detener los servicios de tomcat. Es recomendable tener un archivo que le indique a systemd que inicie los servicios de tomcat automáticamente después de reiniciar el sistema. Así que, para configurar el archivo de systemd, debemos crearlo con los siguientes comandos:
sudo nano /etc/systemd/system/tomcat.service [Unit] Description="Tomcat Service" 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" 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
Guardamos el archivo y cerramos el editor. Ahora necesitamos reiniciar el demonio de systemd y después, iniciamos el servicio de tomcat:
sudo systemctl daemon-reload sudo systemctl start tomcat.service
Podemos verificar el estado del servicio usando este comando:
sudo systemctl status tomcat.service
Por ultimo no debemos olvidar darle enable al servicio de tomcat para que después de reiniciar el sistema se inicie automáticamente:
sudo systemctl enable tomcat
En caso que el firewall este habilitado y ejecutandose en tu sistema, vamos a necesitar darle permiso al puerto 8080
sudo ufw allow 8080/tcp
Para comprobar que todo funciona correctamente, vamos a acceder a la pagina de bienvenida de Tomcat con la siguiente direccion
http://
Terminado este procedimiento podemos empezar a desplegar nuestras aplicaciones de Java. Este es solo el comienzo para que puedas empezar a ejecutar servicios web, pero con tu Raspberry Pi funcionando, será mucho mas cercano a un entorno real y consumirás menos energía si deseas dejarlo funcionando.
Referencias:
How to Install Apache Tomcat 10 on Debian 10 (Buster)
How to create an Apache/Tomcat Web Server on your Raspberry Pi!