Si necesita Java Servlets, es probable que desee implementar Tomcat. Jack Wallen le guía a través de este proceso en la plataforma Ubuntu Server 16.04.
Apache Tomcat es la implementación de código abierto de las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket. Con Tomcat, puede impulsar aplicaciones web de misión crítica a gran escala. Si necesita desplegar servlets Java, necesitará Tomcat. Con Tomcat en funcionamiento, puede crear su Archivo Web (WAR) y depositarlo en el directorio de despliegue. Tan simple como eso.
Pero, ¿es Tomcat fácil de instalar? Vamos a averiguarlo.
Como es de esperar, voy a hacer una demostración en la plataforma Ubuntu Server 16.04. Este proceso se maneja completamente desde la línea de comandos, así que prepárese para escribir.
Más información sobre Movilidad
Instalación de Java
Lo primero que hay que hacer es instalar el Java Development Kit. Para ello, abra la ventana de su terminal y ejecute los siguientes comandos:
sudo apt-get updatesudo apt-get install default-jdk
El segundo comando recogerá bastantes dependencias, que debe aprobar para que la instalación se complete. Una vez que finalice la instalación de default jdk, puede pasar al siguiente paso.
Creación del grupo Tomcat y del usuario
Ahora debemos crear un grupo y un usuario para Tomcat. Lo primero que hay que hacer es crear el grupo con el comando:
sudo groupadd tomcat
A continuación añadimos el usuario y lo añadimos al grupo tomcat que acabamos de crear. Esto se logra con el comando:
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
El comando anterior asegurará que nadie pueda iniciar sesión con el usuario tomcat y establece la casa por defecto en /opt/tomcat (donde se instalará Tomcat.
Instalación de Tomcat
Y ahora debemos instalar Tomcat en nuestro servidor. Aunque puedes instalar Tomcat desde un repositorio, vamos a descargar el archivo e instalarlo manualmente. Para ello, primero debe descargar el archivo necesario con el comando:
curl -O http://apache.mirrors.ionfish.org/tomcat/tomcat-8/v8.5.12/bin/apache-tomcat-8.5.12.tar.gz
Nota: En el comando anterior, eso es una O no un cero.
Ahora crearemos el directorio de destino y descomprimiremos tomcat con los dos comandos siguientes:
sudo mkdir /opt/tomcatsudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
Ahora necesitamos cambiar los permisos para nuestro directorio recién creado. Esto se puede hacer con los siguientes comandos:
cd /opt/tomcatsudo chgrp -R tomcat /opt/tomcatsudo chmod -R g+r confsudo chmod g+x conf
A continuación, cambie la propiedad de algunos subdirectorios, con el comando:
sudo chown -R tomcat webapps/trabajo/ temp/ logs/
Cree el archivo de servicio systemd necesario
Necesitamos asegurarnos de que systemd es consciente de tomcat, para que se pueda ejecutar como un servicio. Para ello, primero debe averiguar dónde está instalado java. Para encontrar esta ubicación, ejecute el comando:
sudo update-java-alternatives -l
Se le presentará la ruta completa a la instalación de java. En mi caso, ese camino es:
/usr/lib/jvm/java-1.8.0-openjdk-amd64
La variable JAVA_HOME, sin embargo, debe terminar en jre, por lo que la ruta será:
/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Con esa información en la mano, puede crear el servicio systemd necesario. Para ello, emita el comando sudo nano /etc/systemd/system/tomcat.service. En este nuevo archivo, añada el siguiente contenido (puede ajustar la configuración de memoria asociada al entorno CATALINA según sea necesario):
Descripción=Apache Tomcat Web Application ContainerAfter=network.target[Service]Type=forkingEnvironment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jreEnvironment=CATALINA_PID=/opt/tomcat/temp/tomcat.pidEnvironment=CATALINA_HOME=/opt/tomcatEnvironment=CATALINA_BASE=/opt/tomcatEnvironment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'ExecStart=/opt/tomcat/bin/startup.shExecStop=/opt/tomcat/bin/shutdown.shUser=tomcatGroup=tomcatUMask=0007RestartSec=10Restart=siempre[Install]WantedBy=multi-user.target
Guarde y cierre ese archivo. Ahora recargue el demonio systemd e inicie el servicio Tomcat con los siguientes comandos:
sudo systemctl daemon-reloadsudo systemctl start tomcat
Pruebe para asegurarse de que Tomcat está ejecutándose con el comando:
sudo systemctl status tomcat
Debería ver la lista de activos (en ejecución) en la salida (.
La interfaz web
En este punto, puede dirigir un navegador web a http://IP_OF_SERVER:8080 para ver la interfaz web de Tomcat. Sin embargo, si intenta hacer clic en el botón Manager App, recibirá un mensaje de error HTTP Status 403 – Forbidden. Para solucionarlo, debe añadir un nombre de usuario a la interfaz web. Para resolver este problema, debe abrir el archivo /opt/tomcat/conf/tomcat-users.xml y ajustar la
<rol rolename="manager"/><rollo rolename="manager-gui"/><user username="USUARIO" password="CONTRASEÑA" roles="manager,manager-gui,admin-gui,manager-gui,manager-script,manager-jmx,manager-status,admin-script"/>>
Donde USUARIO es el nombre de usuario que desea agregar y CONTRASEÑA es la contraseña que se utilizará.
A continuación debemos permitir conexiones remotas al manager-gui. Si sólo vas a acceder al manager-gui desde la máquina en la que está instalado Tomcat, puedes saltarte esta sección. Emita el comando sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml para abrir el archivo y editar y comentar la sección Valve (encapsulándolo en .!—> El código resultante tendrá el siguiente aspecto:!—>
<Subtítulos por aRGENTeaMemory.org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+d+.|::1|0:0:0:0:0:0:0:1" />>-->
Ahora puede reiniciar tomcat con el comando:
sudo systemctl reiniciar tomcat
Apunte su navegador a http://IP_OF_SERVER:8080. Haga clic en el botón Manager App e inicie sesión con las credenciales que creó en tomcat-users.xml. En este punto usted estará conectado al manager gui y podrá empezar a trabajar con su servidor Tomcat y gestionar sus servlets.
Estás listo para irte.
Tomcat ya está listo para trabajar para usted. Asegúrate de pasar mucho tiempo con el manager gui para que puedas entender lo que se puede hacer con la herramienta. ¡Feliz servicio de esos servilletas java!
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles