Compare commits
12 Commits
v0.0.2m-jc
...
v0.0.2s-cm
Author | SHA1 | Date | |
---|---|---|---|
8107158a4f | |||
18cb3a1d99 | |||
0997c5d44a | |||
bf877b63a6 | |||
a4b7b06c3f | |||
8a81aac1e2 | |||
8f4b5b6398 | |||
03b7706c23 | |||
008731f456 | |||
cbcefb5fbd | |||
2b8745bedf | |||
1613c632b4 |
@ -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
|
||||
|
@ -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
|
||||
|
@ -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**.
|
||||
|
@ -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
|
||||
|
@ -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/"
|
||||
|
||||
|
@ -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*
|
||||
|
||||
|
@ -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
|
||||
|
@ -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>.
|
||||
|
Reference in New Issue
Block a user