12 Commits

Author SHA1 Message Date
174ce5d3c7 Ajouter docker.md 2025-10-15 22:09:16 +02:00
e1030b5d7b Ajouter goss.md 2025-10-15 21:47:22 +02:00
def4152059 Actualiser scriptsauvegarde.sh 2025-10-14 11:45:01 +02:00
3e2d811e3a Ajouter scriptsauvegarde.sh 2025-10-14 11:40:14 +02:00
05a16733f8 Actualiser logs_journald.md 2025-10-14 11:07:17 +02:00
c037a235eb Actualiser logs_journald.md 2025-10-14 11:07:02 +02:00
6cce3c4588 Actualiser logs_journald.md 2025-10-14 11:06:15 +02:00
6f1f4d399d Actualiser logs_journald.md 2025-10-14 11:05:12 +02:00
c600239c49 Ajouter logs_journald 2025-10-14 11:04:54 +02:00
54272ef352 Actualiser Zabbix.md 2025-10-14 11:03:54 +02:00
defcb58f3a Ajouter Zabbix.md 2025-10-14 11:03:05 +02:00
Debian
7d4aa119fa ajout ap33-test 2025-10-10 14:58:20 +02:00
9 changed files with 341 additions and 0 deletions

10
Zabbix.md Normal file
View File

@@ -0,0 +1,10 @@
# Installation de Zabbix en ligne de commande avec laide de la Vagrantfile
On installe Zabbix à laide de la Vagrantfile en ligne de commandes.
On récupère le paquet avec un `wget`.
On ajoute les 2 serveurs **prod** et **test** avec les templates **Linux by Agent active**.
Les modifications dans un template se répercutent automatiquement sur tous les hôtes liés.
Nous pouvons ensuite superviser les serveurs de test et de production en termes de performances.

View File

@@ -0,0 +1,34 @@
package:
docker:
installed: true
versions:
- 1.5-2
service:
docker:
enabled: true
running: true
group:
docker:
exists: true
gid: 994
interface:
eth0:
exists: true
addrs:
- 172.16.0.121/24
- fe80::be24:11ff:fe0c:c468/64
mtu: 1500
http:
http://ap33-test:8080:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 10000
body:
- "payara"
http://ap33-test:4848/:
status: 200
allow-insecure: true
no-follow-redirects: false
timeout: 10000

View File

@@ -0,0 +1,38 @@
services:
payara:
image: payara/server-full:6.2025.9-jdk17
container_name: payara
ports:
- "8080:8080"
- "4848:4848"
- "8181:8181"
env_file:
- "variables.env"
#environment:
#SCRIPT_DIR: ""
# volumes:
#- ./data/payara:/opt/payara
#- ./payara/apps:/opt/payara/deployments
# depends_on:
# - db
db:
image: mariadb
container_name: db
ports:
- "3336:3306"
env_file:
- "variables.env"
volumes:
- ./data/db_data:/var/lib/mysql
- ./init:/docker-entrypoint-initdb.d
restart: unless-stopped
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8081:80
environment:
- PMA_ARBITRARY=1
env_file:
- "variables.env"

View File

@@ -0,0 +1,80 @@
-- phpMyAdmin SQL Dump
-- version 5.2.1deb1+deb12u1
-- https://www.phpmyadmin.net/
--
-- Hôte : localhost:3306
-- Généré le : sam. 04 oct. 2025 à 13:39
-- Version du serveur : 10.11.14-MariaDB-0+deb12u2
-- Version de PHP : 8.2.29
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de données : `bdclient`
--
CREATE DATABASE IF NOT EXISTS `bdclient` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `bdclient`;
-- --------------------------------------------------------
--
-- Structure de la table `client`
--
CREATE TABLE IF NOT EXISTS `client` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nom` varchar(25) NOT NULL,
`prenom` varchar(25) NOT NULL,
`mail` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
--
-- Déchargement des données de la table `client`
--
INSERT INTO `client` (`id`, `nom`, `prenom`, `mail`) VALUES
(1, 'Thevenot', 'Delphine', ''),
(2, 'Sevre', 'Philippe', ''),
(3, 'Dupuis', 'JM', ''),
(4, 'thevenot', 'Eric', 'eric@gmail.com'),
(5, 'chabert', 'thomas', '');
-- --------------------------------------------------------
--
-- Structure de la table `salarie`
--
CREATE TABLE IF NOT EXISTS `salarie` (
`idSal` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(25) NOT NULL,
`mdp` varchar(25) NOT NULL,
`estAdmin` tinyint(1) NOT NULL,
PRIMARY KEY (`idSal`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
--
-- Déchargement des données de la table `salarie`
--
INSERT INTO `salarie` (`idSal`, `login`, `mdp`, `estAdmin`) VALUES
(1, 'dthevenot', 'dt', 1),
(2, 'mdavid', 'md', 0);
COMMIT;
DROP USER 'adminBDClient'@'%';
CREATE USER 'adminBDClient' IDENTIFIED BY "mdpBDClient";
GRANT ALL PRIVILEGES ON bdclient.* TO 'adminBDClient'@'%' WITH GRANT OPTION;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@@ -0,0 +1,8 @@
MYSQL_DATABASE=bdclient
MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_USER=adminBDClient
MYSQL_PASSWORD=mdpBDClient
MYSQL_ROOT_PASSWORD=dbpwd
#JDBC_RESOURCE_NAME=jdbc/cesibigapp
#JMS_RESOURCE_NAME=jms/cesibigapp

71
docker.md Normal file
View File

@@ -0,0 +1,71 @@
# Docker
**Docker** est utilisé pour la virtualisation et le déploiement dapplications sur les serveurs **ap33-prod** et **ap33-test**.
Docker permet de lancer des applications dans des **conteneurs légers et isolés**.
Docker est également **utilisable derrière un proxy**.
---
## Configuration du proxy pour Docker
Création du répertoire pour la configuration **systemd** de Docker.
Création du fichier `http-proxy.conf` avec les spécifications du proxy :
```bash
Environment="HTTP_PROXY=http://proxy.example.com:3128"
Environment="HTTPS_PROXY=https://proxy.example.com:3129"
```
Redémarrage du service Docker après modification :
```bash
sudo systemctl daemon-reload
sudo systemctl restart docker
```
---
## Test de linstallation
Test de linstallation avec la commande :
```bash
docker run hello-world
```
Cette commande confirme que linstallation de Docker est réussie.
---
## Installation de Payara et phpMyAdmin avec Docker
Création dun dossier **docker**, puis dun sous-dossier **payara** :
```bash
mkdir payara
```
Création du fichier `docker-compose.yml` dans le dossier **payara** :
```bash
nano docker-compose.yml
```
Le fichier contient :
- Le service avec son image et le nom du conteneur.
- Les ports utilisés.
- Le fichier `env_file` pour les variables denvironnement.
- Les volumes reliant les fichiers de lhôte au conteneur.
---
## Configuration du serveur ap33-test
Même procédure que pour le serveur **ap33-prod**.
Ajout dun service **phpMyAdmin** dans le fichier `docker-compose.yml`, avec :
- Son image et le nom du conteneur.
- Les ports.
- Les variables denvironnement.
- Les volumes.

52
goss.md Normal file
View File

@@ -0,0 +1,52 @@
# Goss
**Goss** est un outil utilisé principalement pour tester et valider la configuration des serveurs.
Cest un outil léger et rapide qui permet de vérifier que les services, fichiers, paquets, utilisateurs, permissions, ports, etc. sont bien configurés comme attendu sur une machine.
## Objectif du test
- Vérifier que Docker est bien installé, activé et en cours dexécution.
- Vérifier que le groupe docker existe.
- Vérifier que linterface réseau eth0 est active et possède une adresse IP.
- Tester laccessibilité des ports HTTP utilisés par le serveur (par exemple Payara sur les ports 8080 et 4848).
## Création du fichier de configuration
```bash
nano goss.yaml
```
Cette commande permet de créer ou modifier le fichier de configuration Goss.
Cest dans ce fichier que seront enregistrés tous les tests que Goss doit exécuter.
## Ajouter un test sur linterface réseau
```bash
goss add interface eth0
```
Cette commande ajoute un test automatique sur linterface eth0.
Goss vérifiera si elle existe, si elle est activée et si elle possède une adresse IP valide.
## Ajouter un test sur Docker
```bash
goss add docker
```
Cette commande ajoute un test sur Docker.
Elle permet de vérifier que le service Docker est bien installé et actif sur la machine.
## Vérifier la configuration
```bash
goss v
```
Cette commande exécute la validation de tous les tests définis dans le fichier goss.yaml.
Chaque test renvoie un résultat :
- OK si le test est validé,
- FAIL si une erreur est détectée.
## Vérification au format TAP (optionnel)
```bash
goss -f tap v
```
Le format TAP (Test Anything Protocol) permet dobtenir un résultat structuré et lisible, souvent utilisé dans les environnements dintégration continue (CI/CD).

42
logs_journald.md Normal file
View File

@@ -0,0 +1,42 @@
Log avec Journald
# Journald
Utilisation de scripts pour l'installation et la configuration des **serveurs émetteurs** et **receveurs**.
Nous utilisons **HTTP sur le port 19532** ; le protocole **SSL n'est pas utilisé**.
---
## Configuration du serveur **receveur**
- Activation du **socket** pour écouter les connexions entrantes et recevoir les logs distants.
- Création dun **répertoire** où seront stockés les logs.
---
## Configuration des serveurs **émetteurs**
- Activation et configuration de l**URL du serveur receveur** dans le fichier `/etc/systemd/journal-upload.conf`.
- Activation et redémarrage du service `systemd-journal-upload`, qui **envoie les logs au serveur distant via HTTP**.
debian@ap33-prod:~$ logger bonjour
on obtient ->
- debian@ap33-mon:~$ sudo journalctl -D /var/log/journal/remote -f
- Oct 10 14:11:39 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 45.140.164.53:123 (1.debian.pool.ntp.org).
- Oct 10 14:11:49 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 45.13.105.44:123 (2.debian.pool.ntp.org).
- Oct 10 14:11:58 ap33-prod qemu-ga[355]: info: guest-ping called
- Oct 10 14:12:00 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 129.250.35.250:123 (2.debian.pool.ntp.org).
- Oct 10 14:12:10 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 109.190.177.200:123 (2.debian.pool.ntp.org).
- Oct 10 14:12:12 ap33-prod qemu-ga[355]: info: guest-ping called
- Oct 10 14:12:20 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 162.159.200.1:123 (2.debian.pool.ntp.org).
- Oct 10 14:12:26 ap33-prod qemu-ga[355]: info: guest-ping called
- ct 10 14:12:30 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 5.196.76.84:123 (3.debian.pool.ntp.org).
- Oct 10 14:12:37 ap33-prod su[1277]: pam_unix(su:session): session closed for user root
- Oct 10 14:12:37 ap33-prod sudo[1275]: pam_unix(sudo:session): session closed for user root
- Oct 10 14:12:40 ap33-prod debian[2062]: bonjour
- Oct 10 14:12:40 ap33-prod qemu-ga[355]: info: guest-ping called
- Oct 10 14:12:41 ap33-prod systemd-timesyncd[291]: Timed out waiting for reply from 193.52.136.2:123 (3.debian.pool.ntp.org).

6
scriptsauvegarde.sh Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
DEST="/backup_dir/backup_files"
DAT=$(date '+%u')
NAME="ap33_backup_${DAT}.sql.gz"
ssh debian@ap33-test "docker exec db mariadb-dump -u adminDBClient -pmdpDBClient bdclient|gzip" > "${NAME}"
#find "$DEST" -type f -name "ap33_backup_*.sql.gz" -mtime +6 delete