This commit is contained in:
Ornel_Zply 2025-10-28 11:28:04 +01:00
parent 9785feb5ef
commit 4f52cc714b
2 changed files with 211 additions and 0 deletions

View File

@ -0,0 +1,113 @@
1. Préparation de la VM Applicatif (192.168.56.30)
1.1 Mise à jour du système
sudo apt update && sudo apt upgrade -y
1.2 Installation de Java et Maven
sudo apt install -y openjdk-17-jdk maven
java -version
mvn -version
1.3 Installation de Tomcat
cd /opt
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.47/bin/apache-tomcat-10.1.47.tar.gz
sudo tar -xvzf apache-tomcat-10.1.47.tar.gz
sudo mv apache-tomcat-10.1.47 tomcat
sudo chown -R vagrant:vagrant /opt/tomcat
nano ~/.bashrc
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
source ~/.bashrc
sudo nano /etc/systemd/system/tomcat.service
------------------
[Unit]
Description=Apache Tomcat 10.1.47
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=vagrant
Group=vagrant
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
----------------------------------------------
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat
sudo systemctl status tomcat
1.4 Déploiement de lapplication Java
Copie du fichier .war depuis le PC hôte: # debrouille toi
scp target/archiweb-api-1.0.0.war vagrant@192.168.56.31:/tmp/
sudo cp /tmp/archiweb-api-1.0.0.war /opt/tomcat/webapps/
sudo mv /opt/tomcat/webapps/archiweb-api-1.0.0.war /opt/tomcat/webapps/api.war
2. Base de données PostgreSQL (hébergée sur la vm)
2.1
sudo apt update && sudo apt upgrade -y
sudo apt install postgresql postgresql-contrib -y
sudo systemctl status postgresql(Facultatif)
Vérifier postgresql.conf afin que # listen_addresses = 'localhost'
La commande pour le faire :sudo nano /etc/postgresql/15/main/postgresql.conf
2.2 Création de la base
sudo apt update
sudo apt upgrade -y
sudo apt install -y wget gnupg lsb-release
# Ajouter le dépôt officiel PostgreSQL
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
# Installer le serveur PostgreSQL
sudo apt install -y postgresql-18
sudo -u postgres psql <<EOF
CREATE DATABASE archiweb_db;
CREATE USER archiweb_user WITH ENCRYPTED PASSWORD 'archiweb_pass';
GRANT ALL PRIVILEGES ON DATABASE archiweb_db TO archiweb_user;
\q
EOF
sudo nano /etc/postgresql/18/main/pg_hba.conf
local all all md5
sudo systemctl restart postgresql
sudo systemctl status postgresql
sudo -u postgres psql
DROP DATABASE IF EXISTS archiweb_db;
CREATE DATABASE archiweb_db OWNER archiweb_user;
\q
psql -U archiweb_user -d archiweb_db -f /vagrant/database/schema.sql
psql -U archiweb_user -d archiweb_db -f /vagrant/database/data.sql
Mdp:(archiweb_pass)
http://192.168.56.31:8080/api/utilisateurs

View File

@ -0,0 +1,98 @@
sudo mkdir -p /opt/promtail
cd /opt/promtail
sudo wget https://github.com/grafana/loki/releases/download/v3.1.1/promtail-linux-amd64.zip
sudo apt install -y unzip # si nécessaire
sudo unzip promtail-linux-amd64.zip
sudo mv promtail-linux-amd64 promtail
sudo chmod +x promtail
sudo useradd -r -s /bin/false promtail || true
sudo chown -R promtail:promtail /opt/promtail
root@vmApplicatif:~# cd /etc/
root@vmApplicatif:/etc# mkdir promtail
cd promtail
root@vmApplicatif:/etc/promtail# nano config-promtail.yaml
-------------
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://192.168.56.30:3100/loki/api/v1/push
scrape_configs:
- job_name: tomcat
static_configs:
- targets:
- localhost
labels:
job: tomcat
host: applicatif-vm
type: catalina
__path__: /opt/tomcat/logs/catalina*.log
- targets:
- localhost
labels:
job: tomcat
host: applicatif-vm
type: localhost
__path__: /opt/tomcat/logs/localhost*.log
- targets:
- localhost
labels:
job: tomcat
host: applicatif-vm
type: access
__path__: /opt/tomcat/logs/localhost_access_log*.txt
- targets:
- localhost
labels:
job: tomcat
host: applicatif-vm
type: out
__path__: /opt/tomcat/logs/catalina.out
---------------------------
nano /etc/systemd/system/promtail.service
[Unit]
Description=Promtail service
After=network.target
[Service]
User=promtail
ExecStart=/opt/promtail/promtail-linux-amd64 -config.file=/etc/promtail/config-promtail.yaml
Restart=always
[Install]
WantedBy=multi-user.target
--------------------------
sudo systemctl daemon-reload
sudo systemctl enable --now promtail
sudo systemctl start promtail
sudo systemctl status promtail
sudo ls -ld /opt/tomcat/logs
sudo ls -l /opt/tomcat/logs | head
# Donner la propriété complète à tomcat
sudo chown -R tomcat:tomcat /opt/tomcat/logs
# Donner les droits d'accès comme dans ton exemple
sudo chmod 750 /opt/tomcat/logs
# Donner des droits de lecture/écriture classiques aux fichiers de logs
sudo chmod 640 /opt/tomcat/logs/*