You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.0 KiB
Markdown
113 lines
3.0 KiB
Markdown
---
|
|
title: "Despliegue de aplicaciones de java usando tomcat"
|
|
date: 2023-01-24T02:45:29+01:00
|
|
draft: false
|
|
---
|
|
|
|
## Tarea 1 Desarrollo y despliegue de una aplicación Java simple
|
|
|
|
De forma similar a lo que hemos hecho en el Taller 1, desplegamos de forma manual la aplicación Java que encontramos en el repositorio [https://github.com/josedom24/rock-paper-scissors](https://github.com/josedom24/rock-paper-scissors)
|
|
|
|
Una vez tenemos la carpeta, vamos a compilarla con el siguiente comando:
|
|
|
|
```bash
|
|
mvn package
|
|
```
|
|
|
|
Una vez compilada, vamos a desplegarla en el servidor Tomcat. Para ello, copiamos el fichero war que se ha generado en la carpeta target en la carpeta webapps del servidor Tomcat. Una vez copiado, reiniciamos el servidor Tomcat.
|
|
|
|
```bash
|
|
cp roshambo.war /var/lib/tomcat9/webapps/
|
|
systemctl restart tomcat9
|
|
```
|
|
|
|
![rock-paper-scissors](https://i.imgur.com/OpvZ5tu.png)
|
|
|
|
## Tarea 2 Despliegue de un CMS Java
|
|
|
|
### Instalación de OpenCMS
|
|
|
|
Para instalar OpenCMS, vamos a descargar el fichero war de la página de descargas de OpenCMS. Una vez descargado, lo copiamos en la carpeta webapps de Tomcat.
|
|
|
|
```bash
|
|
scp -r opencms.war debian@172.22.200.19:/home/debian/
|
|
```
|
|
|
|
```bash
|
|
cp opencms.war /var/lib/tomcat9/webapps/
|
|
systemctl restart tomcat9
|
|
```
|
|
|
|
Instalamos la base de datos MariaDB y creamos la base de datos opencms.
|
|
|
|
```bash
|
|
apt install mariadb-server
|
|
sudo mysql -u root -p
|
|
CREATE DATABASE opencms;
|
|
CREATE USER 'java'@'localhost' IDENTIFIED BY 'java';
|
|
grant all privileges on opencms. * to 'java'@'localhost' with grant option;
|
|
flush privileges;
|
|
```
|
|
|
|
Una vez instalado, accedemos a la aplicación con la url [http://172.22.200.19:8080/opencms/setup](http://172.22.200.19:8080/opencms/setup)
|
|
|
|
Seguimos los pasos de la instalación, indicando la base de datos que hemos creado y el usuario java/java.
|
|
|
|
![opencms](https://i.imgur.com/f96vUjU.png)
|
|
|
|
![opencms2](https://i.imgur.com/xlAvYTT.png)
|
|
|
|
![opencms3](https://i.imgur.com/e6qvEXP.png)
|
|
|
|
## Tarea 3 Acceso a las aplicaciones
|
|
|
|
Instalamos nginx para realizar un proxy inverso para acceder a las aplicaciones.
|
|
|
|
```bash
|
|
apt install nginx
|
|
```
|
|
|
|
Y creamos el siguiente virtualhost en `/etc/nginx/sites-available/opencms.conf`:
|
|
|
|
```bash
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
|
|
index index.html index.htm index.nginx-debian.html;
|
|
|
|
server_name java.roberto.org;
|
|
|
|
location / {
|
|
return 301 http://$host/opencms/;
|
|
}
|
|
|
|
location /opencms/ {
|
|
proxy_pass http://localhost:8080;
|
|
include proxy_params;
|
|
}
|
|
|
|
location /game/ {
|
|
proxy_pass http://localhost:8080/roshambo/;
|
|
include proxy_params;
|
|
}
|
|
}
|
|
```
|
|
|
|
Y lo activamos:
|
|
|
|
```bash
|
|
sudo ln -s /etc/nginx/sites-available/opencms.conf /etc/nginx/sites-enabled/
|
|
sudo systemctl restart nginx
|
|
```
|
|
|
|
Una vez hecho podemos acceder a las aplicaciones con las siguientes urls:
|
|
|
|
piedra papel tijera -> [http://java.roberto.org/game/](http://java.roberto.org/game/)
|
|
|
|
![piedra](https://i.imgur.com/C9svFA4.png)
|
|
|
|
opencms -> [http://java.roberto.org/](http://java.roberto.org/)
|
|
|
|
![opencms5](https://i.imgur.com/QAkYCko.png)
|