Compare commits
84 Commits
v0.0.1c-ps
...
v0.0.3c-ps
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
92c6b3eb89 | |||
bce5723e7b | |||
a7315fa4c8 | |||
8cfbefc4dc | |||
0697ad4eec | |||
ae54eb5cb8 | |||
2fe557e70b | |||
877f0a054f | |||
74433d2655 | |||
51ac36f669 | |||
3f565e0dac | |||
71d35bb498 | |||
78da7eef67 | |||
ed512fc702 | |||
17266a2b57 | |||
26ebf4899b | |||
21d6a77ffa | |||
23b480e9fd | |||
9f99511968 | |||
cceccda12b | |||
36a6850a52 | |||
d14bf44b2b |
72
README.md
72
README.md
@ -1,30 +1,34 @@
|
||||
# gsb2024
|
||||
|
||||
2024-12-19 ps
|
||||
2024-01-13 ps
|
||||
|
||||
Environnement et playbooks ansible pour le projet GSB 2024
|
||||
Environnement et playbooks **ansible** pour le projet **GSB 2024**
|
||||
|
||||
## Quickstart
|
||||
|
||||
Prérequis :
|
||||
* une machine Debian Bookworm
|
||||
* 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**
|
||||
|
||||
|
||||
* **s-adm** : routeur adm, DHCP + NAT, deploiement, proxy squid
|
||||
## Les machines
|
||||
|
||||
* **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,36 +42,42 @@ Prérequis :
|
||||
|
||||
## Les playbooks
|
||||
|
||||
Il existe un playbook ansible pour chaque machine à installer, nommé comme la machine avec l'extension **.yml**
|
||||
|
||||
## Installation
|
||||
|
||||
On utilisera les images de machines virtuelle suivantes :
|
||||
* **debian-bookworm-gsb-2023c.ova** (2024-12-18)
|
||||
* **debian-bookworm-gsb-2023c.ova** (2023-12-18)
|
||||
* 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.
|
||||
|
||||
### Création d'une VM
|
||||
|
||||
Récupérer le dépot gsb2024.git avec :
|
||||
Sur la machine physique, récupérer le dépot **gsb2024.git** avec :
|
||||
```shell
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024
|
||||
```
|
||||
|
||||
On utilisera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créer une VM Virtualbox.
|
||||
|
||||
```shell
|
||||
gsb2024>
|
||||
cd scripts
|
||||
$ mkvm -r s-adm
|
||||
cd gsb2024/scripts
|
||||
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 :
|
||||
```shell
|
||||
bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||
@ -79,30 +89,44 @@ 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/gsb023/pre
|
||||
cd /root/tools/ansible/gsb2024/pre
|
||||
bash gsbboot
|
||||
cd .. ; bash pull-config
|
||||
```
|
||||
- redémarrer
|
||||
- la machine **s-adm** doit etre opérationnelle
|
||||
|
||||
### Pour chaque machine
|
||||
|
||||
#### Etape 1
|
||||
|
||||
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
||||
- utiliser le script de renommage comme suit : `bash chname <nouveau_nom_de_machine>`
|
||||
- redémarrer
|
||||
- ouvrir une session sur la machine considérée
|
||||
- renommer la machine soit
|
||||
* en utilisant le script de renommage comme suit :
|
||||
` /root/tools/ansible/gsb2024/scripts/chname <nouveau_nom_de_machine>`
|
||||
* soit avec :
|
||||
```shell
|
||||
NHOST=mavm
|
||||
sed -i "s/bookworm/${NHOST}/g" /etc/host{s,name}
|
||||
sudo reboot # on redemarre
|
||||
```
|
||||
|
||||
#### Etape 2
|
||||
|
||||
- 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/gadmin/gsb2023.git
|
||||
git clone https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
cd gsb2024/pre
|
||||
export DEPL=192.168.99.99
|
||||
bash gsbboot
|
||||
DEPL=192.168.99.99 bash gsbboot
|
||||
cd ../..
|
||||
bash pull-config
|
||||
```
|
||||
|
||||
#### Etape 3
|
||||
|
||||
- redémarrer
|
||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
||||
|
||||
|
124
goss/s-adm.yaml
124
goss/s-adm.yaml
@ -1,72 +1,70 @@
|
||||
package:
|
||||
dnsmasq:
|
||||
installed: true
|
||||
squid:
|
||||
installed: true
|
||||
dnsmasq:
|
||||
installed: true
|
||||
squid:
|
||||
installed: true
|
||||
addr:
|
||||
tcp://depl.sio.lan:80:
|
||||
reachable: true
|
||||
timeout: 500
|
||||
tcp://depl.sio.lan:80:
|
||||
reachable: true
|
||||
timeout: 500
|
||||
port:
|
||||
tcp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
udp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp:67:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
tcp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
tcp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
udp:53:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp:67:
|
||||
listening: true
|
||||
ip:
|
||||
- 0.0.0.0
|
||||
udp6:53:
|
||||
listening: true
|
||||
ip:
|
||||
- '::'
|
||||
service:
|
||||
dnsmasq:
|
||||
enabled: true
|
||||
running: true
|
||||
squid:
|
||||
enabled: true
|
||||
running: true
|
||||
ssh:
|
||||
enabled: true
|
||||
running: true
|
||||
dnsmasq:
|
||||
enabled: true
|
||||
running: true
|
||||
squid:
|
||||
enabled: true
|
||||
running: true
|
||||
ssh:
|
||||
enabled: true
|
||||
running: true
|
||||
user:
|
||||
dnsmasq:
|
||||
exists: true
|
||||
gid: 65534
|
||||
groups:
|
||||
- nogroup
|
||||
home: /var/lib/misc
|
||||
shell: /usr/sbin/nologin
|
||||
group:
|
||||
ssh:
|
||||
exists: true
|
||||
dnsmasq:
|
||||
exists: true
|
||||
gid: 65534
|
||||
groups:
|
||||
- nogroup
|
||||
home: /var/lib/misc
|
||||
shell: /usr/sbin/nologin
|
||||
command:
|
||||
/sbin/sysctl net.ipv4.ip_forward:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- net.ipv4.ip_forward = 1
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
/sbin/sysctl net.ipv4.ip_forward:
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- net.ipv4.ip_forward = 1
|
||||
stderr: []
|
||||
timeout: 10000
|
||||
dns:
|
||||
depl.sio.lan:
|
||||
resolveable: true
|
||||
timeout: 500
|
||||
depl.sio.lan:
|
||||
resolveable: true
|
||||
resolvable: null
|
||||
timeout: 500
|
||||
process:
|
||||
dnsmasq:
|
||||
running: true
|
||||
squid:
|
||||
running: true
|
||||
dnsmasq:
|
||||
running: true
|
||||
squid:
|
||||
running: true
|
||||
interface:
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 192.168.99.99/24
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 192.168.99.99/24
|
||||
|
@ -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
|
||||
|
13
install-fog.yml
Normal file
13
install-fog.yml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
roles:
|
||||
# - base
|
||||
# - goss
|
||||
# - dhcp-fog
|
||||
#- ssh-cli
|
||||
#- snmp-agent
|
||||
# - syslog-cli
|
||||
- fog
|
||||
#- post
|
83
localhost,
Normal file
83
localhost,
Normal file
@ -0,0 +1,83 @@
|
||||
# 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
|
@ -7,6 +7,6 @@
|
||||
- gestsup
|
||||
- postfix-gestsup
|
||||
- ssh-cli
|
||||
- syslog-cli
|
||||
# - syslog-cli
|
||||
- snmp-agent
|
||||
- post
|
@ -8,54 +8,41 @@ 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.6
|
||||
str="wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
|
||||
|
||||
|
||||
#Fusion Inventory
|
||||
|
||||
#FIREL=10.0.3+1.0
|
||||
#str2="https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.bz2"
|
||||
|
||||
GLPIREL=10.0.11
|
||||
str="wget -nc -4 https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz"
|
||||
|
||||
#GLPI Agent
|
||||
|
||||
GLPIAGVER=1.4
|
||||
str31="wget -nc https://github.com/glpi-project/glpi-agent/releases/download/${GLPIAGVER}/GLPI-Agent-${GLPIAGVER}-x64.msi"
|
||||
GLPIAGVER=1.7
|
||||
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 -4 https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
|
||||
|
||||
FOGREL=1.5.9
|
||||
str4="wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz"
|
||||
|
||||
WPREL=6.1.1
|
||||
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.1.1-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"
|
||||
|
||||
GOSSVER=v0.3.21
|
||||
str6="curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss"
|
||||
str6="curl -L https://github.com/goss-org/goss/releases/latest/download/goss-linux-amd64 -o goss"
|
||||
|
||||
#DOCKERREL=1.29.2
|
||||
#str7="curl -L https://github.com/docker/compose/releases/download/${DOCKERREL}/docker-compose-$(uname -s)-$(uname -m) -o docker-compose"
|
||||
str7="curl -L 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=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
|
||||
|
||||
#METRICBEAT ET FILEBEAT
|
||||
ELKREL=8.5.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"
|
||||
ELKREL=8.11.3
|
||||
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 -a https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-${ELKREL}-amd64.deb"
|
||||
|
||||
|
||||
[[ -d "${STOREREP}" ]]|| mkdir "${STOREREP}"
|
||||
@ -64,35 +51,21 @@ str84="wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-$
|
||||
#!/bin/bash
|
||||
|
||||
${str}
|
||||
|
||||
${str2}
|
||||
|
||||
${str31}
|
||||
|
||||
${str32}
|
||||
|
||||
${str4}
|
||||
|
||||
${str5}
|
||||
|
||||
${str6}
|
||||
${str7}
|
||||
|
||||
chmod +x ./goss
|
||||
chmod +x ./goss ./dgoss
|
||||
|
||||
curl -L https://get.docker.com -o getdocker.sh
|
||||
|
||||
chmod +x ./getdocker.sh
|
||||
|
||||
#${str7}
|
||||
|
||||
#chmod +x ./docker-compose
|
||||
|
||||
|
||||
wget -nc 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}
|
||||
@ -103,3 +76,7 @@ EOT
|
||||
)
|
||||
|
||||
cat "${STOREREP}/getall"
|
||||
|
||||
cd "${STOREREP}" || exit 2
|
||||
bash getall
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
dir=/root/tools/ansible
|
||||
prj=gsb2023
|
||||
prj=gsb2024
|
||||
opt=""
|
||||
|
||||
if [ -z ${UREP+x} ]; then
|
||||
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2023.git
|
||||
UREP=https://gitea.lyc-lecastel.fr/gsb/gsb2024.git
|
||||
fi
|
||||
|
||||
dir=/root/tools/ansible
|
||||
|
@ -8,5 +8,5 @@
|
||||
- r-ext
|
||||
- snmp-agent
|
||||
- ssh-cli
|
||||
- syslog-cli
|
||||
# - syslog-cli
|
||||
- post
|
||||
|
@ -7,7 +7,7 @@
|
||||
- goss
|
||||
- r-int
|
||||
- ssh-cli
|
||||
- syslog-cli
|
||||
# - syslog-cli
|
||||
- dhcp
|
||||
- snmp-agent
|
||||
- post
|
||||
|
@ -1,10 +1,4 @@
|
||||
#
|
||||
|
||||
deb http://ftp.fr.debian.org/debian/ wheezy main contrib non-free
|
||||
|
||||
deb http://security.debian.org/ wheezy/updates main
|
||||
|
||||
deb http://ftp.fr.debian.org/debian/ wheezy-updates main
|
||||
|
||||
deb http://http.debian.net/debian wheezy-backports main
|
||||
deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
|
||||
deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
|
||||
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
deb http://deb.debian.org/debian/ bullseye main non-free contrib
|
||||
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
|
||||
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
|
||||
deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
|
||||
deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
|
||||
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
|
||||
|
||||
|
4
roles/base/files/sources.list.bookworm
Normal file
4
roles/base/files/sources.list.bookworm
Normal file
@ -0,0 +1,4 @@
|
||||
deb https://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
|
||||
deb https://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
|
||||
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
|
||||
|
4
roles/base/files/sources.list.bullseye
Normal file
4
roles/base/files/sources.list.bullseye
Normal file
@ -0,0 +1,4 @@
|
||||
deb http://deb.debian.org/debian/ bullseye main non-free contrib
|
||||
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
|
||||
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
|
||||
|
@ -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
|
||||
|
||||
|
8
roles/elk-filebeat-cli/README.md
Normal file
8
roles/elk-filebeat-cli/README.md
Normal file
@ -0,0 +1,8 @@
|
||||
# Rôle elk-filebeat-cli
|
||||
## Présentation
|
||||
|
||||
**Filebeat** permet d'envoyer les logs système à un serveur **ELK**.
|
||||
Ce rôle :
|
||||
* insatlle le paquet **filebeat**
|
||||
* configure **filebeat** (fichier /etc/filebeat/filebeat.yml)
|
||||
* active le module **system** (Logs système)
|
1
roles/elk-filebeat-cli/defaults/main.yml
Normal file
1
roles/elk-filebeat-cli/defaults/main.yml
Normal file
@ -0,0 +1 @@
|
||||
BEATVER: "8.11.5"
|
@ -1,6 +1,7 @@
|
||||
## Utilisation du rôle metricbeat-cli
|
||||
# Rôle elk-metricbeat-cli
|
||||
## Utilisation
|
||||
|
||||
Ce rôle permet d'installer l'agent metricbeat pour le serveur ELK.
|
||||
Ce rôle permet d'installer l'agent **metricbeat** pour le serveur ELK.
|
||||
Metricbeat sert à faire des statistiques de performances sur les différents serveurs.
|
||||
Ce rôle fonctionne en faisant :
|
||||
Une installation de metricbeat,
|
1
roles/elk-metricbeat-cli/defaults/main.yml
Normal file
1
roles/elk-metricbeat-cli/defaults/main.yml
Normal file
@ -0,0 +1 @@
|
||||
BEATVER: "8.11.5"
|
@ -1,7 +0,0 @@
|
||||
## Explication du rôle filebeat-cli
|
||||
|
||||
Filebeat permet de centraliser et simplifier la gestion de logs pour ELK.
|
||||
Ce rôle fonctionne en faisant :
|
||||
Une installation de filebeat
|
||||
Une configuration de filebeat
|
||||
Une activation du module system(Logs système)
|
@ -1 +0,0 @@
|
||||
BEATVER: "8.5.3"
|
@ -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/** à 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"
|
||||
|
@ -2,15 +2,16 @@
|
||||
## 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
|
||||
## 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='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 +26,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/"
|
||||
|
||||
|
@ -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/install/install.php*
|
||||
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 :
|
||||
|
||||
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 > 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,21 +133,19 @@
|
||||
- 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: chmod de dbdump
|
||||
shell: chmod +x /root/dbdump
|
||||
- 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 }}"
|
||||
|
||||
- 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;
|
||||
}
|
||||
|
16
roles/journald-rcv/README.md
Normal file
16
roles/journald-rcv/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
|
||||
***
|
||||
|
||||
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"\)'
|
||||
|
||||
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"\)'
|
||||
|
||||
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'
|
||||
|
||||
pour finir le role va redemmarer automatiquement les services journald et rsyslog
|
5
roles/journald-rcv/handlers/main.yml
Normal file
5
roles/journald-rcv/handlers/main.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
- name: restart journald
|
||||
service:
|
||||
name: systemd-journald.service
|
||||
state: restarted
|
44
roles/journald-rcv/tasks/main.yml
Normal file
44
roles/journald-rcv/tasks/main.yml
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
- name: 1. Installation de systemd-journal-remote
|
||||
apt:
|
||||
name: systemd-journal-remote
|
||||
state: present
|
||||
|
||||
- name: 2. Enable et start systemd-journal-remote.socket
|
||||
systemd:
|
||||
name: systemd-journal-remote.socket
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
- 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
|
||||
remote_src: yes
|
||||
backup: yes
|
||||
|
||||
|
||||
- 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: 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: 7. Redemarrage de systemd
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
# notify:
|
||||
#- restart journald
|
16
roles/journald-snd/README.md
Normal file
16
roles/journald-snd/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Role syslog : installation et configuration de syslog serveur (centralisation des logs)
|
||||
***
|
||||
|
||||
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"\)'
|
||||
|
||||
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"\)'
|
||||
|
||||
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'
|
||||
|
||||
pour finir le role va redemmarer automatiquement les services journald et rsyslog
|
10
roles/journald-snd/handlers/main.yml
Normal file
10
roles/journald-snd/handlers/main.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: enable systemd-journal-upload
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: enabled
|
||||
|
||||
- name: restart systemd-journal-upload
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: restarted
|
31
roles/journald-snd/tasks/main.yml
Normal file
31
roles/journald-snd/tasks/main.yml
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
- name: 1. installe systemd-journal-remote
|
||||
apt:
|
||||
name:
|
||||
- systemd-journal-remote
|
||||
state: present
|
||||
|
||||
- name: 2. indique l'URL journald distant
|
||||
replace:
|
||||
path: /etc/systemd/journal-upload.conf
|
||||
regexp: '^#\sURL='
|
||||
replace: 'URL=http://syslog.gsb.adm:19532'
|
||||
|
||||
- name: 3. Just force systemd to reread configs (2.4 and above)
|
||||
ansible.builtin.systemd_service:
|
||||
daemon_reload: true
|
||||
|
||||
- name: 4. active le service systemd-journald-upload
|
||||
ansible.builtin.service:
|
||||
name: systemd-journal-upload.service
|
||||
enabled: yes
|
||||
|
||||
- name: 5. redemarre systemd-journal-upload.service
|
||||
service:
|
||||
name: systemd-journal-upload.service
|
||||
state: restarted
|
||||
#notify:
|
||||
#- enable systemd-journal-upload
|
||||
#- restart systemd-journal-upload
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
BEATVER: "8.5.3"
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user