Despliegue de aplicaciones Java
Introducción
En este post vamos a realizar el despliegue de una aplicación Java en nuestro VPS. Para ello, vamos a utilizar el servidor web Apache Tomcat.
Instalación de Tomcat
Para instalar Tomcat, vamos a utilizar el gestor de paquetes de Debian, apt-get. Para ello, vamos a ejecutar el siguiente comando:
apt-get install tomcat9
Tarea 1: Desarrollo y despliegue de una aplicación Java
De forma similar a lo que hemos hecho el despliegue simple, despliegue de forma manual la aplicación Java que encontrarás en siguiente repositorio.
-
Instalamos git
apt install git -
Clonamos el repositorio
git clone https://github.com/josedom24/rock-paper-scissors.git -
Nos dirigimos al directorio que se ha creado al clonar el repositorio y ejecutamos:
mvn package
NOTA: Lo puedes realizar en el mismo escenario en el que hemos realizado este taller
-
Nos transferimos el fichero generado en
/targeta nuestra máquina local.scp -r roshambo.war maria@172.20.10.8:/home/maria/Documentos -
Abrimos en nuestro navegador el manager de tomcat, que en mi caso se encuentra en
http://192.168.122.93:8080/manager/html/, nos dirigimos a la pestañaWAR file to deployy seleccionamos el fichero que hemos transferido.
- Una vez desplegada, podemos ver que la aplicación java funciona correctamente.
Tarea 2: Despliegue de un CMS Java
-
Nos descargamos el fichero.war
-
Instalamos MySQL y los configuramos de la siguiente manera:
apt install mariadb-server
Creamos el usuario:
mysql -u root -p
----
CREATE USER 'java'@'localhost' IDENTIFIED BY 'admin';
GRANT ALL PRIVILEGES ON * . * TO 'java'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
- Movemos el fichero.war a la carpeta
/var/lib/tomcat9/webapps/. Como podemos ver en la siguiente imagen, en la tabla de aplicaciones, nos aparece nuestra aplicaciónCMS.
- Una vez comrobado esto, en nuestro navegador accedemos a
http://<ip-máquina>:8080/opencms/setup/
- Y procedemos con la instalación:
- Tras toda la instalación, nos aparecerá la siguiente pantalla:
Modificación de OpenCms
En mi caso le he cambiado el fondo de la página principal, eltítulo y el subtítulo. Para realizarlo, debemos conectarnos como usuario Admin y contraseña admin.
Una vez dentro, en las esquinas superiores derecha de cada contenido, nos aparecerá ⭕️ y al pulsar sobre él, nos aparecerá un menú desplegable con la opción Edit. Al pulsar sobre ella, nos aparecerá una ventana en la que podremos modificar el contenido.
Tras ello, en la esquina superior izquierda, nos aparecerá un 🔄 (Publish) y al pulsar sobre él, se publicará el contenido.
En mi caso, ha quedado de la siguiente manera:
Tarea 3: Acceso a las aplicaciones
Cuando trabajamos con tomcat no se accedemos directamente al servidor de aplicaciones, se instala un proxy inverso que nos permita el acceso a las aplicaciones. Instala un proxy inverso para acceder a las aplicaciones con las siguientes urls:
-
A la aplicación rock-paper-scissors se accede con la url
java.mariajesus.org/game. -
A la aplicación OpenCMS se accede con la url
java.mariajesus.org. -
Lo primero que realizaremos será la instalación de Nginx en nuestra máquina.
sudo apt install nginx
- Creamos el VirtualHost:
sudo nano /etc/nginx/sites-available/java.conf
- Vamos a configurarlo de forma que al acceder a
java.mariajesus.orgnos redirija a la aplicación OpenCMS y al acceder ajava.mariajesus.org/gamenos redirija a la aplicación rock-paper-scissors.
server {
listen 80;
listen [::]:80;
index index.html index.htm index.nginx-debian.html;
server_name java.mariajesus.org;
location / {
proxy_pass http://localhost:8080/opencms/;
include proxy_params;
}
location /game {
proxy_pass http://localhost:8080/roshambo/;
include proxy_params;
}
}
- Realizamos el enlace simbólico:
sudo ln -s /etc/nginx/sites-available/java.conf /etc/nginx/sites-enabled/java.conf
- Reiniciamos el servicio:
sudo systemctl restart nginx
- Modificamos el fichero
/etc/hostspara que nos redirija a nuestra máquina:
sudo nano /etc/hosts
192.168.122.93 java.mariajesus.org
-
Comprobamos que funciona correctamente:
OpenCMS
Rock-Paper-Scissors