Compare commits
97 Commits
v0.0.1v-jc
...
v0.0.4g-ps
Author | SHA1 | Date | |
---|---|---|---|
f9e801c39e | |||
85374ee503 | |||
5232d80321 | |||
5acca816af | |||
394a8d8cd8 | |||
ff03ee66a5 | |||
1e30fd87a9 | |||
924a11f843 | |||
83a3942900 | |||
0d2968b2c8 | |||
86afa7c616 | |||
00071b1c67 | |||
b5237811e1 | |||
25bb47afd3 | |||
addabae478 | |||
a57998f5de | |||
262b7bdb13 | |||
c45dc50d12 | |||
d1116a91c3 | |||
9c8dca44c9 | |||
ce3b6e0a77 | |||
a03298ed54 | |||
80b54a50df | |||
045af9bea2 | |||
6b10b981f4 | |||
3811e2df5c | |||
27aad0dcb5 | |||
c03c066d41 | |||
beca7dbdcc | |||
5dcaeb0629 | |||
82bda1c85b | |||
0537e6f942 | |||
7310641ce0 | |||
48b16468b6 | |||
c7a893651e | |||
236e560329 | |||
84144c72fb | |||
84aa96c106 | |||
d6ddbb4dd6 | |||
cc36b5dcf7 | |||
5aa12d8acd | |||
35a21bab2f | |||
cdd64636ed | |||
db966c5e9e | |||
8107158a4f | |||
18cb3a1d99 | |||
0997c5d44a | |||
bf877b63a6 | |||
a4b7b06c3f | |||
8a81aac1e2 | |||
8f4b5b6398 | |||
03b7706c23 | |||
008731f456 | |||
cbcefb5fbd | |||
2b8745bedf | |||
1613c632b4 | |||
41aa9c626c | |||
6816bca773 | |||
fe386b4f4c | |||
008b6ce0bb | |||
9447a6c726 | |||
c550ea90c2 | |||
dc010b3562 | |||
46cd74fed6 | |||
1f1ade55c7 | |||
e5ba286b4f | |||
9faec4b433 | |||
29f0b8e269 | |||
4722affa2e | |||
fb290afb6a | |||
a0be338fd5 | |||
1e8e9e1281 | |||
713a9ecc28 | |||
6a023456fb | |||
932728ae3a | |||
b35f036ce2 | |||
fd25eba978 | |||
7b36d98298 | |||
663b8d349a | |||
d5279901dc | |||
790cf9f0a6 | |||
b03fedcc45 | |||
9deef13f8e | |||
6ebde054e0 | |||
57738871f0 | |||
4f73bd7520 | |||
efcbd3d0cf | |||
ac1d2756bd | |||
1a9cfeb5d2 | |||
dea09f952d | |||
1a63a0d865 | |||
975cb35f00 | |||
ccb083ddcc | |||
882a072fa9 | |||
01faab4a6e | |||
d9fb25425d | |||
fb900be1e4 |
69
README.md
69
README.md
@ -1,34 +1,34 @@
|
||||
# gsb2024
|
||||
|
||||
2024-12-21 ps
|
||||
2024-01-17 18h04 ps
|
||||
|
||||
Environnement et playbooks ansible pour le projet GSB 2024
|
||||
Environnement et playbooks **ansible** pour le projet **GSB 2024**
|
||||
|
||||
## Quickstart
|
||||
|
||||
Prérequis :
|
||||
* une machine LInux Debian Bookworm ou Windows
|
||||
* une machine **Linux Debian Bookworm** ou **Windows**
|
||||
* VirtualBox
|
||||
* git
|
||||
* fichier machines virtuelles **ova** :
|
||||
* **debian-bookworm-gsb-2023c.ova**
|
||||
* **debian-buster-gsb-2023a.ova**
|
||||
* **debian-bullseye-gsb-2024a.ova**
|
||||
|
||||
|
||||
## Les machines
|
||||
|
||||
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
|
||||
* **s-adm** : routeur adm, DHCP + NAT, déploiement, proxy squid
|
||||
* **s-infra** : DNS maitre, autoconfiguration navigateurs avec **wpad**
|
||||
* **r-int** : routage, DHCP
|
||||
* **r-ext** : routage, NAT
|
||||
* **s-proxy** : squid
|
||||
* **s-proxy** : proxy **squid**
|
||||
* **s-itil** : serveur GLPI
|
||||
* **s-backup** : DNS esclave + sauvegarde s-win (SMB)
|
||||
* **s-mon** : supervision avec **Nagios4**, notifications et syslog
|
||||
* **s-fog** : deploiement postes de travail avec **FOG**
|
||||
* **s-win** : Windows Server 2019, AD, DNS, DHCP, partage fichiers
|
||||
* **s-nxc** : NextCloud avec **docker**
|
||||
* **s-elk** : pile ELK dockerisée
|
||||
* **s-nxc** : NextCloud avec **docker** via proxy inverse **traefik** et certificat auto-signé
|
||||
* **s-elk** : pile **ELK** dockerisée
|
||||
* **s-lb** : Load Balancer **HaProxy** pour application Wordpress (DMZ)
|
||||
* **r-vp1** : Routeur VPN Wireguard coté siège
|
||||
* **r-vp2** : Routeur VPN Wireguard coté agence, DHCP
|
||||
@ -38,6 +38,8 @@ Prérequis :
|
||||
* **s-lb-web2** : Serveur Wordpress 2 Load Balancer
|
||||
* **s-lb-db** : Serveur Mariadb pour Wordpress
|
||||
* **s-nas** : Serveur NFS pour application Wordpress avec LB
|
||||
* **s-kea1** : Serveur DHCP Kea HA 1
|
||||
* **s-kea2** : Serveur DHCP Kea HA 2
|
||||
|
||||
|
||||
## Les playbooks
|
||||
@ -51,8 +53,8 @@ On utilisera les images de machines virtuelle suivantes :
|
||||
* Debian Bookworm 12.4 - 2 cartes - 1 Go - Stockage 20 Go
|
||||
|
||||
et pour **s-fog** :
|
||||
* **debian-buster-2023a.ova** (2023-01-06)
|
||||
* Debian Buster 10 - 2 cartes - 1 Go - stockage 20 Go
|
||||
* **debian-bullseye-2024a.ova** (2024-01-06)
|
||||
* Debian Bullseye 11.8 - 2 cartes - 1 Go - stockage 20 Go
|
||||
|
||||
Les images **.ova** doivent etre stockées dans le répertoire habituel de téléchargement de l'utilisateur courant.
|
||||
|
||||
@ -72,6 +74,10 @@ mkvm -r s-adm
|
||||
```
|
||||
|
||||
### Machine s-adm
|
||||
|
||||
La machine **-sadm** est la première machine à installer.
|
||||
|
||||
|
||||
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
|
||||
* démarrer la VM puis ouvir une session
|
||||
* utiliser le script de renommage comme suit :
|
||||
@ -85,48 +91,49 @@ bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024/pre
|
||||
bash inst-depl
|
||||
cd /var/www/html/gsbstore
|
||||
bash getall
|
||||
cd /root/tools/ansible/gsb024/pre
|
||||
bash gsbboot
|
||||
cd .. ; bash pull-config
|
||||
cd /root/tools/ansible/gsb2024/pre
|
||||
DEPL=192.168.99.99 bash gsbboot
|
||||
cd ../.. ; bash pull-config
|
||||
```
|
||||
- redémarrer
|
||||
- la machine **s-adm** doit etre opérationnelle
|
||||
|
||||
### Pour chaque machine
|
||||
|
||||
#### Etape 1
|
||||
#### Etape 1 - Nommage machine
|
||||
|
||||
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
||||
- ouvrir une session sur la machine considérée
|
||||
- renomme la machine soit
|
||||
- renommer la machine soit
|
||||
* en utilisant le script de renommage comme suit :
|
||||
` /root/tools/ansible/gsb2024/scripts/chname <nouveau_nom_de_machine>`
|
||||
* soit avec :
|
||||
* soit (ici on renomme la machine en **s-infra**) avec :
|
||||
```shell
|
||||
NHOST=mavm
|
||||
sed -i "s/bookworm/${NHOST}/g" /etc/host{s,name}
|
||||
sudo reboot # on redemarre
|
||||
export HOST=s-infra
|
||||
curl 192.168.99.99/gsbstore/inst1|bash
|
||||
reboot # on redemarre
|
||||
```
|
||||
|
||||
#### Etape 2
|
||||
#### Etape 2 - installation outils, depot gsb2024 et lancement playbook
|
||||
|
||||
- utiliser le script **gsb-start** : `bash gsb-start`
|
||||
- ou sinon:
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024/pre
|
||||
DEPL=192.168.99.99 bash gsbboot
|
||||
cd ../..
|
||||
bash pull-config
|
||||
curl 192.168.99.99/gsbstore/inst2|bash
|
||||
```
|
||||
- le script recupere le dépot **gsb2024.git**
|
||||
- il lance ensuite le script **pull-config** avec le script porant le nom de la machine
|
||||
- on peut alors redémarrer
|
||||
|
||||
#### Etape 3
|
||||
#### Etape 3 - Redémarrage et tests
|
||||
|
||||
- redémarrer
|
||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
||||
|
||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration, en particulier la couche réseau et l'adressage.
|
||||
- selon les situations, il est possible qu'un seul playbook ne soit pas suffisant pour installer complètement une machine. Dans ce cas de figure, le second playbook s'appelle **s-machine-post.yml**.
|
||||
Il est à lancer depuis ''tools/ansible/gsb2024'' :
|
||||
```shell
|
||||
ansible-playbook -i localhost, -c local s-machine-post.yml
|
||||
```
|
||||
|
||||
## Les tests
|
||||
|
||||
|
@ -1,21 +1,20 @@
|
||||
file:
|
||||
/etc/wireguard/wg0.conf:
|
||||
exists: true
|
||||
mode: "0644"
|
||||
mode: "0600"
|
||||
owner: root
|
||||
group: root
|
||||
filetype: file
|
||||
contains:
|
||||
- AllowedIPs = 10.0.0.2/32, 172.16.128.0/24
|
||||
contains: []
|
||||
package:
|
||||
wireguard:
|
||||
installed: true
|
||||
versions:
|
||||
- 1.0.20210223-1
|
||||
- 1.0.20210914-1
|
||||
wireguard-tools:
|
||||
installed: true
|
||||
versions:
|
||||
- 1.0.20210223-1
|
||||
- 1.0.20210914-1+b1
|
||||
service:
|
||||
wg-quick@wg0:
|
||||
enabled: true
|
||||
|
@ -1,7 +1,8 @@
|
||||
file:
|
||||
/etc/wireguard/wg0.conf:
|
||||
exists: true
|
||||
mode: "0644"
|
||||
mode: "0600"
|
||||
size: 374
|
||||
owner: root
|
||||
group: root
|
||||
filetype: file
|
||||
@ -10,11 +11,11 @@ package:
|
||||
wireguard:
|
||||
installed: true
|
||||
versions:
|
||||
- 1.0.20210223-1
|
||||
- 1.0.20210914-1
|
||||
wireguard-tools:
|
||||
installed: true
|
||||
versions:
|
||||
- 1.0.20210223-1
|
||||
- 1.0.20210914-1+b1
|
||||
service:
|
||||
isc-dhcp-server:
|
||||
enabled: true
|
||||
|
@ -1,6 +1,18 @@
|
||||
file:
|
||||
/var/www/html/gsbstore/getall:
|
||||
exists: true
|
||||
mode: "0644"
|
||||
owner: root
|
||||
group: root
|
||||
filetype: file
|
||||
contents: []
|
||||
package:
|
||||
dnsmasq:
|
||||
installed: true
|
||||
lighttpd:
|
||||
installed: true
|
||||
versions:
|
||||
- 1.4.69-1
|
||||
squid:
|
||||
installed: true
|
||||
addr:
|
||||
@ -12,10 +24,18 @@ port:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp:80:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
tcp6:80:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
udp:53:
|
||||
listening: true
|
||||
ip:
|
||||
@ -32,6 +52,9 @@ service:
|
||||
dnsmasq:
|
||||
enabled: true
|
||||
running: true
|
||||
lighttpd:
|
||||
enabled: true
|
||||
running: true
|
||||
squid:
|
||||
enabled: true
|
||||
running: true
|
||||
@ -61,6 +84,8 @@ dns:
|
||||
process:
|
||||
dnsmasq:
|
||||
running: true
|
||||
lighttpd:
|
||||
running: true
|
||||
squid:
|
||||
running: true
|
||||
interface:
|
||||
|
103
goss/s-fog.yaml
103
goss/s-fog.yaml
@ -1,28 +1,77 @@
|
||||
interface:
|
||||
enp0s3:
|
||||
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
|
||||
file:
|
||||
/tftpboot/default.ipxe:
|
||||
exists: true
|
||||
mode: "0644"
|
||||
owner: root
|
||||
group: root
|
||||
filetype: file
|
||||
contains: []
|
||||
contents: null
|
||||
package:
|
||||
apache2:
|
||||
installed: true
|
||||
versions:
|
||||
- 2.4.56-1~deb11u2
|
||||
isc-dhcp-server:
|
||||
installed: true
|
||||
versions:
|
||||
- 4.4.1-2.3+deb11u2
|
||||
mariadb-server:
|
||||
installed: true
|
||||
versions:
|
||||
- 1:10.5.21-0+deb11u1
|
||||
tftpd-hpa:
|
||||
installed: true
|
||||
versions:
|
||||
- 5.2+20150808-1.2
|
||||
port:
|
||||
tcp:80:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp:443:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp:67:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp:69:
|
||||
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
|
||||
stdout:
|
||||
- 0% packet loss
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
ping -c 4 google.fr:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- 0% packet loss
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
ping -c 4 192.168.99.99:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- 0% packet loss
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
ping -c 4 google.fr:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- 0% packet loss
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
process:
|
||||
apache2:
|
||||
running: true
|
||||
interface:
|
||||
enp0s9:
|
||||
exists: true
|
||||
addrs:
|
||||
- 172.16.64.16/24
|
||||
|
@ -1,3 +1,6 @@
|
||||
#package:
|
||||
# systemd-journal-remote:
|
||||
# installed: true
|
||||
file:
|
||||
/var/www/html/glpi:
|
||||
exists: true
|
||||
@ -6,7 +9,7 @@ file:
|
||||
group: www-data
|
||||
filetype: directory
|
||||
|
||||
/var/www/html/ficlients:
|
||||
/var/www/html/glpicli:
|
||||
exists: true
|
||||
mode: "0775"
|
||||
owner: www-data
|
||||
@ -18,13 +21,17 @@ file:
|
||||
mode: "0777"
|
||||
filetype: directory
|
||||
|
||||
/var/www/html/glpicli/GLPI-Agent-1.7-x64.msi:
|
||||
exists: true
|
||||
#mode: "0777"
|
||||
filetype: file
|
||||
|
||||
/var/www/html/index.nginx-debian.html:
|
||||
exists: true
|
||||
mode: "0775"
|
||||
owner: www-data
|
||||
group: www-data
|
||||
filetype: file
|
||||
|
||||
service:
|
||||
mariadb:
|
||||
enabled: true
|
||||
@ -34,3 +41,19 @@ service:
|
||||
enabled: true
|
||||
running: true
|
||||
|
||||
zabbix-agent:
|
||||
enable: true
|
||||
running: true
|
||||
|
||||
systemd-journal-upload.service:
|
||||
enabled: true
|
||||
running: true
|
||||
port:
|
||||
tcp:10050:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp:10050:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
|
@ -1,36 +1,63 @@
|
||||
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
|
||||
systemd-journal-remote:
|
||||
installed: true
|
||||
file:
|
||||
/etc/systemd/system/systemd-journal-remote.service:
|
||||
exist: true
|
||||
mode: "0777"
|
||||
filetype: directory
|
||||
/var/log/journal/remote:
|
||||
exist: true
|
||||
mode: "0777"
|
||||
filetype: directory
|
||||
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
|
||||
tcp:19532:
|
||||
listening: true
|
||||
ip:
|
||||
- '*'
|
||||
service:
|
||||
apache2:
|
||||
enabled: true
|
||||
running: true
|
||||
nagios4:
|
||||
zabbix-server:
|
||||
enabled: true
|
||||
running: true
|
||||
zabbix-agent:
|
||||
enabled: true
|
||||
running: true
|
||||
systemd-journal-remote.socket:
|
||||
enabled: true
|
||||
running: true
|
||||
command:
|
||||
@ -43,7 +70,9 @@ command:
|
||||
process:
|
||||
apache2:
|
||||
running: true
|
||||
nagios4:
|
||||
zabbix_server:
|
||||
running: true
|
||||
mariadb:
|
||||
running: true
|
||||
interface:
|
||||
enp0s3:
|
||||
@ -55,7 +84,7 @@ interface:
|
||||
addrs:
|
||||
- 172.16.0.8/24
|
||||
http:
|
||||
http://localhost/nagios4:
|
||||
http://localhost/zabbix:
|
||||
status: 401
|
||||
allow-insecure: false
|
||||
no-follow-redirects: false
|
||||
|
83
localhost,
83
localhost,
@ -1,83 +0,0 @@
|
||||
# Ce fichier viminfo a été généré par Vim 9.0.
|
||||
# Vous pouvez l'éditer, mais soyez prudent.
|
||||
|
||||
# Viminfo version
|
||||
|1,4
|
||||
|
||||
# 'encoding' dans lequel ce fichier a été écrit
|
||||
*encoding=utf-8
|
||||
|
||||
|
||||
# hlsearch on (H) or off (h):
|
||||
~h
|
||||
# Historique ligne de commande (chronologie décroissante) :
|
||||
:q!
|
||||
|2,0,1703236388,,"q!"
|
||||
:x
|
||||
|2,0,1703236381,,"x"
|
||||
:x!
|
||||
|2,0,1703236221,,"x!"
|
||||
|
||||
# Historique chaîne de recherche (chronologie décroissante) :
|
||||
|
||||
# Historique expression (chronologie décroissante) :
|
||||
|
||||
# Historique ligne de saisie (chronologie décroissante) :
|
||||
|
||||
# Historique Ligne de débogage (chronologie décroissante) :
|
||||
|
||||
# Registres :
|
||||
""1 LINE 0
|
||||
connection: local
|
||||
|3,1,1,1,1,0,1703236374," connection: local"
|
||||
"2 LINE 0
|
||||
hosts: localhost
|
||||
|3,0,2,1,1,0,1703236374," hosts: localhost"
|
||||
|
||||
# Marques dans le fichier :
|
||||
'0 1 2 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,48,1,2,1703236388,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'1 1 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,49,1,9,1703236339,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'2 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,50,9,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'3 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,51,9,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'4 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,52,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'5 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,53,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'6 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,54,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'7 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,55,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'8 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,56,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
'9 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,57,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
|
||||
# Liste de sauts (le plus récent en premier) :
|
||||
-' 1 2 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,1,2,1703236388,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
-' 1 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,1,9,1703236339,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
-' 9 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,9,9,1703236318,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
-' 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,11,9,1703236318,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
-' 11 9 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,11,9,1703236221,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
-' 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,1,13,1703236018,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
-' 1 13 ~/tools/ansible/gsb2024/s-mon.yml
|
||||
|4,39,1,13,1703236013,"~/tools/ansible/gsb2024/s-mon.yml"
|
||||
|
||||
# Historique des marques dans les fichiers (les plus récentes en premier) :
|
||||
|
||||
> ~/tools/ansible/gsb2024/s-mon.yml
|
||||
* 1703236386 0
|
||||
" 1 2
|
||||
^ 9 10
|
||||
. 2 0
|
||||
+ 10 0
|
||||
+ 2 0
|
@ -1,77 +0,0 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# All Vagrant configuration is done below. The "2" in Vagrant.configure
|
||||
# configures the configuration version (we support older styles for
|
||||
# backwards compatibility). Please don't change it unless you know what
|
||||
# you're doing.
|
||||
Vagrant.configure("2") do |config|
|
||||
# The most common configuration options are documented and commented below.
|
||||
# For a complete reference, please see the online documentation at
|
||||
# https://docs.vagrantup.com.
|
||||
|
||||
# Every Vagrant development environment requires a box. You can search for
|
||||
# boxes at https://vagrantcloud.com/search.
|
||||
config.vm.box = "debian/buster64"
|
||||
config.vm.hostname = "s-adm"
|
||||
config.vm.define "s-adm"
|
||||
config.vm.provider :virtualbox do |vb|
|
||||
vb.name = "s-adm"
|
||||
end
|
||||
# Disable automatic box update checking. If you disable this, then
|
||||
# boxes will only be checked for updates when the user runs
|
||||
# `vagrant box outdated`. This is not recommended.
|
||||
# config.vm.box_check_update = false
|
||||
|
||||
# Create a forwarded port mapping which allows access to a specific port
|
||||
# within the machine from a port on the host machine. In the example below,
|
||||
# accessing "localhost:8080" will access port 80 on the guest machine.
|
||||
# NOTE: This will enable public access to the opened port
|
||||
# config.vm.network "forwarded_port", guest: 80, host: 8080
|
||||
|
||||
# Create a forwarded port mapping which allows access to a specific port
|
||||
# within the machine from a port on the host machine and only allow access
|
||||
# via 127.0.0.1 to disable public access
|
||||
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
|
||||
|
||||
# Create a private network, which allows host-only access to the machine
|
||||
# using a specific IP.
|
||||
config.vm.network "public_network", ip: "192.168.1.91"
|
||||
config.vm.network "private_network", ip: "192.168.99.99"
|
||||
|
||||
# Create a public network, which generally matched to bridged network.
|
||||
# Bridged networks make the machine appear as another physical device on
|
||||
# your network.
|
||||
# config.vm.network "public_network"
|
||||
|
||||
# Share an additional folder to the guest VM. The first argument is
|
||||
# the path on the host to the actual folder. The second argument is
|
||||
# the path on the guest to mount the folder. And the optional third
|
||||
# argument is a set of non-required options.
|
||||
# config.vm.synced_folder "../data", "/vagrant_data"
|
||||
|
||||
# Provider-specific configuration so you can fine-tune various
|
||||
# backing providers for Vagrant. These expose provider-specific options.
|
||||
# Example for VirtualBox:
|
||||
#
|
||||
# config.vm.provider "virtualbox" do |vb|
|
||||
# # Display the VirtualBox GUI when booting the machine
|
||||
# vb.gui = true
|
||||
#
|
||||
# # Customize the amount of memory on the VM:
|
||||
# vb.memory = "1024"
|
||||
# end
|
||||
#
|
||||
# View the documentation for the provider you are using for more
|
||||
# information on available options.
|
||||
|
||||
# Enable provisioning with a shell script. Additional provisioners such as
|
||||
# Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
|
||||
# documentation for more information about their specific syntax and use.
|
||||
config.vm.provision "shell", inline: <<-SHELL
|
||||
apt-get update
|
||||
apt-get upgrade
|
||||
apt-get install -y vim wget curl
|
||||
# apt-get install -y apache2
|
||||
SHELL
|
||||
end
|
0
pre/gsbboot
Normal file → Executable file
0
pre/gsbboot
Normal file → Executable file
72
pre/inst-depl
Normal file → Executable file
72
pre/inst-depl
Normal file → Executable file
@ -2,49 +2,51 @@
|
||||
## aa : 2023-01-18 15:25
|
||||
## ps : 2023-02-01 15:25
|
||||
## ps : 2023-12-18 15:25
|
||||
## ps : 2024-01-17 15:25
|
||||
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
GITUSR=gitgsb
|
||||
GITPRJ=gsb2024
|
||||
apt-get update
|
||||
apt-get install -y apache2 git
|
||||
apt-get install -y lighttpd git
|
||||
STOREREP="/var/www/html/gsbstore"
|
||||
|
||||
|
||||
GLPIREL=10.0.11
|
||||
str="wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
|
||||
str="wget -nc -4 https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
|
||||
|
||||
#GLPI Agent
|
||||
|
||||
GLPIAGVER=1.7
|
||||
str31="wget -nc https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x64.msi"
|
||||
str31="wget -nc -4 https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x64.msi"
|
||||
|
||||
#str32="wget -nc https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x86.msi"
|
||||
#str32="wget -nc -4 https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x86.msi"
|
||||
|
||||
FOGREL=1.5.10
|
||||
str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
|
||||
str4="wget -nc -4 https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
|
||||
|
||||
WPREL=6.4.2
|
||||
#v6.1.1 le 17/01/2023
|
||||
str5="wget -nc https://fr.wordpress.org/latest-fr_FR.tar.gz -O wordpress-6.4.2-fr_FR.tar.gz"
|
||||
str5="wget -nc -4 https://fr.wordpress.org/latest-fr_FR.tar.gz -O wordpress-6.4.2-fr_FR.tar.gz"
|
||||
|
||||
str6="curl -L https://github.com/goss-org/goss/releases/latest/download/goss-linux-amd64 -o goss"
|
||||
str6="wget -nc -4 https://github.com/goss-org/goss/releases/latest/download/goss-linux-amd64 -O goss"
|
||||
|
||||
str7="curl -L https://github.com/goss-org/goss/releases/latest/download/dgoss -o dgoss"
|
||||
str7="wget -nc -4 https://github.com/goss-org/goss/releases/latest/download/dgoss -O dgoss"
|
||||
|
||||
#GESTSUPREL=3.2.30
|
||||
#str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
|
||||
str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
|
||||
#str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
|
||||
str8="wget -nc -4 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
|
||||
|
||||
#METRICBEAT ET FILEBEAT
|
||||
ELKREL=8.11.3
|
||||
str81="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
|
||||
str82="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
|
||||
str83="wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip"
|
||||
str84="wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-amd64.deb"
|
||||
str81="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
|
||||
str82="wget -nc -4 https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
|
||||
str83="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-windows-x86_64.zip"
|
||||
str84="wget -nc -4 https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-amd64.deb"
|
||||
|
||||
|
||||
[[ -d "${STOREREP}" ]]|| mkdir "${STOREREP}"
|
||||
[[ -d "${STOREREP}" ]] || mkdir "${STOREREP}"
|
||||
|
||||
(cat <<EOT > "${STOREREP}/getall"
|
||||
#!/bin/bash
|
||||
@ -58,13 +60,13 @@ ${str7}
|
||||
|
||||
chmod +x ./goss ./dgoss
|
||||
|
||||
curl -L https://get.docker.com -o getdocker.sh
|
||||
wget -nc -4 https://get.docker.com -O getdocker.sh
|
||||
chmod +x ./getdocker.sh
|
||||
|
||||
wget -nc https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64 -O mkcert
|
||||
wget -nc -4 https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64 -O mkcert
|
||||
chmod +x ./mkcert
|
||||
|
||||
${str8}
|
||||
#${str8}
|
||||
|
||||
${str81}
|
||||
${str82}
|
||||
@ -75,3 +77,37 @@ EOT
|
||||
)
|
||||
|
||||
cat "${STOREREP}/getall"
|
||||
|
||||
cd "${STOREREP}" || exit 2
|
||||
bash getall
|
||||
cp goss /usr/local/bin
|
||||
|
||||
(cat <<'EOT' > "${STOREREP}/inst1"
|
||||
#!/bin/bash
|
||||
if [[ -z "${HOST+x}" ]]; then
|
||||
echo "erreur : variable HOST indefinie"
|
||||
echo " HOST : adresse serveur deploiement"
|
||||
echo "export HOST=s-xyzt ; ./$0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
hostname=$(hostname)
|
||||
echo "${HOST}" > /etc/hostname
|
||||
hostnamectl set-hostname "${HOST}"
|
||||
sed -i "s/${hostname}/${HOST}/g" /etc/hosts
|
||||
echo "vous pouvez redemarrer ..."
|
||||
EOT
|
||||
)
|
||||
|
||||
(cat <<'EOT' > "${STOREREP}/inst2"
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p ~/tools/ansible ; cd ~/tools/ansible
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024/pre
|
||||
DEPL=192.168.99.99 bash gsbboot
|
||||
cd ../.. ; bash pull-config
|
||||
EOT
|
||||
)
|
||||
|
||||
|
||||
|
@ -1,48 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
GITUSR=gitgsb
|
||||
GITPRJ=gsb
|
||||
apt update && apt upgrade
|
||||
apt install -y apache2 git
|
||||
getent passwd "${GITUSR}" >> /dev/null
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "creation utilisateur "${GITUSR}" ..."
|
||||
/sbin/useradd -m -d /home/"${GITUSR}" -s /bin/bash "${GITUSR}"
|
||||
echo "${GITUSR}:${GITUSR}" | /sbin/chpasswd
|
||||
else
|
||||
echo "utilisateur "${GITUSR}" existant..."
|
||||
fi
|
||||
su -c "git init --share --bare /home/${GITUSR}/${GITPRJ}.git" "${GITUSR}"
|
||||
su -c "cd ${GITPRJ}.git/.git/hooks && mv post-update.sample post-update" "${GITUSR}"
|
||||
[[ -h /var/www/html/"${GITPRJ}".git ]]|| ln -s /home/"${GITUSR}"/"${GITPRJ}".git /var/www/html/"${GITPRJ}".git
|
||||
[[ -d /var/www/html/gsbstore ]]|| mkdir /var/www/html/gsbstore
|
||||
|
||||
(cat <<EOT > /var/www/html/gsbstore/getall
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
|
||||
GLPIREL=9.4.5
|
||||
wget -nc https://github.com/glpi-project/glpi/releases/download/\${GLPIREL}/glpi-\${GLPIREL}.tgz
|
||||
|
||||
FIREL=9.4+2.4
|
||||
wget -nc -O fusioninventory-glpi\${FIREL}.tag.gz https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi\${FIREL}.tar.gz
|
||||
#https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi9.4+2.4.tar.g
|
||||
|
||||
FIAGREL=2.5.2
|
||||
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\${FIAGREL}/fusioninventory-agent_windows-x64_\${FIAGREL}.exe
|
||||
|
||||
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\$FIAGREL/fusioninventory-agent_windows-x86_\${FIAGREL}.exe
|
||||
|
||||
FOGREL=1.5.7
|
||||
wget -nc https://github.com/FOGProject/fogproject/archive/\${FOGREL}.tar.gz -O fogproject-\${FOGREL}.tar.gz
|
||||
|
||||
wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
|
||||
|
||||
EOT
|
||||
)
|
||||
cat /var/www/html/gsbstore/getall
|
||||
|
8
pre/pull-config
Normal file → Executable file
8
pre/pull-config
Normal file → Executable file
@ -14,15 +14,15 @@ dir=/root/tools/ansible
|
||||
|
||||
cd "${dir}" || exit 1
|
||||
|
||||
hostname > hosts
|
||||
if [[ $# == 1 ]] ; then
|
||||
opt=$1
|
||||
fi
|
||||
if [[ "${opt}" == '-l' ]] ; then
|
||||
cd "${dir}/${prj}" || exit 2
|
||||
ansible-playbook -i localhost, -c local "$(hostname).yml"
|
||||
cd "${dir}/${prj}" || exit 2
|
||||
echo "Execution locale ...."
|
||||
ansible-playbook -i localhost, -c local "$(hostname).yml"
|
||||
else
|
||||
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
|
||||
ansible-pull -i "$(hostname)," -U "${UREP}"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
16
pull-config
16
pull-config
@ -1,5 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
dir=/root/tools/ansible
|
||||
prj=gsb2024
|
||||
opt=""
|
||||
|
||||
if [ -z ${UREP+x} ]; then
|
||||
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
fi
|
||||
@ -10,7 +14,15 @@ dir=/root/tools/ansible
|
||||
|
||||
cd "${dir}" || exit 1
|
||||
|
||||
hostname > hosts
|
||||
ansible-pull -i "${dir}/hosts" -C main -U "${UREP}"
|
||||
if [[ $# == 1 ]] ; then
|
||||
opt=$1
|
||||
fi
|
||||
if [[ "${opt}" == '-l' ]] ; then
|
||||
cd "${dir}/${prj}" || exit 2
|
||||
echo "Execution locale ...."
|
||||
ansible-playbook -i localhost, -c local "$(hostname).yml"
|
||||
else
|
||||
ansible-pull -i "$(hostname)," -U "${UREP}"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
@ -1,8 +1,14 @@
|
||||
---
|
||||
|
||||
- name: desactive unatentted upgrade
|
||||
ansible.builtin.service:
|
||||
name: unattended-upgrades.service
|
||||
state: stopped
|
||||
enabled: false
|
||||
|
||||
- name: Copie sources.list
|
||||
copy:
|
||||
src: sources.list.{{ ansible_distribution }}
|
||||
src: sources.list.{{ ansible_distribution_release }}
|
||||
dest: /etc/apt/sources.list
|
||||
|
||||
- name: Copie apt.conf pour proxy
|
||||
@ -74,3 +80,4 @@
|
||||
- net.ipv6.conf.all.disable_ipv6
|
||||
- net.ipv6.conf.default.disable_ipv6
|
||||
- net.ipv6.conf.lo.disable_ipv6
|
||||
|
||||
|
@ -22,6 +22,8 @@
|
||||
192.168.99.14 s-nas.gsb.adm
|
||||
192.168.99.15 s-san.gsb.adm
|
||||
192.168.99.16 s-fog.gsb.adm
|
||||
192.168.99.20 s-kea1.gsb.adm
|
||||
192.168.99.21 s-kea2.gsb.adm
|
||||
192.168.99.50 s-lb-bd.gsb.adm
|
||||
192.168.99.101 s-lb-web1.gsb.adm
|
||||
192.168.99.102 s-lb-web2.gsb.adm
|
||||
|
@ -21,6 +21,8 @@
|
||||
192.168.99.12 r-int.gsb.adm
|
||||
192.168.99.13 r-ext.gsb.adm
|
||||
192.168.99.14 s-nas.gsb.adm
|
||||
192.168.99.20 s-kea1.gsb.adm
|
||||
192.168.99.21 s-kea2.gsb.adm
|
||||
192.168.99.50 s-lb-bd.gsb.adm
|
||||
192.168.99.101 s-lb-web1.gsb.adm
|
||||
192.168.99.102 s-lb-web2.gsb.adm
|
||||
|
@ -120,7 +120,7 @@ subnet 172.16.65.0 netmask 255.255.255.0 {
|
||||
#DHCP pour le réseau USER
|
||||
|
||||
subnet 172.16.64.0 netmask 255.255.255.0 {
|
||||
range 172.16.64.20 172.16.64.120;
|
||||
range 172.16.64.100 172.16.64.150;
|
||||
option domain-name-servers 172.16.0.1 ;
|
||||
option routers 172.16.64.254;
|
||||
option broadcast-address 172.16.64.255;
|
||||
|
@ -5,7 +5,7 @@
|
||||
;
|
||||
$TTL 604800
|
||||
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
||||
2023051000 ; Serial
|
||||
2024011500 ; Serial
|
||||
7200 ; Refresh
|
||||
86400 ; Retry
|
||||
8419200 ; Expire
|
||||
@ -27,6 +27,8 @@ s-mon IN A 172.16.0.8
|
||||
s-itil IN A 172.16.0.9
|
||||
s-elk IN A 172.16.0.11
|
||||
s-gestsup IN A 172.16.0.17
|
||||
s-kea1 IN A 172.16.0.20
|
||||
s-kea2 IN A 172.16.0.21
|
||||
r-int IN A 172.16.0.254
|
||||
r-int-lnk IN A 192.168.200.254
|
||||
r-ext IN A 192.168.200.253
|
||||
|
@ -5,7 +5,7 @@
|
||||
;
|
||||
$TTL 604800
|
||||
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
||||
2023040501 ; Serial
|
||||
2024011500 ; Serial
|
||||
7200 ; Refresh
|
||||
86400 ; Retry
|
||||
8419200 ; Expire
|
||||
@ -21,6 +21,8 @@ $TTL 604800
|
||||
7.0 IN PTR s-nxc.gsb.lan.
|
||||
8.0 IN PTR s-mon.gsb.lan.
|
||||
9.0 IN PTR s-itil.gsb.lan.
|
||||
20.0 IN PTR s-kea1.gsb.lan.
|
||||
21.0 IN PTR s-kea2.gsb.lan.
|
||||
101.1 IN PTR s-web1
|
||||
101.2 IN PTR s-web2
|
||||
100.10 IN PTR s-lb
|
||||
|
@ -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**.
|
||||
|
||||
Fog permet le déploiement d'images disque tel que Windows ou bien Linux en utilisant PXE (Preboot Execution Environment).
|
||||
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).
|
||||
|
||||
## Comment l'installer et le configurer ?
|
||||
|
||||
## Comment l'installer ?
|
||||
### Prérequis:
|
||||
|
||||
Mettre au moins 4GB de mémoire.
|
||||
|
||||
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**
|
||||
### Etape 1:
|
||||
|
||||
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/** à partir d'un poste étant dans le bon réseau 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**.
|
||||
|
@ -1,3 +1,3 @@
|
||||
depl_url: "http://s-adm.gsb.adm/gsbstore"
|
||||
depl_fog: "fogproject-1.5.9.tar.gz"
|
||||
depl_fog: "fogproject-1.5.10.tar.gz"
|
||||
instructions: "Pour lancer l'installateur Fog, faites : 'bash /root/tools/fog/bin/installfog.sh'. Suivez ensuite les instructions"
|
||||
|
46
roles/fog/files/.fogsettings.single-if
Normal file
46
roles/fog/files/.fogsettings.single-if
Normal file
@ -0,0 +1,46 @@
|
||||
## Start of FOG Settings
|
||||
## Created by the FOG Installer
|
||||
## Find more information about this file in the FOG Project wiki:
|
||||
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
|
||||
## Version: 1.5.10
|
||||
## Install time: mar. 16 janv. 2024 15:27:57
|
||||
ipaddress='192.168.99.100'
|
||||
copybackold='0'
|
||||
interface='enp0s3'
|
||||
submask='255.255.255.0'
|
||||
hostname='s-fog.gsb.lan'
|
||||
routeraddress='192.168.99.99'
|
||||
plainrouter='192.168.99.99'
|
||||
dnsaddress='192.168.99.99'
|
||||
username='fogproject'
|
||||
password='zbSw#FaGPS7O1bJ5tpfj'
|
||||
osid='2'
|
||||
osname='Debian'
|
||||
dodhcp='Y'
|
||||
bldhcp='0'
|
||||
dhcpd='isc-dhcp-server'
|
||||
blexports='1'
|
||||
installtype='N'
|
||||
snmysqluser='fogmaster'
|
||||
snmysqlpass='cbZjO*gCONbbldV4a6l1'
|
||||
snmysqlhost='localhost'
|
||||
mysqldbname='fog'
|
||||
installlang='0'
|
||||
storageLocation='/images'
|
||||
fogupdateloaded=1
|
||||
docroot='/var/www/html/'
|
||||
webroot='/fog/'
|
||||
caCreated='yes'
|
||||
httpproto='http'
|
||||
startrange=''
|
||||
endrange=''
|
||||
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage git gzip htmldoc 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-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=''
|
||||
php_ver='7.4'
|
||||
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
|
||||
sendreports='Y'
|
||||
## End of FOG Settings
|
@ -2,18 +2,18 @@
|
||||
## Created by the FOG Installer
|
||||
## Find more information about this file in the FOG Project wiki:
|
||||
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
|
||||
## Version: 1.5.9
|
||||
## Install time: jeu. 26 janv. 2023 11:41:05
|
||||
ipaddress='172.16.64.16'
|
||||
## Version: 1.5.10
|
||||
## Install time: Mon Jan 15 23:16:31 2024
|
||||
ipaddress='172.16.0.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'
|
||||
hostname='s-fog'
|
||||
routeraddress='172.16.64.254'
|
||||
plainrouter='172.16.64.254'
|
||||
dnsaddress='172.16.0.1'
|
||||
username='fogproject'
|
||||
password='/7ElC1OHrP47EN2w59xl'
|
||||
password='0lEyBKxcrQxseHLB#Cbg'
|
||||
osid='2'
|
||||
osname='Debian'
|
||||
dodhcp='y'
|
||||
@ -22,25 +22,27 @@ dhcpd='isc-dhcp-server'
|
||||
blexports='1'
|
||||
installtype='N'
|
||||
snmysqluser='fogmaster'
|
||||
snmysqlpass='HHO5vSGqFiHE_9d2lja3'
|
||||
snmysqlpass='DQG@4PU31F9vOE4bX6V2'
|
||||
snmysqlhost='localhost'
|
||||
mysqldbname='fog'
|
||||
installlang='0'
|
||||
installlang='1'
|
||||
storageLocation='/images'
|
||||
fogupdateloaded=1
|
||||
docroot='/var/www/html/'
|
||||
webroot='/fog/'
|
||||
caCreated='yes'
|
||||
httpproto='http'
|
||||
startrange='172.16.64.10'
|
||||
endrange='172.16.64.254'
|
||||
httpproto='https'
|
||||
startrange='172.16.64.120'
|
||||
endrange='172.16.64.140'
|
||||
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>
|
||||
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 tftp-hpa tftpd-hpa unzip vsftpd wget zlib1g'
|
||||
noTftpBuild=''
|
||||
tftpAdvOpts=''
|
||||
sslpath='/opt/fog/snapins/ssl/'
|
||||
backupPath='/home/'
|
||||
#backupPath='/home/'
|
||||
armsupport='0'
|
||||
php_ver='7.4'
|
||||
php_verAdds='-7.4'
|
||||
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
|
||||
sendreports='N'
|
||||
## End of FOG Settings
|
||||
|
||||
|
49
roles/fog/files/fogsettings.old
Normal file
49
roles/fog/files/fogsettings.old
Normal file
@ -0,0 +1,49 @@
|
||||
## Start of FOG Settings
|
||||
## Created by the FOG Installer
|
||||
## Find more information about this file in the FOG Project wiki:
|
||||
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
|
||||
## Version: 1.5.10
|
||||
## Install time: jeu. 11 janv. 2024
|
||||
## Install time: jeu. 11 janv. 2024 11:41:05
|
||||
ipaddress='172.16.64.16'
|
||||
copybackold='0'
|
||||
interface='enp0s9'
|
||||
submask='255.255.255.0'
|
||||
hostname='s-fog.gsb.lan'
|
||||
routeraddress='172.16.64.254'
|
||||
plainrouter='172.16.64.254'
|
||||
dnsaddress='172.16.0.1'
|
||||
username='fogproject'
|
||||
password='/7ElC1OHrP47EN2w59xl'
|
||||
osid='2'
|
||||
osname='Debian'
|
||||
dodhcp='y'
|
||||
bldhcp='1'
|
||||
dhcpd='isc-dhcp-server'
|
||||
blexports='1'
|
||||
installtype='N'
|
||||
snmysqluser='fogmaster'
|
||||
snmysqlpass='HHO5vSGqFiHE_9d2lja3'
|
||||
snmysqlhost='localhost'
|
||||
mysqldbname='fog'
|
||||
installlang='1'
|
||||
storageLocation='/images'
|
||||
fogupdateloaded=1
|
||||
docroot='/var/www/'
|
||||
webroot='/fog/'
|
||||
caCreated='yes'
|
||||
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 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'
|
||||
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
|
||||
sendreports='Y'
|
||||
## End of FOG Settings
|
51
roles/fog/files/fogsettings1
Normal file
51
roles/fog/files/fogsettings1
Normal file
@ -0,0 +1,51 @@
|
||||
## Start of FOG Settings
|
||||
## Created by the FOG Installer
|
||||
## Find more information about this file in the FOG Project wiki:
|
||||
## https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
|
||||
## Version: 1.5.10
|
||||
## Install time: Mon Jan 15 23:16:31 2024
|
||||
ipaddress='192.168.56.10'
|
||||
copybackold='0'
|
||||
interface='eth2'
|
||||
submask='255.255.255.0'
|
||||
hostname='fog'
|
||||
routeraddress='192.168.1.1'
|
||||
plainrouter='192.168.1.1'
|
||||
dnsaddress='192.168.1.1'
|
||||
username='fogproject'
|
||||
password='0lEyBKxcrQxseHLB#Cbg'
|
||||
osid='2'
|
||||
osname='Debian'
|
||||
dodhcp='y'
|
||||
bldhcp='1'
|
||||
dhcpd='isc-dhcp-server'
|
||||
blexports='1'
|
||||
installtype='N'
|
||||
snmysqluser='fogmaster'
|
||||
snmysqlpass='DQG@4PU31F9vOE4bX6V2'
|
||||
snmysqlhost='localhost'
|
||||
mysqldbname='fog'
|
||||
installlang='1'
|
||||
storageLocation='/images'
|
||||
fogupdateloaded=1
|
||||
docroot='/var/www/html/'
|
||||
webroot='/fog/'
|
||||
caCreated='yes'
|
||||
httpproto='https'
|
||||
startrange='192.168.56.10'
|
||||
endrange='192.168.56.254'
|
||||
packages='apache2 bc build-essential cpp curl g++ gawk gcc genisoimage gettext git gzip htmldoc i
|
||||
sc-dhcp-server isolinux lftp libapache2-mod-php libc6 libcurl4 liblzma-dev m4 mariadb-client mari
|
||||
adb-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 tftp-hpa tftpd-hpa unzip vsftpd wget zl
|
||||
ib1g '
|
||||
noTftpBuild=''
|
||||
tftpAdvOpts=''
|
||||
sslpath='/opt/fog/snapins/ssl/'
|
||||
backupPath='/home/'
|
||||
armsupport='0'
|
||||
php_ver='7.4'
|
||||
sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
|
||||
sendreports='N'
|
||||
## End of FOG Settings
|
||||
|
@ -1,26 +1,54 @@
|
||||
---
|
||||
- name: creation d'un repertoire fog
|
||||
- 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: creation /root/tmp
|
||||
file:
|
||||
path: /root/tools/fog
|
||||
path: /root/tmp
|
||||
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: fichier config fogsettings
|
||||
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
|
||||
copy:
|
||||
src: fogsettings
|
||||
dest: /root/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: "/root/tmp/"
|
||||
|
||||
- name: Décompression de l'archive
|
||||
ansible.builtin.unarchive:
|
||||
src: "/root/tmp/{{ depl_fog }}"
|
||||
dest: "/root/tmp/"
|
||||
|
||||
- name: Exécution du script d'installation Fog
|
||||
ansible.builtin.shell: sudo bash /root/tmp/fogproject-1.5.10/bin/installfog.sh --recreate-keys -f /root/tmp/fogsettings -y
|
||||
args:
|
||||
chdir: "/root/tmp/fogproject-1.5.10/"
|
||||
|
||||
|
@ -1,44 +1,93 @@
|
||||
## Comment marche le rôle
|
||||
## Comment fonctionne le rôle
|
||||
|
||||
Le rôle installe un serveur GLPI fonctionnant graĉe à php et à nginx.
|
||||
Ce rôle permet aussi d'installer FusionInventory sur glpi.
|
||||
Le rôle permet aussi de sauvegarde la BDD de glpi.
|
||||
Ce rôle permet aussi de télécharger l'agent GLPI sur glpi.
|
||||
Le rôle permet de créer la base GLPI.
|
||||
|
||||
## Comment utiliser GLPI
|
||||
|
||||
Après le pull-config, aller sur une machine du réseau n-user et aller sur http://s-itil/install/install.php
|
||||
Puis lancer l'installation, les paramètres sql à fournir sont :
|
||||
serveur : localhost
|
||||
utilisateur : glpi
|
||||
mot de passe : glpi
|
||||
Selectionner la base glpi
|
||||
Après le pull-config, depuis une machine du réseau n-user, se rendre sur l'URL : *http://s-itil.gsb.lan*
|
||||
Puis lancer l'installation, les paramètres sql à fournir sont les suivant :
|
||||
* serveur : **localhost**
|
||||
* utilisateur : **glpi**
|
||||
* mot de passe : **glpi**
|
||||
* Selectionner la base **glpi**
|
||||
|
||||
Ne pas envoyer de statistique d'usage
|
||||
|
||||
|
||||
## Postfix :
|
||||
|
||||
Aller dans Configuration > Notification, activer le suivi et les notification
|
||||
Postfix est utilisé pour renvoyer des messages pour assuré le suivi de l'avancement du ticket.
|
||||
|
||||
Aller dans **Configuration > Notification**, activer le suivi et les notification
|
||||
Aller dans Configuration des notifications par courriels
|
||||
Mettre l'adresse mail de supervision dans : Courriel de l'administrateur, Courriel expéditeur et comme adresse de réponse
|
||||
Le mode d'envoie des courriels est SMTP
|
||||
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
|
||||
|
||||
*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
|
||||
|
||||
## Enregistrements A et PTR pour S-WIN :
|
||||
|
||||
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
|
||||
|
||||
Cocher la case **Créer un pointeur d'enregistrement PTR associé**
|
||||
|
||||
|
||||
## LDAP :
|
||||
|
||||
Aller dans Configuration > Authentification > Annuaires LDAP.
|
||||
Ajouter un serveur en cliquant sur le +
|
||||
Remplisser les cases:
|
||||
Nom : s-win
|
||||
Serveur par défaut : oui
|
||||
Actif : oui
|
||||
Serveur : s-win.gsb.lan
|
||||
Filtre de connexion : (&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
|
||||
BaseDN : DC=gsb,DC=lan
|
||||
DN du compte : GSB\Administrateur
|
||||
Mot de passe : Azerty1+
|
||||
Champ de l'identifiant : samaccountname
|
||||
* Nom : **s-win**
|
||||
* Serveur par défaut : **oui**
|
||||
* Actif : **oui**
|
||||
* Serveur : **s-win.gsb.lan**
|
||||
* Filtre de connexion : (&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
|
||||
* BaseDN : **DC=gsb,DC=lan**
|
||||
* DN du compte : **GSB\Administrateur**
|
||||
* Mot de passe : **Azerty1+**
|
||||
* Champ de l'identifiant : **samaccountname**
|
||||
|
||||
Pour importer les utilisateurs allez dans Administration > Utilisateur > Liaison annuaire LDAP > Importation de nouveau utilisateurs
|
||||
Pour importer les utilisateurs allez dans **Administration > Utilisateur > Liaison annuaire LDAP > Importation de nouveau utilisateurs**
|
||||
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
|
||||
|
||||
*Modification effectué par : jm - ak*
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,6 +1,15 @@
|
||||
#variable depl
|
||||
depl_url: "http://s-adm.gsb.adm/gsbstore"
|
||||
#depl_glpi: "glpi-9.5.6.tgz"
|
||||
depl_glpi: "glpi-10.0.6.tgz"
|
||||
depl_glpi: "glpi-10.0.11.tgz"
|
||||
#depl_fusioninventory: "fusioninventory-9.5+3.0.tar.bz2"
|
||||
depl_glpi_agentx64: "GLPI-Agent-1.4-x64.msi"
|
||||
depl_glpi_agentx86: "GLPI-Agent-1.4-x86.msi"
|
||||
depl_glpi_agentx64: "GLPI-Agent-1.7-x64.msi"
|
||||
|
||||
#variables glpi
|
||||
glpi_version: "10.0.11"
|
||||
glpi_dir: "/var/www/html/glpi"
|
||||
glpi_dbhost: "127.0.0.1"
|
||||
glpi_dbname: "glpi"
|
||||
glpi_dbuser: "glpi"
|
||||
glpi_dbpasswd: "glpi"
|
||||
glpi_cli: "/var/www/html/glpicli"
|
||||
|
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
chm="/var/www/html/glpi/files/_dumps"
|
||||
# Dump base GLPI
|
||||
mysqldump -uroot -proot glpi |gzip > $chm/$(date +%Y-%m-%d).sql.gz
|
@ -1,9 +1,15 @@
|
||||
---
|
||||
- name: restart php-fpm
|
||||
service: name=php7.0-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,7 +1,7 @@
|
||||
---
|
||||
- name: Installation des paquets
|
||||
apt:
|
||||
state: latest
|
||||
state: present
|
||||
name:
|
||||
- nginx
|
||||
- php-fpm
|
||||
@ -24,10 +24,10 @@
|
||||
- postfix
|
||||
- mailutils
|
||||
|
||||
- name: Changement listen dans le fichier conf de php7.3
|
||||
- name: Changement listen dans le fichier conf de php8.2
|
||||
replace:
|
||||
dest: /etc/php/7.4/fpm/pool.d/www.conf
|
||||
regexp: 'listen = /run/php/php7.4-fpm.sock'
|
||||
dest: /etc/php/8.2/fpm/pool.d/www.conf
|
||||
regexp: 'listen = /run/php/php8.2-fpm.sock'
|
||||
replace: 'listen = 127.0.0.1:9000'
|
||||
backup: yes
|
||||
|
||||
@ -41,9 +41,12 @@
|
||||
src: block.j2
|
||||
dest: /etc/nginx/sites-enabled/glpi
|
||||
|
||||
notify:
|
||||
- restart nginx
|
||||
|
||||
- name: Remplacement dans le fichier de conf php du timeout
|
||||
replace:
|
||||
dest: /etc/php/7.4/fpm/php.ini
|
||||
dest: /etc/php/8.2/fpm/php.ini
|
||||
regexp: 'max_execution_time = 30'
|
||||
replace: 'max_execution_time = 600'
|
||||
backup: yes
|
||||
@ -112,9 +115,9 @@
|
||||
# dest: /var/www/html/glpi/plugins
|
||||
# remote_src: yes
|
||||
|
||||
- name: Creation de ficlient
|
||||
- name: Creation de glpicli
|
||||
file:
|
||||
path: /var/www/html/ficlients
|
||||
path: "{{ glpi_cli }}"
|
||||
state: directory
|
||||
owner: www-data
|
||||
group: www-data
|
||||
@ -130,20 +133,18 @@
|
||||
- name: Installation de GLPI Agent windows x64
|
||||
get_url:
|
||||
url: "{{ depl_url }}/{{ depl_glpi_agentx64 }}"
|
||||
dest: "/var/www/html/ficlients"
|
||||
dest: "{{ glpi_cli }}"
|
||||
|
||||
# - name: Installation de GLPI Agent windows x86
|
||||
# get_url:
|
||||
# url: "{{ depl_url }}/{{ depl_glpi_agentx86 }}"
|
||||
# dest: "/var/www/html/ficlients"
|
||||
notify:
|
||||
- restart nginx
|
||||
|
||||
- name: Copie du script dbdump
|
||||
copy:
|
||||
src: dbdump
|
||||
dest: /root/
|
||||
- name: lancer la commande de création de la base de donnees glpi
|
||||
ansible.builtin.shell: "php bin/console database:install --reconfigure --db-name {{ glpi_dbname }} --db-user {{ glpi_dbuser }} --db-password {{ glpi_dbpasswd }} -f -n"
|
||||
args:
|
||||
chdir: "{{ glpi_dir }}"
|
||||
|
||||
- name: chmod de dbdump
|
||||
shell: chmod +x /root/dbdump
|
||||
- debug:
|
||||
msg: "base de donnees de glpi creer"
|
||||
|
||||
- debug:
|
||||
msg: "Redemarrez le serveur GLPI"
|
||||
|
@ -16,7 +16,7 @@ server {
|
||||
fastcgi_param SERVER_NAME $host;
|
||||
}
|
||||
|
||||
location /ficlients {
|
||||
location /glpicli {
|
||||
root /var/www/html;
|
||||
autoindex on;
|
||||
}
|
||||
|
@ -1,16 +1,30 @@
|
||||
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
|
||||
# Role journald-rcv : installation et configuration du serveur systemd-journal-remote (centralisation des logs)
|
||||
***
|
||||
## Fonctionnalitées du rôle:
|
||||
|
||||
Ce role a pour objectif de activer le module UDP dans le fichier /etc/rsyslog.conf pour accepter les logs entrants des machines concernées :
|
||||
on décommente la ligne suivante :
|
||||
'module(load="imudp"\)'
|
||||
Ce role a pour objectif d'installer et d'éditer les fichiers de configuration de systemd journal remote afin que les machines lançant ce rôle puissent recevoir les logs des autres machine du parc.
|
||||
|
||||
Ensuite le role active l'écoute du module UDP sur le port 514 afin de pouvoir envoyer les logs.
|
||||
on décommente la ligne suivante dans le même fichier que ci-dessus :
|
||||
'input\(type="imudp" port="514"\)'
|
||||
## Opérations réalisées par le role:
|
||||
Le role réalise les opération suivante:
|
||||
* installation du paquet **systemd-journal-remote**.
|
||||
* Démarrage et activation (au démarrage) du service **systemd-journal-remote.socket.
|
||||
* Création des fichiers de configuration de **systemd-journal-remote** à partir d'une copie du fichier de configuration déja existante.
|
||||
* Changement du protocole utilisé par journald. Passant du protocole **HTTPS** au protocole **HTTP*** Activation du mode split qui permet d'avoir un fichier de log par machine supervisées.
|
||||
* Création du répertoire qui accueillera les fichiers de logs.
|
||||
* Rédémarrage du daemon systemd afin que le système prenne en compte les modifications efféctuées.
|
||||
|
||||
pour finir le role va charger le module UDP afin que la machine **s-infra** puissent reçevoir les logs entrants.
|
||||
Pour faire cela on décommente la ligne suivante dans le fichier /etc/systemd/journald.conf :
|
||||
'ForwardToSyslog=yes'
|
||||
## Test du bon fonctionnement du rôle
|
||||
|
||||
pour finir le role va redemmarer automatiquement les services journald et rsyslog
|
||||
Afin de tester le rôle nous éffectuons un test:
|
||||
|
||||
**Depuis la machine sur laquelle ce rôle est installé:**
|
||||
* **journalctl -f -D /var/log/journal/remote/
|
||||
* S'assurer que le port 19532 (port par défault utilisé par le serviceà) soit ouvert et utilisable sur toutes les machines en entrée.
|
||||
|
||||
Afin de consulter les fichiers d'événement.
|
||||
|
||||
** Depuis une des machines eméttrices de logs:**
|
||||
|
||||
* **logger ok**
|
||||
|
||||
Si le message émis par la machine éméttrice et consultable depuis la machine receptrice alors le test est réussi.
|
||||
|
@ -1,16 +1,16 @@
|
||||
---
|
||||
- name: Installation de systemd-journal-remote
|
||||
- name: 1. Installation de systemd-journal-remote
|
||||
apt:
|
||||
name: systemd-journal-remote
|
||||
state: present
|
||||
|
||||
- name: Enable et start systemd-journal-remote.socket
|
||||
- name: 2. Enable et start systemd-journal-remote.socket
|
||||
systemd:
|
||||
name: systemd-journal-remote.socket
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
- name: Copie de systemd-journal-remote.service dans /etc/systemd/system
|
||||
- name: 3. Copie de systemd-journal-remote.service dans /etc/systemd/system
|
||||
copy:
|
||||
src: /lib/systemd/system/systemd-journal-remote.service
|
||||
dest: /etc/systemd/system/systemd-journal-remote.service
|
||||
@ -18,20 +18,27 @@
|
||||
backup: yes
|
||||
|
||||
|
||||
- name: Modification de systemd-journal-remote.service
|
||||
- name: 4. Modification de systemd-journal-remote.service
|
||||
replace:
|
||||
path: /etc/systemd/system/systemd-journal-remote.service
|
||||
regexp: '--listen-https=-3'
|
||||
replace: '--listen-http=-3'
|
||||
|
||||
- name: Creation /var/log/journal/remote directory
|
||||
- name: 5. active le mode SplitMode en mode Host
|
||||
replace:
|
||||
path: /etc/systemd/journal-remote.conf
|
||||
regexp: '^#\sSplitMode=host'
|
||||
replace: 'SplitMode=host'
|
||||
|
||||
|
||||
- name: 6. Creation /var/log/journal/remote directory
|
||||
file:
|
||||
path: /var/log/journal/remote
|
||||
state: directory
|
||||
owner: systemd-journal-remote
|
||||
|
||||
- name: Redemarrage de systemd
|
||||
- name: 7. Redemarrage de systemd
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
notify:
|
||||
- restart jourald
|
||||
# notify:
|
||||
#- restart journald
|
||||
|
@ -8,7 +8,7 @@
|
||||
- name: 2. indique l'URL journald distant
|
||||
replace:
|
||||
path: /etc/systemd/journal-upload.conf
|
||||
regexp: '^#URL='
|
||||
regexp: '^#\sURL='
|
||||
replace: 'URL=http://syslog.gsb.adm:19532'
|
||||
|
||||
- name: 3. Just force systemd to reread configs (2.4 and above)
|
||||
@ -23,7 +23,7 @@
|
||||
- name: 5. redemarre systemd-journal-upload.service
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: restart
|
||||
state: restarted
|
||||
#notify:
|
||||
#- enable systemd-journal-upload
|
||||
#- restart systemd-journal-upload
|
||||
|
14
roles/kea/README.md
Normal file
14
roles/kea/README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Rôle Kea
|
||||
***
|
||||
Rôle du Kea pour la haute disponibilité dhcp
|
||||
|
||||
## Tables des matières
|
||||
1. [Que fait le rôle Kea ?]
|
||||
|
||||
|
||||
## Que fait le rôle Kea ?
|
||||
Il permet de configurer les serveur kea en mode haute disponibilité.
|
||||
|
||||
### Installation et configuration de kea
|
||||
|
||||
Le rôle kea va installer les packets kea dhcp4, hook, admin une fois les packets installer. Nous allons configurer les 2 serveurs kea pour qu'il distribut les ip de n-user et soit en haute disponibilité.
|
8
roles/kea/default/main.yml
Normal file
8
roles/kea/default/main.yml
Normal file
@ -0,0 +1,8 @@
|
||||
#variable kea
|
||||
kea_ver: "2.4.1"
|
||||
kea_dbname: ""
|
||||
kea_dbuser: ""
|
||||
kea_dbpasswd: ""
|
||||
kea_dhcp4_dir: "/etc/kea/kea-dhcp4.conf"
|
||||
kea_ctrl_dir: "/etc/kea/kea-ctrl-agent.conf"
|
||||
|
5
roles/kea/handlers/main.yml
Normal file
5
roles/kea/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
||||
- name: restart zabbix agent
|
||||
service:
|
||||
name: zabbix-agent
|
||||
state: restarted
|
||||
enabled: yes
|
65
roles/kea/tasks/main.yml
Normal file
65
roles/kea/tasks/main.yml
Normal file
@ -0,0 +1,65 @@
|
||||
- name: installation des dépendances
|
||||
apt:
|
||||
name:
|
||||
- liblog4cplus-2.0.5
|
||||
- libmariadb3
|
||||
- libpq5
|
||||
- mariadb-common
|
||||
- mysql-common
|
||||
state: present
|
||||
|
||||
- name: telechargemement du paquet isc-kea-common
|
||||
get_url:
|
||||
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-common_2.4.1-isc20231123184533/isc-kea-common_2.4.1-isc20231123184533_amd64.deb"
|
||||
dest: "/tmp"
|
||||
|
||||
- name: telechargement du paquet isc-kea-dhcp4
|
||||
get_url:
|
||||
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-dhcp4_2.4.1-isc20231123184533/isc-kea-dhcp4_2.4.1-isc20231123184533_amd64.deb"
|
||||
dest: "/tmp"
|
||||
|
||||
- name: telechargement du paquet isc-kea-ctrl-agent
|
||||
get_url:
|
||||
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-ctrl-agent_2.4.1-isc20231123184533/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
|
||||
dest: "/tmp"
|
||||
|
||||
- name: telechargement du paquet isc-kea-hooks
|
||||
get_url:
|
||||
url: "https://dl.cloudsmith.io/public/isc/kea-2-4/deb/debian/pool/bookworm/main/i/is/isc-kea-hooks_2.4.1-isc20231123184533/isc-kea-hooks_2.4.1-isc20231123184533_amd64.deb"
|
||||
dest: "/tmp"
|
||||
- name: Update apt
|
||||
apt:
|
||||
update_cache: yes
|
||||
|
||||
- name: Installation paquet isc-kea-common
|
||||
apt:
|
||||
deb: "/tmp/isc-kea-common_2.4.1-isc20231123184533_amd64.deb"
|
||||
state: present
|
||||
|
||||
|
||||
- name: Installation isc-kea-dhcp4
|
||||
apt:
|
||||
deb: "/tmp/isc-kea-dhcp4_2.4.1-isc20231123184533_amd64.deb"
|
||||
state: present
|
||||
|
||||
- name: Installation isc-kea-ctrl-agent
|
||||
apt:
|
||||
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
|
||||
state: present
|
||||
|
||||
|
||||
- name: Installation isc-kea-ctrl-agent
|
||||
apt:
|
||||
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
|
||||
state: present
|
||||
|
||||
- name: Installation isc-kea-hooks
|
||||
apt:
|
||||
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
|
||||
state: present
|
||||
|
||||
|
||||
- name: Installation isc-kea-hooks
|
||||
apt:
|
||||
deb: "/tmp/isc-kea-ctrl-agent_2.4.1-isc20231123184533_amd64.deb"
|
||||
state: present
|
26
roles/post/files/interfaces.s-kea1
Normal file
26
roles/post/files/interfaces.s-kea1
Normal file
@ -0,0 +1,26 @@
|
||||
# This file describes the network interfaces available on your system
|
||||
# and how to activate them. For more information, see interfaces(5).
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# cote N-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.20
|
||||
netmask 255.255.255.0
|
||||
gateway 192.168.99.99
|
||||
|
||||
|
||||
# cote N-infra
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 172.16.0.20
|
||||
netmask 255.255.255.0
|
||||
|
||||
#cote N-user
|
||||
allow-hotplug enp0s9
|
||||
iface enp0s9 inet static
|
||||
address 172.16.64.20
|
||||
netmask 255.255.255.0
|
26
roles/post/files/interfaces.s-kea2
Normal file
26
roles/post/files/interfaces.s-kea2
Normal file
@ -0,0 +1,26 @@
|
||||
# This file describes the network interfaces available on your system
|
||||
# and how to activate them. For more information, see interfaces(5).
|
||||
|
||||
# The loopback network interface
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
# cote N-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.21
|
||||
netmask 255.255.255.0
|
||||
gateway 192.168.99.99
|
||||
|
||||
|
||||
# cote N-infra
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 172.16.0.21
|
||||
netmask 255.255.255.0
|
||||
|
||||
#cote N-user
|
||||
allow-hotplug enp0s9
|
||||
iface enp0s9 inet static
|
||||
address 172.16.64.21
|
||||
netmask 255.255.255.0
|
14
roles/zabbix-cli/README.md
Normal file
14
roles/zabbix-cli/README.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Rôle Zabbix client
|
||||
***
|
||||
Rôle du Zabbix client pour la supervision des différentes machines en active
|
||||
|
||||
## Tables des matières
|
||||
1. [Que fait le rôle Zabbix ?]
|
||||
|
||||
|
||||
## Que fait le rôle Zabbix ?
|
||||
Il permet de configurer les agents zabbix en active sur le serveur à définir dans defaults.
|
||||
|
||||
### Installation et configuration de Zabbix-agent
|
||||
|
||||
Le rôle Zabbix-cli va installer zabbix-agent pour les serveurs, zabbix-agent pour superviser, zabbix-agent sera notre outil de supervision côté serveurs.
|
5
roles/zabbix-cli/handlers/main.yml
Normal file
5
roles/zabbix-cli/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
||||
- name: restart zabbix agent
|
||||
service:
|
||||
name: zabbix-agent
|
||||
state: restarted
|
||||
enabled: yes
|
36
roles/zabbix-cli/tasks/main.yml
Normal file
36
roles/zabbix-cli/tasks/main.yml
Normal file
@ -0,0 +1,36 @@
|
||||
- name: Intallation paquet zabbix agent
|
||||
get_url:
|
||||
url: "https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb"
|
||||
dest: "/tmp"
|
||||
|
||||
- name: Intallation paquet zabbix agent suite
|
||||
apt:
|
||||
deb: "/tmp/zabbix-release_6.4-1+debian12_all.deb"
|
||||
state: present
|
||||
|
||||
- name: Update apt
|
||||
apt:
|
||||
update_cache: yes
|
||||
|
||||
- name: Intallation Zabbix agent
|
||||
apt:
|
||||
name: zabbix-agent
|
||||
state: present
|
||||
|
||||
- name: Enable Zabbix agent service
|
||||
service:
|
||||
name: zabbix-agent
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: Replace Zabbix agent config
|
||||
replace:
|
||||
path: /etc/zabbix/zabbix_agentd.conf
|
||||
regexp: '{{ item.regexp }}'
|
||||
replace: '{{ item.replace }}'
|
||||
backup: true
|
||||
loop:
|
||||
- { regexp: '^(Server\s*=\s*).*$', replace: 'Server = 127.0.0.1' }
|
||||
- { regexp: '^(ServerActive\s*=\s*).*$', replace: 'ServerActive = 192.168.99.8' }
|
||||
- { regexp: '^(Hostname\s*=\s*).*$', replace: 'Hostname = {{ ansible_hostname }}' }
|
||||
- { regexp: '^(Include\s*=\s*).*$', replace: 'Include = /etc/zabbix/zabbix_agentd.d/*.conf' }
|
@ -1,18 +1,15 @@
|
||||
# Rôle nagios
|
||||
# Rôle zabbix-srv
|
||||
***
|
||||
Rôle Nagios 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 Nagios ?
|
||||
## 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>.
|
||||
|
@ -53,7 +53,14 @@
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: 9. Importer le schema initial
|
||||
shell: zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -ppassword zabbix
|
||||
community.mysql.mysql_db:
|
||||
state: import
|
||||
name: zabbix
|
||||
encoding: utf8mb4
|
||||
login_user: zabbix
|
||||
login_password: password
|
||||
target: /usr/share/zabbix-sql-scripts/mysql/server.sql.gz
|
||||
login_unix_socket: /var/run/mysqld/mysqld.sock
|
||||
|
||||
- name: 10. Modifier la variable pour le schema
|
||||
community.mysql.mysql_variables:
|
||||
@ -68,11 +75,20 @@
|
||||
regexp: '^# DBPassword='
|
||||
replace: 'DBPassword=password'
|
||||
|
||||
- name: 12. Lancer le service zabbix
|
||||
- name: 12. Lancer le service zabbix-server
|
||||
service:
|
||||
name:
|
||||
- zabbix-server
|
||||
- zabbix-agent
|
||||
- apache2
|
||||
name: zabbix-server
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: 13. Lancer le service zabbix-agent
|
||||
service:
|
||||
name: zabbix-agent
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: 14. Lancer le service apache2
|
||||
service:
|
||||
name: apache2
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
@ -8,7 +8,7 @@
|
||||
- dnsmasq
|
||||
- squid
|
||||
# - local-store
|
||||
- snmp-agent
|
||||
# #- zabbix-cli
|
||||
## - syslog-cli
|
||||
- post
|
||||
# - goss
|
||||
|
@ -8,7 +8,7 @@
|
||||
- appli
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- snmp-agent
|
||||
#- zabbix-cli
|
||||
- ssl-apache
|
||||
- post
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
- base
|
||||
- goss
|
||||
# - proxy3
|
||||
- snmp-agent
|
||||
#- zabbix-cli
|
||||
# - ssh-cli
|
||||
# - syslog-cli
|
||||
- smb-backup
|
||||
|
13
s-fog-post.yml
Normal file
13
s-fog-post.yml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
roles:
|
||||
# - base
|
||||
# - goss
|
||||
# - dhcp-fog
|
||||
#- ssh-cli
|
||||
#- snmp-agent
|
||||
# - syslog-cli
|
||||
- fog
|
||||
#- post
|
@ -5,9 +5,8 @@
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- dhcp-fog
|
||||
- ssh-cli
|
||||
- snmp-agent
|
||||
# - syslog-cli
|
||||
- fog
|
||||
#- dhcp-fog
|
||||
# - ssh-cli
|
||||
#- fog
|
||||
#- - journald-snd
|
||||
- post
|
||||
|
@ -4,10 +4,10 @@
|
||||
# include: config.yml
|
||||
roles:
|
||||
- base
|
||||
#- zabbix-cli
|
||||
- goss
|
||||
- dns-master
|
||||
- webautoconf
|
||||
- snmp-agent
|
||||
- journald-snd
|
||||
- ssh-cli
|
||||
- post
|
||||
|
17
s-itil.yml
17
s-itil.yml
@ -2,19 +2,20 @@
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
vars:
|
||||
glpi_version: "10.0.6"
|
||||
glpi_dir: "/var/www/html/glpi"
|
||||
glpi_dbhost: "127.0.0.1"
|
||||
glpi_dbname: "glpi"
|
||||
glpi_dbuser: "glpi"
|
||||
glpi_dbpasswd: "glpi"
|
||||
#vars:
|
||||
#glpi_version: "10.0.11"
|
||||
#glpi_dir: "/var/www/html/glpi"
|
||||
#glpi_dbhost: "127.0.0.1"
|
||||
#glpi_dbname: "glpi"
|
||||
#glpi_dbuser: "glpi"
|
||||
#glpi_dbpasswd: "glpi"
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- snmp-agent
|
||||
- zabbix-cli
|
||||
- glpi
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- journald-snd
|
||||
- post
|
||||
|
@ -1,8 +1,8 @@
|
||||
---
|
||||
- name: Zabbix
|
||||
hosts: all
|
||||
# become: yes
|
||||
# become_method: sudo
|
||||
hosts: localhost
|
||||
become: yes
|
||||
become_method: sudo
|
||||
# become_user: root
|
||||
# vars:
|
||||
# access: "Restricted Nagios4 Access"
|
||||
|
@ -6,7 +6,7 @@
|
||||
- base
|
||||
- goss
|
||||
- squid
|
||||
- snmp-agent
|
||||
#- zabbix-cli
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- post
|
||||
|
38
scripts/mkvm
38
scripts/mkvm
@ -1,19 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkvmrelease="v1.3.0"
|
||||
mkvmrelease="v1.3.2"
|
||||
|
||||
ovarelease="2023c"
|
||||
ovafogrelease="2023b"
|
||||
ovafogrelease="2024a"
|
||||
#ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
|
||||
ovafile="$HOME/Téléchargements/debian-bookworm-gsb-${ovarelease}.ova"
|
||||
ovafilefog="$HOME/Téléchargements/debian-buster-gsb-${ovafogrelease}.ova"
|
||||
ovafilefog="$HOME/Téléchargements/debian-bullseye-gsb-${ovafogrelease}.ova"
|
||||
startmode=0
|
||||
deletemode=0
|
||||
|
||||
usage () {
|
||||
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
|
||||
echo "$0 : creation VM et parametrage interfaces"
|
||||
echo "usage : $0 [-r] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog>"
|
||||
echo " option -r : efface vm existante avant creation nouvelle"
|
||||
echo "usage : $0 [-r] [-s] <s-adm|s-infra|r-int|r-ext|s-proxy|s-mon|s-appli|s-backup|s-itil|s-ncx|s-fog>"
|
||||
echo " option -r : efface VM existante avant creation nouvelle"
|
||||
echo " option -s : start VM apres creation"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -59,12 +61,19 @@ fi
|
||||
if [[ $1 == "--help" ]] || [[ $1 == "-h" ]] || [[ $1 == "-V" ]] ; then
|
||||
usage
|
||||
fi
|
||||
if [[ $1 == "-r" ]] ; then
|
||||
deletemode=1
|
||||
shift
|
||||
fi
|
||||
vm="$1"
|
||||
|
||||
while [[ -n "$1" ]] ; do
|
||||
if [[ "$1" == "-s" ]] ; then
|
||||
startmode=1
|
||||
shift
|
||||
elif [[ "$1" == "-r" ]] ; then
|
||||
deletemode=1
|
||||
shift
|
||||
else
|
||||
parm=$1
|
||||
shift
|
||||
fi
|
||||
done
|
||||
vm="${parm}"
|
||||
create_vm "${vm}"
|
||||
if [[ "${vm}" == "s-adm" ]] ; then
|
||||
bash addint.s-adm
|
||||
@ -91,6 +100,10 @@ elif [[ "${vm}" == "s-nxc" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-fog" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra" "n-user"
|
||||
elif [[ "${vm}" == "s-kea1" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra" "n-user"
|
||||
elif [[ "${vm}" == "s-kea2" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra" "n-user"
|
||||
elif [[ "${vm}" == "s-dns-ext" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz"
|
||||
elif [[ "${vm}" == "s-web-ext" ]] ; then
|
||||
@ -123,3 +136,6 @@ else
|
||||
echo "$0 : vm ${vm} non prevue "
|
||||
exit 2
|
||||
fi
|
||||
if [[ $startmode == 1 ]] ; then
|
||||
vboxmanage startvm "${vm}" --type headless
|
||||
fi
|
||||
|
@ -3,11 +3,11 @@
|
||||
|
||||
#mkvm pour toutes les vms
|
||||
|
||||
$mkvmrelease="v1.3.0"
|
||||
$mkvmrelease="v1.3.1"
|
||||
$ovarelease="2023c"
|
||||
$ovafogrelease="2023b"
|
||||
$ovafogrelease="2024a"
|
||||
$ovafile="$HOME\Downloads\debian-bookworm-gsb-${ovarelease}.ova"
|
||||
$ovafilefog="$HOME\Downloads\debian-buster-gsb-${ovafogrelease}.ova"
|
||||
$ovafilefog="$HOME\Downloads\debian-bullseye-gsb-${ovafogrelease}.ova"
|
||||
$vboxmanage="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
|
||||
$deletemode=0
|
||||
|
||||
@ -102,6 +102,22 @@ elseif ($args[0] -eq "s-fog") {
|
||||
create_if $args[0] "int" 3 "n-user"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-kea1") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-infra"
|
||||
create_if $args[0] "int" 3 "n-user"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-kea2") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-infra"
|
||||
create_if $args[0] "int" 3 "n-user"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-agence") {
|
||||
|
||||
create_vm $args[0]
|
||||
|
@ -1,18 +1,29 @@
|
||||
# Tuto Installation Windows Serveur
|
||||
## Création de la nouvelle VM:
|
||||
- Créer une nouvelle machine virtuelle avec l'image ISO "Windows Server 2019 fr-Fr x64 (Janvier 2020).iso" et cocher la case "Skip Unattended Installation". (lien source: http://store2.sio.lan/sionas/Public/iso/windows/?sort=namedirfirst&order=asc)
|
||||
- Mémoire vive: 4096Mo
|
||||
- Processor: 1
|
||||
- Virtual Hard Disk: 30Go
|
||||
|
||||
- Une fois l'installation du serveur Windows, renommer le serveur en s-win et installer git.
|
||||
- Installer Serveur DNS et Services AD DS.
|
||||
- Créer une nouvelle fôret pour le domaine gsb.lan.
|
||||
- Configurer la zone inverse du DNS.
|
||||
## Démarrage de la VM Windows Server 2019:
|
||||
- Une fois l'installation du serveur Windows 2019, démarrer la VM Windows Server.
|
||||
- Faite l'installation de windows server. Vous pouvez suivre de l'étape 3 a l'étape 12 (Lien : https://www.infonovice.fr/guide-dinstallation-de-windows-server-2019-avec-une-interface-graphique/)
|
||||
- Renommer votre nom de machine du serveur windows depuis les parametre de "Informations Systèmes" en **s-win**. Puis redémarrer la machine.
|
||||
- Modifier la premiere carte de l'IP du serveur windows depuis le panneau de configuration en "192.168.99.6" avec la passerelle en "192.168.99.99 et la seconde en "172.16.0.6" et ajouter la passerelle par defaut en "172.16.0.254".
|
||||
- Eteindre votre VM et ajouter une carte en pont dans les parametres reseaux de la VM. Allumer votre VM et installer git depuis le site officiel, il faudra sans doute activer certaines options dans les parametres d'internet explorer comme "JavaScript" ou encore l'option de Téléchargement (lien source: https://git-scm.com/download/win et https://support.microsoft.com/fr-fr/topic/procédure-d-activation-de-javascript-dans-windows-88d27b37-6484-7fc0-17df-872f65168279).
|
||||
- Installer Serveur DNS et Services AD DS. Pour vous aider, suivre le TP de "Installation du service" a "Installation serveur DNS" (lien source: https://sio.lyc-lecastel.fr/doku.php?id=promo_2024:serveur_windows_2019-installation_ad)
|
||||
- Créer une nouvelle fôret pour le domaine **gsb.lan**.
|
||||
- Configurer la zone inverse du DNS et l'alimenter avec les enregistrements souhaités (A et PTR pour **s-win**, **s-itil**, **r-int** et **s-infra*. Vous pouvez vous aidez de ce tutoriel (https://www.it-connect.fr/dns-sous-windows-server-2022-comment-configurer-une-zone-de-recherche-inversee/).
|
||||
|
||||
## Création des dossiers partagés et des utilisateur
|
||||
|
||||
- Lancer mkusr-compta.cmd et mkusr-ventes.cmd sur s-win pour créer les utilisateurs avec leurs droits.
|
||||
- Le fichier gsb-dossiers.cmd permet de créer des dossiers partagés.
|
||||
- Le fichier mkusr.cmd permet de créer un autre utiliateur avec les mêmes droits que les autres.
|
||||
- Lancer `mkusr-compta.cmd` et `mkusr-ventes.cmd` sur s-win pour créer les utilisateurs avec leurs droits.
|
||||
- Lancer `gsb-dossiers.cmd`. Il permet de créer des dossiers partagés.
|
||||
- Le fichier `mkusr.cmd` permet de créer un autre utiliateur avec les mêmes droits que les autres.
|
||||
|
||||
## Utilisation des comptes utilisateurs avec AD
|
||||
- Pour utiliser l'AD du serveur **s-win**, installer un poste de travail Windows 10 dans le réseau `n-user`.
|
||||
- Une fois la machine installée et démarrée, mettre a jours la carte réseau en DHCP la faire adhérer au domaine **gsb.lan** (Poste de Travail/Nom).
|
||||
- Redémarrer puis se connecter avec les identifiants de domaine choisis.
|
||||
|
||||
## Utilisation des comptes utilisateurs
|
||||
|
||||
- Pour utiliser l'AD du serveur s-win, créer une machine Windows 10 dans le réseau n-user.
|
||||
- Une fois son adresse IP obtenue (172.16.64.xx) ajouter la machine dans le domaine gsb.lan en utilisant un utiliateur (autre que l'Administrateur).
|
||||
- Redémarrer puis se connecter avec les identifiants choisis.
|
Reference in New Issue
Block a user