Compare commits

...

9 Commits

Author SHA1 Message Date
Jim
b0d81dc69c maj role lb-front 2024-01-25 16:29:11 +01:00
331b8b0fb6 maj README nextcloud 2024-01-25 15:43:50 +01:00
4025f996dc modif inst-depl pour zabbix.sql.gz et SRC 2024-01-25 14:44:50 +01:00
a1ee9c6207 maj zabbix-srv 2024-01-25 11:54:57 +01:00
a1442e534d Premier commit ... 2024-01-25 11:40:07 +01:00
e78ef5948b modif save 2024-01-25 11:23:58 +01:00
298f105805 maj zabbix-srv 2024-01-25 11:22:18 +01:00
d88745e741 modif s-backup.yml 2024-01-25 11:11:56 +01:00
fffcb22db8 modif cle priv 2024-01-25 11:09:25 +01:00
9 changed files with 97 additions and 36 deletions

View File

@ -11,7 +11,7 @@ GITPRJ=gsb2024
apt-get update
apt-get install -y lighttpd git
STOREREP="/var/www/html/gsbstore"
SRC="${SRC:-http://depl.sio.lan/gsbstore}"
GLPIREL=10.0.11
str="wget -nc -4 https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
@ -50,6 +50,12 @@ str84="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metri
(cat <<EOT > "${STOREREP}/getall"
#!/bin/bash
if [[ -z "${SRC+x}" ]]; then
echo "erreur : variable SRC indefinie"
echo " SRC : URL serveur deploiement"
echo "export SRC=http://depl.sio.adm/gsbstore ; ./$0"
exit 1
fi
${str}
${str31}
@ -72,6 +78,7 @@ ${str81}
${str82}
${str83}
${str84}
wget -nc -4 "${SRC}/zabbix.sql.gz" -O zabbix.sql.gz
EOT
)

15
roles/lb-front/README.md Normal file
View File

@ -0,0 +1,15 @@
# Rôle lb-front
***
Rôle lb-front pour la répartition de charge des serveurs web sur WordPress avec HAProxy
## Tables des matières
1. Que fait le rôle lb-front ?
## Que fait le rôle lb-front ?
Le rôle lb-front va installer `haproxy` pour le load balancing/la répartition de charge et va configurer le fichier `/etc/haproxy/haproxy.cfg`.
le fichier va faire du Round-Robin, un algoritme qui va équilibrer le nombre de requêtes entre s-lb-web1 et s-lb-web2.
le site web est accessibe à l'adresse <http://s-lb.gsb.adm>.

View File

@ -1,8 +1,16 @@
# Installation de Nextcloud et du proxy inverse Traefik
Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionner ce playbook, docker doit être installé.
## Explication de l'installation de Nextcloud
Afin de pouvoir faire fonctionner Nextcloud et Traefik, il faut mettre en place docker. Dans un premier plan, il vas donc falloir lancer le script **getall** sur **s-adm**. Ensuite dans un second temps, il faudra etre dans le fichier **/nxc** sur **s-nxc** et lancer **docker-compose.yaml**. Pour finir, il faudra ajouter l'authentification LDAP au nextcloud grace a l'AD de **s-win**.
## 1.
# <p align="center">Procédure d'installation</p>
***
## 1. Installation docker
Voir: https://gitea.lyc-lecastel.fr/gsb/gsb2024/src/branch/main/roles/docker
## 2. Fonctionnement du playbook s-nxc
Le playbook crée le dossier **nxc** à la racine de root.
@ -10,11 +18,11 @@ Les fichiers "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répert
Enfin, dans le répertoire nxc, sont créés les répertoires **certs** et **config**.
## 2. Copie des fichiers
### 2.1 Copie des fichiers
Le playbook copie les fichiers placés dans "files" et les placer dans les bons répertoires.
Le playbook copie les fichiers placés dans "files" et les places dans les bons répertoires.
## 3. Génération du certificat
### 2.2 Génération du certificat
Le playbook crée un certificat **x509** grâce à **mkcert**, il s'agit d'une solution permettant de créer des certificats auto-signés. Pour cela, il télécharge **mkcert** sur **s-adm** (utiliser le script **getall**).
@ -25,7 +33,7 @@ Pour créer le certificat, le playbook exécute les commandes (lancé depuis nxc
/usr/local/bin/mkcert -install # Installe mkcert
/usr/local/bin/mkcert -key-file key.pem -cert-file cert.pem "hôte.domaine.local" "*.domaine.local" #Crée le certificat le DNS spécifié
```
## 4. Lancement
## 3. Lancement
Le playbook lance les fichiers "docker-compose" à savoir : nextcloud.yml et traefik.yml qui démarrent les deux piles **docker**.
@ -37,22 +45,28 @@ ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
## 5. Ajout authentification LDAP
## 4. Ajout authentification LDAP
Pour ajouter l'authentification LDAP au Nextcloud, il faut :
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et Application
Pour ajouter l'authentification LDAP au Nextcloud, depuis **n-user** il faut :
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et "Application"
* Dans vos applications, descendre et activer "LDAP user and group backend"
* Puis cliquer sur le profil, puis Paramètres d'administration et dans Administration cliquer sur Intégration LDAP/AD
* Puis cliquer sur le profil, puis "Paramètres d'administration" et dans "Administration" cliquer sur "Intégration LDAP/AD"
* Une fois sur la page d'intégration LDAP/AD :
* Dans Hôte mettre :
> ldap://s-win.gsb.lan
* Cliquer sur Détecter le port (normalement le port 389 apparait)
> **ldap://s-win.gsb.lan**
* Cliquer sur "Détecter le port" (normalement le port 389 apparait)
* Dans DN Utilisateur mettre :
> CN=nextcloud,CN=Users,DC=GSB,DC=LAN
> **CN=nextcloud,CN=Users,DC=gsb,DC=lan**
* Mot de passe :
> Azerty1+
* Et dans Un DN de base par ligne :
> DC=GSB,DC=LAN
* Après la configuration passe OK
* Une fois la configuration finie, cliquer 3 fois sur continuer
* Une fois arrivé sur Groupes, vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.
> **Azerty1+**
* Et dans "Un DN de base par ligne" :
> **DC=gsb,DC=lan**
* Cliquer sur "Détecter le DN de base" (normalement il apparaitra automatiquement)
* Après la configuration réaliser, cliquer sur "Continuer", puis cliquer 3 fois sur continuer
* Une fois arrivé sur "Groupes", vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.
## Contributeurs
- LG
- CH

View File

@ -18,12 +18,5 @@ docker compose exec -u www-data app php occ maintenance:mode --off
# création d'une archive
tar cvfz nxc.tgz nextcloud-sqlbkp.bak nextcloud-dirbkp
# envoie sur s-backup
BACKUP=/home/backup/s-nxc
# Préparation des dossiers qui vont accueillir les données à sauvegarder (-e lance le répertoire si il existe)
[[ -e "${BACKUP}" ]] || mkdir -p "${BACKUP}"
# Sauvegarde du fichier nxc.tgz vers la machine s-backup
scp root@s-nxc:/root/nxc/nxc.tgz "${BACKUP}/"

View File

@ -0,0 +1,10 @@
#!/bin/bash
# envoie sur s-backup
BACKUP=/home/backup/s-nxc
# Préparation des dossiers qui vont accueillir les données à sauvegarder (-e lance le répertoire si il existe)
[[ -e "${BACKUP}" ]] || mkdir -p "${BACKUP}"
# Sauvegarde du fichier nxc.tgz vers la machine s-backup
scp -i ~/.ssh/id_rsa_sbackup root@s-nxc.gsb.adm:/root/nxc/nxc.tgz "${BACKUP}/"

View File

@ -14,6 +14,14 @@
group: root
mode: '0755'
- name: copie script backupnxc dans /usr/local/bin
copy:
src: backupnxc.sh
dest: /usr/local/bin
owner: root
group: root
mode: '0755'
- name: crontab backupsmb ( commentee par defaut )
cron:
name: backupsmb

View File

@ -3,10 +3,11 @@
file:
path: ~/.ssh
state: directory
mode: 0700
- name: recuperation de la cle privee generee par s-adm
get_url:
url: http://s-adm.gsb.adm/gsbstore/id_rsa_sbackup
dest: /root/.ssh/id_rsa_sbackup
mode: 0644
mode: 0600

View File

@ -29,41 +29,54 @@
name: mariadb
state: started
- name: 6. Modifier la variable trust function creators pour importer la base données
- name: 6. Creer un utilisateur et lui attribuer tous les droits
community.mysql.mysql_user:
name: zabbix
password: password
priv: '*.*:ALL,GRANT'
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: 7. Modifier la variable trust function creators pour importer la base données
community.mysql.mysql_variables:
variable: log_bin_trust_function_creators
value: 1
mode: global
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: 7. Importer la base de données
- name: 8. Récupérer la base de données
get_url:
url: http://s-adm.gsb.adm/gsbstore/zabbix.sql.gz
dest: /tmp
- name: 9. Importer la base de données
community.mysql.mysql_db:
state: import
name: zabbix
encoding: utf8mb4
target: http://s-adm.gsb.adm/gsbstore/zabbix.sql.gz
target: /tmp/zabbix.sql.gz
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: 8. Remettre a zero la variable trust function creators
- name: 10. Remettre a zero la variable trust function creators
community.mysql.mysql_variables:
variable: log_bin_trust_function_creators
value: 0
mode: global
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: 9. Lancer le service zabbix-server
- name: 11. Lancer le service zabbix-server
service:
name: zabbix-server
state: restarted
enabled: yes
- name: 10. Lancer le service zabbix-agent
- name: 12. Lancer le service zabbix-agent
service:
name: zabbix-agent
state: restarted
enabled: yes
- name: 11. Lancer le service apache2
- name: 13. Lancer le service apache2
service:
name: apache2
state: restarted

View File

@ -4,7 +4,7 @@
vars:
stork_db_user: "stork-server"
stork_db_passwd: "Azerty1+"
stork_db_name: "stork"
stork_db_name: "stork"
roles:
- base