Compare commits

..

12 Commits

Author SHA1 Message Date
8107158a4f README.md à jour 2024-01-12 15:20:02 +01:00
18cb3a1d99 creation goss s-mon 2024-01-12 15:17:41 +01:00
0997c5d44a creation goss s-mon 2024-01-12 15:14:00 +01:00
gsb
bf877b63a6 Actualiser roles/glpi/handlers/main.yml 2024-01-12 15:07:06 +01:00
a4b7b06c3f modif test agoss 2024-01-12 14:47:21 +01:00
8a81aac1e2 modif test agoss 2024-01-12 14:37:22 +01:00
8f4b5b6398 maj readme zabbix-srv 2024-01-12 14:33:51 +01:00
03b7706c23 maj readme zabbix-srv 2024-01-12 14:26:18 +01:00
008731f456 modif role fog & routeur 2024-01-12 14:07:00 +01:00
gsb
cbcefb5fbd Actualiser roles/glpi/README.md 2024-01-12 10:56:00 +01:00
gsb
2b8745bedf Actualiser roles/glpi/README.md 2024-01-12 10:54:28 +01:00
gsb
1613c632b4 Actualiser roles/glpi/README.md 2024-01-12 10:52:24 +01:00
8 changed files with 206 additions and 92 deletions

View File

@ -1,18 +1,50 @@
interface:
enp0s3:
file:
/tftpboot/default.ipxe:
exists: true
addrs:
- 192.168.99.16/24
interface:
enp0s8:
exists: true
addrs:
- 172.16.0.16/24
interface:
enp0s9:
exists: true
addrs:
- 172.16.64.16/24
mode: "0644"
owner: root
group: root
filetype: file
contains: []
package:
apache2:
installed: true
versions:
- 2.4.57-2
isc-dhcp-server:
installed: true
versions:
- 4.4.3-P1-2
mariadb-server:
installed: true
versions:
- 1:10.11.4-1~deb12u1
tftpd-hpa:
installed: true
versions:
- 5.2+20150808-1.4
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
tcp:443:
listening: true
ip:
- 0.0.0.0
service:
apache2:
enabled: true
running: true
isc-dhcp-server:
enabled: true
running: true
nfs-server:
enabled: true
running: true
tftpd-hpa:
enabled: true
running: true
command:
ping -c 4 192.168.99.99:
exit-status: 0
@ -26,3 +58,11 @@ command:
- 0% packet loss
stderr: []
timeout: 10000
process:
apache2:
running: true
interface:
enp0s9:
exists: true
addrs:
- 172.16.64.16/24

View File

@ -1,28 +1,34 @@
file:
/etc/nagios4/htdigest.users:
exists: true
mode: "0640"
owner: nagios
group: www-data
filetype: file
contains: [nagiosadmin]
package:
apache2:
installed: true
nagios-snmp-plugins:
zabbix-server-mysql:
installed: true
nagios4:
zabbix-frontend-php:
installed: true
snmp:
zabbix-apache-conf:
installed: true
python3-passlib:
zabbix-sql-scripts:
installed: true
zabbix-agent:
installed: true
mariadb-server:
installed: true
python3-pymysql:
installed: true
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
udp:514:
tcp:3306:
listening: true
ip:
- 127.0.0.1
tcp:10050:
listening: true
ip:
- 0.0.0.0
tcp:10051:
listening: true
ip:
- 0.0.0.0
@ -30,7 +36,10 @@ service:
apache2:
enabled: true
running: true
nagios4:
zabbix-server:
enabled: true
running: true
zabbix-agent:
enabled: true
running: true
command:
@ -43,7 +52,9 @@ command:
process:
apache2:
running: true
nagios4:
zabbix_server:
running: true
mariadb:
running: true
interface:
enp0s3:
@ -55,7 +66,7 @@ interface:
addrs:
- 172.16.0.8/24
http:
http://localhost/nagios4:
http://localhost/zabbix:
status: 401
allow-insecure: false
no-follow-redirects: false

View File

@ -1,16 +1,41 @@
# Fog
Ce rôle permet l'installation et la modification de Fog.
Ce rôle permet **l'installation** et la **configuration** de **Fog**.
**Fog** est une solution open-source de gestion de parc informatique. Il offre des fonctionnalités telles que la **création d'images système**, le **déploiement d'images sur plusieurs machines** et la **gestion des postes de travail** grâce à **PXE**.
## Fog, c'est quoi ?
**PXE** (Preboot eXecution Environment) est un protocole qui permet à un hôte de démarrer via le réseau, plutôt que depuis son disque dur local. Cela facilite le déploiement d'images système à distance.
Dans le contexte de GSB, Fog avec PXE,assure le service **DHCP**.
Ainsi, Fog simplifie le processus de création d'images et du déployement de postes en gérant à la fois le démarrage réseau (PXE) et la configuration réseau (DHCP).
Fog permet le déploiement d'images disque tel que Windows ou bien Linux en utilisant PXE (Preboot Execution Environment).
## Comment l'installer et le configurer ?
### Prérequis:
## Comment l'installer ?
Mettre au moins 4GB de mémoire.
### Etape 1:
Avant toute chose, lancer le fichier goss de s-fog ( présent dans gsb2023/goss/s-fog.yaml ) pour vérifier que la configuration réseau est correct et opérationnel. Une fois l'installation principale effectuée, il faut lancer le playbook ansible s-fog.yaml.
Il faudra se rendre dans le dossier **fog** pour lancer le script **installfog.sh** ( fog/bin/ ). La configuration sera déjà établie via le fichier **.fogsettings**
Lancez le PlayBook Ansible de "pré-installation" nommé **s-fog.yml**.
Il installe la base de **Fog** , l'outil **Goss** , configure le **DHCP** , **SSH** et l'agent **SSH**.
Ce PlayBook fait aussi appel au PlayBook **main.yml** qui se trouve dans **roles/fog/tasks/** qui installe les paquets de base comme **Apache2** , **MariaDb client et serveur** ... (Voir en détail le PlayBook).
Enfin ce PlayBook permet aussi de récupérer l'archive d'installation de Fog depuis le serveur **s-admin** (grâce au PlayBook **main.yml** dans **roles/default/**), puis décompresse cette archive et l'exécute (à partir du moment où on lance le deuxieme PlayBook : voir l'étape 2).
Redémarrer le serveur pour que les interfaces puissent avoir les bonnes adresses IP.
### Etape 2:
Lancez le second PlayBook **install-fog.yml** qui permet de faire appel aux tâches qui exécute le script d'installation **fogsettings** qui permet d'éviter de répondre aux différentes questions manuellement.
### Etape 3:
Il n'y a plus qu'à se rendre sur l'interface en ligne de Fog avec l'URL suivant : **http://172.16.64.16/management/** et suivre les consignes indiquées (Installation ou mise à jour de la base de données) et vous pourrez ainsi vous y connecter et commencer à l'utiliser.
### Etape supplémentaire:
Vous pouvez tester que la configuration est correcte avec Goss (commande : **./agoss -f tap** ) à partir du répertoire **gsb2024**.

View File

@ -3,14 +3,18 @@
## Find more information about this file in the FOG Project wiki:
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
## Version: 1.5.10
<<<<<<< HEAD
## Install time: jeu. 11 janv. 2024
=======
## Install time: jeu. 11 janv. 2024 11:41:05
>>>>>>> cbcefb5fbd5abe52a1704026505ff174752c7c11
ipaddress='172.16.64.16'
copybackold='0'
interface='enp0s9'
submask='255.255.255.0'
hostname='s-fog.gsb.lan'
routeraddress='192.168.99.99'
plainrouter='192.168.99.99'
routeraddress='172.16.64.254'
plainrouter='172.16.64.254'
dnsaddress='172.16.0.1'
username='fogproject'
password='/7ElC1OHrP47EN2w59xl'
@ -25,22 +29,24 @@ snmysqluser='fogmaster'
snmysqlpass='HHO5vSGqFiHE_9d2lja3'
snmysqlhost='localhost'
mysqldbname='fog'
installlang='0'
installlang='1'
storageLocation='/images'
fogupdateloaded=1
docroot='/var/www/html/'
docroot='/var/www/'
webroot='/fog/'
caCreated='yes'
httpproto='http'
httpproto='https'
startrange='172.16.64.10'
endrange='172.16.64.254'
bootfilename='undionly.kpxe'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage git gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-php7.4 libc6 libcurl4 li>
#bootfilename='undionly.kpxe'
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext git gzip htmldoc isc-dhcp-server isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mariadb-server net-tools nfs-kernel-server openssh-server php php-bcmath php-cli php-curl php-fpm php-gd php-intl php-json php-ldap php-mbstring php-mysql tar tftpd-hpa tftp-hpa unzip vsftpd wget zlib1g'
noTftpBuild=''
tftpAdvOpts=''
sslpath='/opt/fog/snapins/ssl/'
backupPath='/home/'
armsupport='0'
php_ver='7.4'
php_verAdds='-7.4'
php_ver='8.2'
#php_verAdds='-7.4'
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
sendreports='Y'
## End of FOG Settings

View File

@ -1,26 +1,49 @@
---
- name: creation d'un repertoire fog
file:
path: /root/tools/fog
state: directory
- name: recuperation de l'archive d'installation fog sur git
git:
repo: https://gitea.lyc-lecastel.fr/gadmin/fog.git
dest: /root/tools/fog/
clone: yes
update: yes
- name: Modification fichier bash (desac UDPCast)
ansible.builtin.lineinfile:
path: /root/tools/fog/lib/common/functions.sh
regexp: '^configureUDPCast\(\).*'
line: "configureUDPCast() {\nreturn"
backup: yes
- name: Installation des paquets de base
apt:
state: present
name:
- apache2
- curl
- git
- gzip
- isc-dhcp-server
- mariadb-client
- mariadb-server
- net-tools
- openssh-server
- php
- php-cli
- php-curl
- php-fpm
- php-gd
- php-intl
- php-json
- php-ldap
- php-mbstring
- php-mysql
- tar
- unzip
- vsftpd
- wget
- name: fichier config fogsettings
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
copy:
src: fogsettings
dest: /tmp/
- name: fichier fogsettings en .fogsettings
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"
- name: Récupération archive d'installation Fog
get_url:
url: "{{ depl_url }}/{{ depl_fog }}"
dest: "/tmp/"
- name: Décompression de l'archive
ansible.builtin.unarchive:
src: "/tmp/{{ depl_fog }}"
dest: "/tmp/"
- name: Exécution du script d'installation Fog
ansible.builtin.shell: sudo bash /tmp/fogproject-1.5.10/bin/installfog.sh --recreate-keys -f /tmp/fogsettings -y
args:
chdir: "/tmp/fogproject-1.5.10/"

View File

@ -28,24 +28,25 @@ l'hôte SMTP est localhost
## Inventorier une machine windows sur le serveur GLPI avec l'agent :
Actuellement la version de l'agent glpi disponible directement sur le serveur est la version 1.7 de celui.
- Télécharger l'agent depuis le serveur GLPI : *http://s-itil/glpicli*
- Installer l'agent : sélectionner l'option "Typical" et entrer l'URL du serveur dans "Remote Targets" : *http://s-itil/*
- Se rendre sur localhost:62354 pour forcer la remonter
* Télécharger l'agent depuis le serveur GLPI : *http://s-itil/glpicli*
* Installer l'agent : sélectionner l'option "Typical" et entrer l'URL du serveur dans "Remote Targets" : *http://s-itil/*
* Se rendre sur localhost:62354 pour forcer la remonter
*Note: si la machine ne remonte aprés avoir forcer l'interface depuis l'interface web il est possible de rédémarrer le service glpi agent.*
- Actualiser GLPI et la machine sera inventoriée
* Actualiser GLPI et la machine sera inventoriée
## Enregistrement A et PTR pour S-WIN :
## Enregistrements A et PTR pour S-WIN :
L'enregistrement A et PTR est utilisé pour résoudre les noms des machines nécessaire à la synchronisation de l'annuaire LDAP sur le serveur comme serveur DNS GLPI en utilisant le serveur S-WIN sans passé sur le serveur S-INFRA.
Les enregistrements "A" et "PTR" sont utilisés pour résoudre les noms des machines nécessaire à la synchronisation de l'annuaire LDAP sur le serveur comme serveur DNS GLPI en utilisant le serveur S-WIN sans passé sur le serveur S-INFRA.
Ajouter les enregistrement "A" et "PTR" sur le DNS de l'Active Directory:
Sur le serveur S-WIN:
**Gestionnaire de serveur** --> **Gestionnaire DNS** --> **Zones Recherches Directes** --> **gsb.lan** --> **Ajouter un hôte (A)**:
- s-infra 172.16.0.1
- s-itil 172.16.0.9
- r-int 172.16.0.254
- s-win 172.16.0.6
* s-infra 172.16.0.1
* s-itil 172.16.0.9
* r-int 172.16.0.254
* s-win 172.16.0.6
Cocher la case **Créer un pointeur d'enregistrement PTR associé**
@ -70,12 +71,20 @@ Appuyer sur rechercher
Puis sélectionner les utilisateurs afficher, allez dans action et sélectionnez importer.
## Rejoindre le domaine gsb.lan depuis un client windows :
Afin de rejoindre le domaine **gsb.lan**, il est nécessaire d'ajouter en guise de serveur DNS sur la machine cliente le serveur DNS de l'Active Directory **s-win.gsb.lan**.
Il est possible d'ainsi rejoindre le domaine **gsb.lan**.
Nous utiliserons pour se connecter à l'Active Directory l'utilisateur **Administrateur**:
* **Login**: **Administrateur@gsb.lan**
* **Mot de passe**: **Azerty1+**
## Les modification à faire pour un prochaine version de GLPI :
Pour les prochaines versions de GLPI et pouvoir utiliser le playbook, voici les modification à faire :
- Changer la version de GLPI
- Changer la version de PHP
- Changer la version de GLPI Agent
* Changer la version de GLPI
* Changer la version de PHP
* Changer la version de GLPI Agent
*Modification effectué par : jm - ak*

View File

@ -1,9 +1,12 @@
---
- name: restart php-fpm
service: name=php8.2-fpm state=restarted
service: name=php8.2-fpm
state=: restarted
- name: restart nginx
service: name=nginx state=restarted
service: name=nginx
state: restarted
- name: restart mariadb-server
service: name=mariadb-server state=restarted
service: name=mariadb-server
state: restarted

View File

@ -1,18 +1,15 @@
# Rôle Zabbix
# Rôle zabbix-srv
***
Rôle Zabbix pour la supervision des différentes machines
Rôle zabbix-srv pour la supervision des différentes machines
## Tables des matières
1. [Que fait le rôle Zabbix ?]
1. Que fait le rôle zabbix-srv ?
## Que fait le rôle Zabbix ?
## Que fait le rôle zabbix-srv ?
Le rôle zabbix-srv va installer `apache2` pour le serveur web, `zabbix-server` pour la supervision et `zabbix-agent` pour gérer les clients, **Zabbix** qui sera notre outil de supervision.
### Installation et configuration de Zabbix
Lors de l'éxecution du playbook, les identifiants de la BDD sont crées avec le nom d'utilisateur "zabbix" et le mot de passe "password".
Le rôle Zabbix va installer apache2 pour le serveur web, zabbix-server pour la supervision, zabbix qui sera notre outil de supervision.
Lors de la première connexion, on indique les identifiants de la BDD avec "zabbix" et "password".
Pour l'id de Zabbix, c'est "Admin" et "zabbix", à l'adresse "https://s-mon/zabbix".
Pour l'identifiant de Zabbix, c'est "Admin" et le mot de passe "zabbix", à l'adresse <http://s-mon/zabbix>.