Compare commits

...

159 Commits

Author SHA1 Message Date
fbf65a2bb7 Mise à jour de 'roles/dns-master/files/db.gsb.lan' 2021-06-09 14:28:39 +02:00
root
e9ff347a17 modif dns 2021-05-27 15:47:26 +02:00
08ced644ed modif s-agence.yaml goss 2021-05-04 15:55:52 +02:00
e0b6573517 modif ipv6 2021-05-03 09:47:52 +02:00
teddy vitard
7cc64049bc modif syntaxe ipv6 avec sysctl 2021-04-15 16:45:05 +02:00
8f8f0acef3 Mise à jour de 'roles/ssh-root-access/tasks/main.yml' 2021-04-12 14:43:54 +02:00
c8e6e9b9cd Mise à jour de 'roles/ssh-root-access/tasks/main.yml' 2021-04-12 14:43:33 +02:00
phil
1dc77e3d69 desactive ipv6 avec sysctl - role base 2021-04-07 13:30:33 +02:00
phil
d5beb01f40 chgt get-all - README.md 2021-04-07 13:23:27 +02:00
phil
9065e886f0 modif fichier hosts pour depl vers s-adm, et doc. README 2021-04-06 17:26:56 +02:00
root
9f635de453 ajout paquets modules php 2021-04-06 17:05:30 +02:00
“Albert
6f803444a8 syntaxe 2021-04-01 17:55:42 +02:00
“Albert
bd4bcc11b3 syntaxe 2021-04-01 17:53:01 +02:00
“Albert
a816f352b6 synax markdown 2021-04-01 17:28:19 +02:00
“Albert
a113358c91 syntaxe markdown 2021-04-01 16:59:26 +02:00
TL
56aff49921 ajout troisieme serveur web 2021-04-01 16:53:43 +02:00
8341359c45 Mise à jour de 'goss/s-agence.yaml' 2021-04-01 16:51:35 +02:00
“Albert
fe747c36c8 decommente role goss dans s-adm 2021-04-01 16:48:13 +02:00
“Albert
c391a3dc39 divers: inst-depl, gsbboot, 2021-04-01 15:46:19 +02:00
root
3b6da78d7c Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-04-01 15:04:55 +02:00
root
9a3f4d6a9f Supression de l'installation de goss 2021-04-01 15:04:11 +02:00
“Albert
e771d47e79 doc : README.md 2021-04-01 14:55:47 +02:00
a603ccd701 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:53:01 +02:00
b14398b204 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:52:15 +02:00
bdb484cc6e Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-04-01 14:52:02 +02:00
fa2dc0ed36 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-04-01 14:51:46 +02:00
f8cf5f75d7 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:50:17 +02:00
418676ee1e Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:50:08 +02:00
9d83f1894c Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:49:44 +02:00
c8fe45b95d Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-31 11:53:34 +02:00
98890660f8 Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-31 11:51:22 +02:00
53e5e4dc9e Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-31 11:33:48 +02:00
am
abd94f520c modifs main.yml 2021-03-31 11:23:24 +02:00
97e2d007d0 Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-31 11:08:07 +02:00
am
c0cebf0b90 ajout des fichiers certificat tls 2021-03-31 10:28:43 +02:00
TL
dab3b43db1 suppresion utilisation role db-user 2021-03-31 09:02:15 +02:00
4f417a892e Mise à jour de 'r-vp1.yml' 2021-03-30 16:34:31 +02:00
bd89e3a964 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-03-30 16:20:40 +02:00
61ae1027a2 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-03-30 15:55:38 +02:00
d60dcb613b Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-03-30 15:50:11 +02:00
d9e0959cc4 Mise à jour de 'r-vp1.yml' 2021-03-30 15:48:00 +02:00
4fe6f9f8f7 Mise à jour de 'r-vp2.yml' 2021-03-30 15:47:18 +02:00
4db4c8e719 Mise à jour de 'r-vp2.yml' 2021-03-30 14:16:33 +02:00
a0a8ec62bd Mise à jour de 'r-vp1.yml' 2021-03-30 14:16:09 +02:00
699ddddaba Mise à jour de 'r-vp2.yml' 2021-03-30 13:45:43 +02:00
1943b172d3 Mise à jour de 'r-vp1.yml' 2021-03-30 13:45:15 +02:00
84c2e68cc8 Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-29 11:26:44 +02:00
74e723896c Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-29 11:26:16 +02:00
am
b8c681c4bb ajout de s-nxec et s-docker 2021-03-29 11:03:36 +02:00
bb
28f1560add Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-02-01 11:50:32 +01:00
bb
b04bbbe7d1 secret partagé install en priorité 2021-02-01 11:49:54 +01:00
am
8e602c15a6 modif main.yml et docker compose 2021-02-01 11:32:56 +01:00
bb
20f8fcccbe X509 install en priorité 2021-02-01 11:16:02 +01:00
am
a76aa215d3 modif main.yml 2021-02-01 11:02:16 +01:00
am
afdd827df3 ajout du proxy inverse 2021-02-01 09:40:04 +01:00
290e2866fe ajout permitrootlogin 2021-02-01 09:35:18 +01:00
am
dc276e2c68 ajout de config.php 2021-01-28 17:54:55 +01:00
Thomas Lerallu
6c090e61f8 ajout schema dmz 2021-01-28 17:46:09 +01:00
1c036df5c4 modif routes ipsec.conf x509 2021-01-28 17:08:58 +01:00
root
a9b757dafa Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:37:16 +01:00
root
bb5521f0dc ajout variable fog 2021-01-28 15:37:13 +01:00
bb
6201569f8a Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:32:29 +01:00
bb
b14c35a7aa Ajout d'un fichier goss pour s-agence 2021-01-28 15:31:29 +01:00
root
3be4dd14d4 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:15:18 +01:00
root
7245538622 ajout variable fog 2021-01-28 15:14:59 +01:00
bb
c448fb3457 Ajout du role goss pour s-agence 2021-01-28 15:04:03 +01:00
tl
0c0b58399f correction s-lb-web3 2021-01-28 14:26:42 +01:00
root
e1f0910ec7 Ajout des machines s-mess et s-lb 2021-01-27 11:55:29 +01:00
root
01b41a6dd7 Ajout des machines s-mess et s-lb 2021-01-27 11:51:17 +01:00
am
e36173b079 modif docker compose ajout proxy 2021-01-27 11:18:18 +01:00
tl
575eaea422 ajout s-lb-web3 2021-01-27 09:13:04 +01:00
bb
8ea91004f8 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-27 08:51:11 +01:00
bb
6844d05974 chemin absolu + interface dhcp agence 2021-01-27 08:50:13 +01:00
tl
d8371a0973 attribution des permissions www-data sur /home/wordpress 2021-01-27 08:25:54 +01:00
4621000ce1 backup script 2021-01-26 16:46:04 +01:00
f030228008 modif mariadb 2021-01-26 16:04:18 +01:00
bb
d953531bf8 Ajustement de /etc/ipsec.conf au niveau des routes indiquées 2021-01-26 15:52:25 +01:00
bb
7c6851eabc Ajustement des routes dans /etc/network/interfaces + correction de la syntaxe 2021-01-26 15:43:27 +01:00
6dd2d19fc8 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-26 14:55:25 +01:00
e8c0745257 modif mariadb python et socket 2021-01-26 14:54:44 +01:00
1204c5e8a4 modif docker-compose.yml 2021-01-25 11:48:21 +01:00
7776d94f6c install bd 2021-01-25 11:32:19 +01:00
733e45410e Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2020 2021-01-25 09:29:48 +01:00
36c0d92c9f recup sur s-adm de wordpress 2021-01-25 08:56:13 +01:00
4d5921858d modif du role docker-nextcloud 2021-01-25 08:22:54 +01:00
34935c235e modif role docker-nextcloud 2021-01-24 01:17:11 +01:00
72ff4e753c Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-20 11:47:24 +01:00
622e878863 ajout role docker-nextcloud 2021-01-20 11:46:01 +01:00
root
dc12c54a11 Ajout de README.md pour superviser s-win 2021-01-20 11:45:46 +01:00
root
c05cea4e4e Suppression de la machine s-test 2021-01-20 11:28:54 +01:00
root
938d34d968 Ajout de README.md pour superviser s-win 2021-01-20 11:18:17 +01:00
root
754aef225b Ajout de README.md pour superviser s-win 2021-01-20 11:16:34 +01:00
root
2c8af1ba17 Ajout de README.md pour superviser s-win 2021-01-20 11:12:54 +01:00
sio
a4dc321d58 chgt pout resolv.conf de r-vp2 2021-01-20 10:48:03 +01:00
64f43dfb53 rectification version wordpress 2021-01-20 10:22:24 +01:00
root
e0d25e598a ajout de la machine s-itil 2021-01-19 15:11:46 +01:00
root
693d088dab Ajout de README.md pour postfix 2021-01-18 11:25:11 +01:00
root
b6919b1e30 Ajout de README.md pour postfix 2021-01-18 11:21:38 +01:00
root
dd77793bda Ajout de README.md pour postfix 2021-01-18 11:15:39 +01:00
root
3a5ef6c05d Ajout de README.md pour postfix 2021-01-18 11:13:00 +01:00
tl
e8ed8cf37d correction bug 2021-01-18 11:08:24 +01:00
tl
f366b0c566 adapt bug 2021-01-18 10:53:11 +01:00
tl
9b287db7a5 ajout mariadb-server 2021-01-18 10:34:34 +01:00
tl
ccd153fbb6 adapt s-lb-web2 2021-01-18 10:23:06 +01:00
tl
105b85cc53 adaptation wordpress et mysql 2021-01-18 09:55:14 +01:00
ea24a4bda8 modif backup.sh 2021-01-18 09:36:22 +01:00
db1252d3b6 modif backup.sh 2021-01-18 09:18:52 +01:00
7383918973 modif backup.sh 2021-01-18 09:14:33 +01:00
root
8f7ad1e13a modif s-mon 2021-01-18 09:12:49 +01:00
root
3b178d0a52 modif du nom icinga-fk en icinga 2021-01-18 09:10:10 +01:00
be3cb4ecca commit backup.sh 2021-01-18 08:58:54 +01:00
root
678858e4b1 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-18 08:31:40 +01:00
root
4ee5264660 ajout des droits icinga.log 2021-01-18 08:30:57 +01:00
9ea66d55be commit modif s-backup cifs-utils 2021-01-12 17:50:14 +01:00
root
b659652480 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-12 16:35:40 +01:00
root
250bbff7f5 ajout de postfix 2021-01-12 16:35:19 +01:00
root
155421f2c6 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-12 16:19:26 +01:00
root
0ef79d9bf9 ajout de force-all dans dpkg 2021-01-12 16:18:21 +01:00
bb
96cb377d9b Changement des droits sur /plugins/fusioninventory 2021-01-12 16:16:04 +01:00
root
cd4ac6c12b ajout python3 par defaut 2021-01-12 15:50:34 +01:00
root
0021fdca7d modif pathresults 2021-01-12 15:29:24 +01:00
root
d8bc589637 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-12 15:21:03 +01:00
tl
3cf9daf8cb modification des droits sur le repertoire fusioninventory 2021-01-12 15:16:32 +01:00
root
55c1b8cda0 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-12 15:16:24 +01:00
root
56cd0c515b ajout de dpkg et ajout de checkresults 2021-01-12 15:14:30 +01:00
Administrateur@gsb.lan
c96d7cdfcd commit delgsb.cmd 2021-01-12 15:01:10 +01:00
Administrateur@GSB.LAN
32e4b3d7ea commit mkgsb.cmd 2021-01-12 14:40:03 +01:00
tl
dbe94d3977 ajout paquet php-intl 2021-01-11 11:34:54 +01:00
tl
b624c73feb ajout paquet necessaire python3-pymysql 2021-01-11 11:04:11 +01:00
bb
aedd315561 Probleme resolv.conf resolu 2021-01-11 10:58:17 +01:00
tl
0ba2f3e24d modification variables des agents fusioninventory 2021-01-11 10:35:31 +01:00
bb
6845bc191b Maj liens /defaut 2021-01-11 10:33:56 +01:00
sio
7369432feb chgt version fi client Windows 2.5.2-> 2.6 2021-01-11 09:50:20 +01:00
tl
596ceda13c modification privileges mysql 2021-01-11 09:43:57 +01:00
bb
7f47454ebf Changement url 2021-01-11 09:39:27 +01:00
bb
c478e22273 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-11 09:15:27 +01:00
bb
811b7c246f Syntaxe + login_unix_socket 2021-01-11 09:11:54 +01:00
root
4d23d1a720 modif du paquet python 2021-01-11 08:36:45 +01:00
root
18ba7d06e5 modif de l'ordre des droits rw 2021-01-11 08:24:37 +01:00
9998a1f91a commit s-backup 2021-01-11 08:10:23 +01:00
sio
ce810bf71e typo 2021-01-07 17:30:45 +01:00
sio
04e893f1ee itil utilisation depl 2021-01-07 17:24:35 +01:00
root
ad2a36783b Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-07 17:08:50 +01:00
root
177ed5ada6 modif main.yml 2021-01-07 17:08:32 +01:00
sio
d6e497807e err typo s-mon .adm 2021-01-07 16:58:18 +01:00
sio
0445c30ae8 err typo s-mon 2021-01-07 16:56:08 +01:00
sio
c80a5fa165 err typo 2021-01-07 16:48:16 +01:00
sio
7ac4290d6c local-store : gestion de goss 2021-01-07 16:45:03 +01:00
sio
d6637fd506 chgt getall pour fusioninventory 2021-01-07 16:29:41 +01:00
root
7250eefb44 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-07 15:56:29 +01:00
root
d1f2f12b34 modif main.yml 2021-01-07 15:55:42 +01:00
bb
cc31f5da3b commentaire postfix-fk 2021-01-07 14:55:33 +01:00
phil
ffbfc1c6c7 ajout role local-store + pbook s-adm 2021-01-06 22:11:28 +01:00
5c44880bf6 Mise à jour de 'README.md' 2021-01-06 12:03:17 +01:00
7a655af2f2 Mise à jour de 'README.md' 2021-01-06 12:01:06 +01:00
e1ea414dd2 Mise à jour de 'README.md' 2021-01-06 12:00:28 +01:00
tl
73c5d2a952 adapt s-proxy.yml bugs divers 2021-01-06 11:32:38 +01:00
sio
69e676027c adapt pull-config pout gitea distant 2021-01-06 09:49:04 +01:00
phil
41a489362b ajout Vagrantfile pour s-adm 2021-01-06 01:02:58 +01:00
104 changed files with 1880 additions and 317 deletions

View File

@ -1,3 +1,59 @@
# gsb2021 # gsb2021
Environnement et playbooks ansible pour le projet GSB 2021 Environnement et playbooks ansible pour le projet GSB 2021
## Quickstart
prérequis : une machine Debian buster
## Les machines
* s-adm
* s-infra
* r-int
* r-ext
* s-proxy
## Les playbooks
## Installation
On utilisera l'image de machine virtuelle suivante :
* **debian-buster-gsb-2021b.ova** (2021-03-31)
* Bebian Buster 10.9 - 2 cartes - 1 Go - stockage 20 Go
### Machine s-adm
* créer la machine virtuelle **s-adm** en important l'image ova décrite plus haut
* renommer la machine puis redémarrer
* taper :
```shell
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
cd gsb2021/pre
bash inst-depl
cd /var/www/html/gsbstore
bash getall
cd /root/tools/ansible/gsb021/pre
bash gsbboot
cd .. ; bash pull-config/pre
```
- redémarrer
### Pour chaque machine
- importer la machine à partir du fichier **.ova**
- définir les cartes réseau en accord avec le plan d'adressage et le schéma
- donner le nom adapté (avec sed -i …)
- redémarrer
- mettre à jour les paquets : apt update && apt upgrade
- cloner le dépot :
```shell
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
cd gsb2021/pre
export DEPL=192.168.99.99
bash gsbboot
bash pull-config
```

BIN
doc/pics/e4-dmz-tl.dia Normal file

Binary file not shown.

BIN
doc/pics/e4-dmz-tl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

39
goss/s-agence.yaml Normal file
View File

@ -0,0 +1,39 @@
command:
ip r:
exit-status: 0
stdout:
- default via 172.16.128.254 dev enp0s8
- 172.16.128.0/24
- 192.168.99.0/24
stderr: []
timeout: 10000
ping -c 2 172.16.128.254:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.1.2:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.1.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.200.254:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 172.16.0.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000

View File

@ -10,6 +10,7 @@ port:
listening: true listening: true
ip: ip:
- '::' - '::'
service:
squid: squid:
enabled: true enabled: true
running: true running: true
@ -24,15 +25,13 @@ interface:
enp0s3: enp0s3:
exists: true exists: true
addrs: addrs:
- 192.168.99.1/24 - 192.168.99.2/24
enp0s8 mtu: 1500
exists: true
addrs:
- 192.168.99.1/24
enp0s8: enp0s8:
exists: true exists: true
addrs: addrs:
- 172.16.0.1/24 - 172.16.0.2/24
mtu: 1500
http: http:
http://localhost/wpad.dat: http://localhost/wpad.dat:
status: 200 status: 200

77
pre/Vagrantfile-s-adm Normal file
View File

@ -0,0 +1,77 @@
# -*- 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

54
pre/gsbboot Normal file
View File

@ -0,0 +1,54 @@
#!/bin/bash
version="1.8"
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
__base="$(basename ${__file})"
__root="$(cd "$(dirname "${__dir}")" && pwd)"
echo "dir : ${__dir}"
echo "file : ${__file}"
echo "base : ${__base}"
echo "root : ${__root}"
# version 1.8
# install git si besoin
# install ansible si besoin + backports si wheezy
readonly base=/root/tools/ansible
readonly slist=/etc/apt/sources.list
readonly host=depl
if [[ -z ${DEPL+x} ]]; then
echo "erreur : DEPL indefini"
echo " DEPL : adresse serveur deploiement"
echo "export DEPL=xyzt ; ./$0"
exit 1
fi
hostf="${host}.local"
prj=gsb
APT=apt
which git >> /dev/null
if [[ $? != 0 ]]; then
${APT} update
echo "installation de git ..."
${APT} install -y git-core
fi
${APT} update
${APT} upgrade -y
which ansible >> /dev/null
if [[ $? != 0 ]]; then
echo "installation de ansible ..."
${APT} install -y ansible
fi
[ -e "${base}" ] || mkdir -p "${base}"
grep "${hostf}" /etc/hosts > /dev/null || echo "${DEPL} ${hostf} ${host}" >> /etc/hosts
cd "${base}"
cp ${prj}/pull-config ${base}
#echo "N'oubliez pasz d'indiquer l'adresse DEPL dans '/root/tools/ansible/pull-config'"
echo "Vous pouvez lancer 'bash pull-config' depuis ${base} ..."

View File

@ -1,46 +1,39 @@
#!/bin/bash #!/bin/bash
## ps : 2021-04-01 15:25
set -o errexit set -o errexit
set -o pipefail set -o pipefail
GITUSR=gitgsb GITUSR=gitgsb
GITPRJ=gsb GITPRJ=gsb2021
apt update && apt upgrade apt update && apt upgrade
apt install -y apache2 git apt install -y apache2 git
getent passwd "${GITUSR}" >> /dev/null STOREREP="/var/www/html/gsbstore"
if [[ $? != 0 ]]; then [[ -d "${STOREREP}" ]]|| mkdir "${STOREREP}"
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
(cat <<EOT > "${STOREREP}/getall"
#!/bin/bash #!/bin/bash
set -o errexit LPIREL=9.5.3
set -o pipefail wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz
GLPIREL=9.4.5 FIREL=9.5+1.0
wget -nc https://github.com/glpi-project/glpi/releases/download/\${GLPIREL}/glpi-\${GLPIREL}.tgz #wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
FIREL=9.4+2.4 FIAGREL=2.6
wget -nc -O fusioninventory-glpi\${FIREL}.tag.gz https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi\${FIREL}.tar.gz wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x64_${FIAGREL}.exe
#https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi9.4+2.4.tar.g wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x86_${FIAGREL}.exe
FIAGREL=2.5.2 FOGREL=1.5.9
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\${FIAGREL}/fusioninventory-agent_windows-x64_\${FIAGREL}.exe wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\$FIAGREL/fusioninventory-agent_windows-x86_\${FIAGREL}.exe WPREL=5.6
wget -nc https://fr.wordpress.org/wordpress-5.6-fr_FR.tar.gz
FOGREL=1.5.7 GOSSVER=v0.3.16
wget -nc https://github.com/FOGProject/fogproject/archive/\${FOGREL}.tar.gz -O fogproject-\${FOGREL}.tar.gz curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss
chmod +x goss
wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
EOT EOT
) )

48
pre/inst-depl.old Normal file
View File

@ -0,0 +1,48 @@
#!/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

View File

@ -2,31 +2,15 @@
if [ -z ${UREP+x} ]; then if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
else
echo "var is set to '$var'"
fi fi
REPO=$(basename ${UREP})
dir=/root/tools/ansible dir=/root/tools/ansible
host=depl
hostf=$host.sio.lan
repo=gsb
[ -e $dir ] || mkdir -p $dir [ -e "${dir}" ] || mkdir -p "${dir}"
#grep $hostf /etc/hosts > /dev/null || echo "10.121.38.10 $hostf $host" >> /etc/hosts cd "${dir}" || exit 1
cd $dir
hostname > hosts hostname > hosts
ansible-pull -i "${dir}/hosts" -U "${UREP}"
#git clone http://$host/$repo.git
#cd $repo
#git pull
#ansible-playbook -c local -i 'localhost,' $(hostname).yml
#ansible-pull -i $dir/hosts -d $repo -U "${UREP}"
ansible-pull -i $dir/hosts -U "${UREP}"
exit 0 exit 0

1
proxy Symbolic link
View File

@ -0,0 +1 @@
/etc/nginx/sites-availables/proxy

View File

@ -1,24 +1,16 @@
#!/bin/bash #!/bin/bash
if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
fi
dir=/root/tools/ansible dir=/root/tools/ansible
host=depl
hostf=$host.sio.lan
repo=gsb
[ -e $dir ] || mkdir -p $dir [ -e "${dir}" ] || mkdir -p "${dir}"
grep $hostf /etc/hosts > /dev/null || echo "10.121.38.10 $hostf $host" >> /etc/hosts cd "${dir}" || exit 1
cd $dir
hostname > hosts hostname > hosts
ansible-pull -i "${dir}/hosts" -U "${UREP}"
#git clone http://$host/$repo.git
cd $repo
git pull
ansible-playbook -c local -i 'localhost,' $(hostname).yml
#ansible-pull -i $dir/hosts -d $repo -U http://$host/$repo.git
exit 0 exit 0

View File

@ -12,9 +12,9 @@
- base - base
- goss - goss
- snmp-agent - snmp-agent
- vpn-stg-r - firewall-vpn-r
# - x509-r # - vpn-stg-r
# - firewall-vpn-r - x509-r
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- post - post

View File

@ -13,10 +13,11 @@
- goss - goss
- dhcp-ag - dhcp-ag
- dns-agence - dns-agence
- ssh-root-access
- snmp-agent - snmp-agent
- vpn-stg-l - firewall-vpn-l
# - x509-l # - vpn-stg-l
# - firewall-vpn-l - x509-l
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- post - post

View File

@ -6,7 +6,7 @@
apt: name={{ item }} state=present apt: name={{ item }} state=present
with_items: with_items:
- apache2 - apache2
- mysql-server - mariadb-server
- php-mysql - php-mysql
- php - php
- libapache2-mod-php - libapache2-mod-php

View File

@ -7,6 +7,14 @@
copy: src=apt.conf dest=/etc/apt/apt.conf copy: src=apt.conf dest=/etc/apt/apt.conf
when: ansible_hostname != "s-adm" when: ansible_hostname != "s-adm"
#- name: Sysctl desactive ipv6
# sysctl:
# name: net.ipv6.conf.all.disable_ipv6
# value: 1
# sysctl_set: yes
# state: present
# reload: yes
- name: Update + Upgrade - name: Update + Upgrade
apt: apt:
upgrade: yes upgrade: yes

View File

@ -2,9 +2,9 @@
127.0.1.1 {{ ansible_nodename }} {{ ansible_hostname }} 127.0.1.1 {{ ansible_nodename }} {{ ansible_hostname }}
127.0.0.1 localhost ip6-localhost ip6-loopback 127.0.0.1 localhost ip6-localhost ip6-loopback
10.121.38.10 depl.sio.lan depl #10.121.38.10 depl.sio.lan depl
192.168.99.99 s-adm.gsb.adm 192.168.99.99 s-adm.gsb.adm depl.sio.lan depl
192.168.99.1 s-infra.gsb.adm 192.168.99.1 s-infra.gsb.adm
192.168.99.2 s-proxy.gsb.adm 192.168.99.2 s-proxy.gsb.adm
192.168.99.3 s-appli.gsb.adm 192.168.99.3 s-appli.gsb.adm

View File

@ -3,9 +3,9 @@
127.0.0.1 localhost ip6-localhost ip6-loopback 127.0.0.1 localhost ip6-localhost ip6-loopback
172.16.0.2 s-proxy.gsb.lan s-proxy 172.16.0.2 s-proxy.gsb.lan s-proxy
10.121.38.10 depl #10.121.38.10 depl
192.168.99.99 s-adm.gsb.adm 192.168.99.99 s-adm.gsb.adm depl
192.168.99.1 s-infra.gsb.adm 192.168.99.1 s-infra.gsb.adm
192.168.99.2 s-proxy.gsb.adm 192.168.99.2 s-proxy.gsb.adm
192.168.99.3 s-appli.gsb.adm 192.168.99.3 s-appli.gsb.adm

View File

@ -21,6 +21,8 @@ s-proxy IN A 172.16.0.2
s-appli IN A 172.16.0.3 s-appli IN A 172.16.0.3
s-win IN A 172.16.0.6 s-win IN A 172.16.0.6
s-mess IN A 172.16.0.7 s-mess IN A 172.16.0.7
s-nxc IN A 172.16.0.7
s-docker IN A 172.16.0.7
s-mon IN A 172.16.0.8 s-mon IN A 172.16.0.8
s-itil IN A 172.16.0.9 s-itil IN A 172.16.0.9
r-int IN A 172.16.0.254 r-int IN A 172.16.0.254

View File

@ -0,0 +1,48 @@
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'instanceid' => 'ocvc4q2htemf',
'passwordsalt' => 'stdJZMx4C5hz85Kqt8XdZIzx8kVOHI',
'secret' => 'II1BBgzlx70WUYCapAt/m/Bt1ZEk/n11n0DVq3zynyU8F/bU',
'trusted_domains' =>
array (
0 => '172.16.0.7:5678',
1 => '172.16.0.7:8080',
2 => 's-mess',
3 => 's-mess.gsb.lan',
4 => 'localhost:8080',
5 => 's-nxec.gsb.lan',
),
'trusted_proxies' => ['172.16.0.7'],
'overwriteprotocol' => 'http',
'overwritehost' => '172.16.0.7:8080',
'proxy' => '172.16.0.7:8080',
'datadirectory' => '/var/www/html/data',
'dbtype' => 'mysql',
'version' => '20.0.6.1',
'overwrite.cli.url' => 'http://172.16.0.7:5678',
'dbname' => 'nextcloud',
'dbhost' => 'db',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => 'root',
'installed' => true,
);

View File

@ -0,0 +1,13 @@
-----BEGIN DH PARAMETERS-----
MIICCAKCAgEA9YcWlg90PgLB2PS31Tv8mxn6cyRZd4GvX6tkqwOfXhdBZYzgoEnJ
17U+hDqpT5utQpUbfR0//uXr53mpu3ufxCNJ9gSsCIAbmhTIT3qwLwUis3Etb8PA
4LCTbVHvua5W7/pdM0s8PIOAWK7ah09p+mzwZqx5tKZWtbdERQKIAGE6Xmd4845/
9oBWTj2g5t83Gt/fZDy+NVRy5ePb/KGix4bEmfnZ5htC/16VFPVrSZUALoxn8HtC
3nn4eqBrZeAxY6UHuW0ZPkRmpLs3GCILa+gze+wDlKlhC+RQU/f8Fijo6SsQPzNf
6BzJdoyeeE9OyyhhWu4Mihr39RnShk1ABO2eZrA1TE7L5X3YuCeIO09j99hkEsPr
mX1zh+v4sx2FFMZLebu+5KYf+ROOOYtMy6AJQq55avccTPrs0S+pxswypbzMD4ym
BYtPO46XYkRhrX47TfVHLW9oonDmMxPKNidNMrFtKW0b6f09iOcN9iEA/EM0s+3n
uQ2h+bQrwGqo5aMSUuJ3w8EjFySIqKgU5ZxJzPGSndsqS7zd2hUxNx7EZueHXX5N
CJ7kWRhIFv8YHHx0J/VFJieyr7DAUATu7chu4aGhwf2AoGYzmI0tjSh+3rQiDh7O
h+JtKr+wifr9P2vBqIWFQltOC2srRs+EB+5/qN1iIjYmq52MkUbFLfMCAQI=
-----END DH PARAMETERS-----

View File

@ -0,0 +1,35 @@
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TZ=Europe/Paris
app:
image: nextcloud
restart: always
ports:
- 5678:80
links:
- db
volumes:
- ./nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- TZ=Europe/Paris

View File

@ -0,0 +1,502 @@
#!/bin/sh
set -e
# Docker CE for Linux installation script
#
# See https://docs.docker.com/install/ for the installation steps.
#
# This script is meant for quick & easy install via:
# $ curl -fsSL https://get.docker.com -o get-docker.sh
# $ sh get-docker.sh
#
# For test builds (ie. release candidates):
# $ curl -fsSL https://test.docker.com -o test-docker.sh
# $ sh test-docker.sh
#
# NOTE: Make sure to verify the contents of the script
# you downloaded matches the contents of install.sh
# located at https://github.com/docker/docker-install
# before executing.
#
# Git commit from https://github.com/docker/docker-install when
# the script was uploaded (Should only be modified by upload job):
SCRIPT_COMMIT_SHA="3d8fe77c2c46c5b7571f94b42793905e5b3e42e4"
# The channel to install from:
# * nightly
# * test
# * stable
# * edge (deprecated)
DEFAULT_CHANNEL_VALUE="stable"
if [ -z "$CHANNEL" ]; then
CHANNEL=$DEFAULT_CHANNEL_VALUE
fi
DEFAULT_DOWNLOAD_URL="https://download.docker.com"
if [ -z "$DOWNLOAD_URL" ]; then
DOWNLOAD_URL=$DEFAULT_DOWNLOAD_URL
fi
DEFAULT_REPO_FILE="docker-ce.repo"
if [ -z "$REPO_FILE" ]; then
REPO_FILE="$DEFAULT_REPO_FILE"
fi
mirror=''
DRY_RUN=${DRY_RUN:-}
while [ $# -gt 0 ]; do
case "$1" in
--mirror)
mirror="$2"
shift
;;
--dry-run)
DRY_RUN=1
;;
--*)
echo "Illegal option $1"
;;
esac
shift $(( $# > 0 ? 1 : 0 ))
done
case "$mirror" in
Aliyun)
DOWNLOAD_URL="https://mirrors.aliyun.com/docker-ce"
;;
AzureChinaCloud)
DOWNLOAD_URL="https://mirror.azure.cn/docker-ce"
;;
esac
command_exists() {
command -v "$@" > /dev/null 2>&1
}
is_dry_run() {
if [ -z "$DRY_RUN" ]; then
return 1
else
return 0
fi
}
is_wsl() {
case "$(uname -r)" in
*microsoft* ) true ;; # WSL 2
*Microsoft* ) true ;; # WSL 1
* ) false;;
esac
}
is_darwin() {
case "$(uname -s)" in
*darwin* ) true ;;
*Darwin* ) true ;;
* ) false;;
esac
}
deprecation_notice() {
distro=$1
date=$2
echo
echo "DEPRECATION WARNING:"
echo " The distribution, $distro, will no longer be supported in this script as of $date."
echo " If you feel this is a mistake please submit an issue at https://github.com/docker/docker-install/issues/new"
echo
sleep 10
}
get_distribution() {
lsb_dist=""
# Every system that we officially support has /etc/os-release
if [ -r /etc/os-release ]; then
lsb_dist="$(. /etc/os-release && echo "$ID")"
fi
# Returning an empty string here should be alright since the
# case statements don't act unless you provide an actual value
echo "$lsb_dist"
}
add_debian_backport_repo() {
debian_version="$1"
backports="deb http://ftp.debian.org/debian $debian_version-backports main"
if ! grep -Fxq "$backports" /etc/apt/sources.list; then
(set -x; $sh_c "echo \"$backports\" >> /etc/apt/sources.list")
fi
}
echo_docker_as_nonroot() {
if is_dry_run; then
return
fi
if command_exists docker && [ -e /var/run/docker.sock ]; then
(
set -x
$sh_c 'docker version'
) || true
fi
your_user=your-user
[ "$user" != 'root' ] && your_user="$user"
# intentionally mixed spaces and tabs here -- tabs are stripped by "<<-EOF", spaces are kept in the output
echo "If you would like to use Docker as a non-root user, you should now consider"
echo "adding your user to the \"docker\" group with something like:"
echo
echo " sudo usermod -aG docker $your_user"
echo
echo "Remember that you will have to log out and back in for this to take effect!"
echo
echo "WARNING: Adding a user to the \"docker\" group will grant the ability to run"
echo " containers which can be used to obtain root privileges on the"
echo " docker host."
echo " Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface"
echo " for more information."
}
# Check if this is a forked Linux distro
check_forked() {
# Check for lsb_release command existence, it usually exists in forked distros
if command_exists lsb_release; then
# Check if the `-u` option is supported
set +e
lsb_release -a -u > /dev/null 2>&1
lsb_release_exit_code=$?
set -e
# Check if the command has exited successfully, it means we're in a forked distro
if [ "$lsb_release_exit_code" = "0" ]; then
# Print info about current distro
cat <<-EOF
You're using '$lsb_dist' version '$dist_version'.
EOF
# Get the upstream release info
lsb_dist=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'id' | cut -d ':' -f 2 | tr -d '[:space:]')
dist_version=$(lsb_release -a -u 2>&1 | tr '[:upper:]' '[:lower:]' | grep -E 'codename' | cut -d ':' -f 2 | tr -d '[:space:]')
# Print info about upstream distro
cat <<-EOF
Upstream release is '$lsb_dist' version '$dist_version'.
EOF
else
if [ -r /etc/debian_version ] && [ "$lsb_dist" != "ubuntu" ] && [ "$lsb_dist" != "raspbian" ]; then
if [ "$lsb_dist" = "osmc" ]; then
# OSMC runs Raspbian
lsb_dist=raspbian
else
# We're Debian and don't even know it!
lsb_dist=debian
fi
dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')"
case "$dist_version" in
10)
dist_version="buster"
;;
9)
dist_version="stretch"
;;
8|'Kali Linux 2')
dist_version="jessie"
;;
esac
fi
fi
fi
}
semverParse() {
major="${1%%.*}"
minor="${1#$major.}"
minor="${minor%%.*}"
patch="${1#$major.$minor.}"
patch="${patch%%[-.]*}"
}
do_install() {
echo "# Executing docker install script, commit: $SCRIPT_COMMIT_SHA"
if command_exists docker; then
docker_version="$(docker -v | cut -d ' ' -f3 | cut -d ',' -f1)"
MAJOR_W=1
MINOR_W=10
semverParse "$docker_version"
shouldWarn=0
if [ "$major" -lt "$MAJOR_W" ]; then
shouldWarn=1
fi
if [ "$major" -le "$MAJOR_W" ] && [ "$minor" -lt "$MINOR_W" ]; then
shouldWarn=1
fi
cat >&2 <<-'EOF'
Warning: the "docker" command appears to already exist on this system.
If you already have Docker installed, this script can cause trouble, which is
why we're displaying this warning and provide the opportunity to cancel the
installation.
If you installed the current Docker package using this script and are using it
EOF
if [ $shouldWarn -eq 1 ]; then
cat >&2 <<-'EOF'
again to update Docker, we urge you to migrate your image store before upgrading
to v1.10+.
You can find instructions for this here:
https://github.com/docker/docker/wiki/Engine-v1.10.0-content-addressability-migration
EOF
else
cat >&2 <<-'EOF'
again to update Docker, you can safely ignore this message.
EOF
fi
cat >&2 <<-'EOF'
You may press Ctrl+C now to abort this script.
EOF
( set -x; sleep 20 )
fi
user="$(id -un 2>/dev/null || true)"
sh_c='sh -c'
if [ "$user" != 'root' ]; then
if command_exists sudo; then
sh_c='sudo -E sh -c'
elif command_exists su; then
sh_c='su -c'
else
cat >&2 <<-'EOF'
Error: this installer needs the ability to run commands as root.
We are unable to find either "sudo" or "su" available to make this happen.
EOF
exit 1
fi
fi
if is_dry_run; then
sh_c="echo"
fi
# perform some very rudimentary platform detection
lsb_dist=$( get_distribution )
lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')"
if is_wsl; then
echo
echo "WSL DETECTED: We recommend using Docker Desktop for Windows."
echo "Please get Docker Desktop from https://www.docker.com/products/docker-desktop"
echo
cat >&2 <<-'EOF'
You may press Ctrl+C now to abort this script.
EOF
( set -x; sleep 20 )
fi
case "$lsb_dist" in
ubuntu)
if command_exists lsb_release; then
dist_version="$(lsb_release --codename | cut -f2)"
fi
if [ -z "$dist_version" ] && [ -r /etc/lsb-release ]; then
dist_version="$(. /etc/lsb-release && echo "$DISTRIB_CODENAME")"
fi
;;
debian|raspbian)
dist_version="$(sed 's/\/.*//' /etc/debian_version | sed 's/\..*//')"
case "$dist_version" in
10)
dist_version="buster"
;;
9)
dist_version="stretch"
;;
8)
dist_version="jessie"
;;
esac
;;
centos|rhel)
if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then
dist_version="$(. /etc/os-release && echo "$VERSION_ID")"
fi
;;
*)
if command_exists lsb_release; then
dist_version="$(lsb_release --release | cut -f2)"
fi
if [ -z "$dist_version" ] && [ -r /etc/os-release ]; then
dist_version="$(. /etc/os-release && echo "$VERSION_ID")"
fi
;;
esac
# Check if this is a forked Linux distro
check_forked
# Run setup for each distro accordingly
case "$lsb_dist" in
ubuntu|debian|raspbian)
pre_reqs="apt-transport-https ca-certificates curl"
if [ "$lsb_dist" = "debian" ]; then
# libseccomp2 does not exist for debian jessie main repos for aarch64
if [ "$(uname -m)" = "aarch64" ] && [ "$dist_version" = "jessie" ]; then
add_debian_backport_repo "$dist_version"
fi
fi
if ! command -v gpg > /dev/null; then
pre_reqs="$pre_reqs gnupg"
fi
apt_repo="deb [arch=$(dpkg --print-architecture)] $DOWNLOAD_URL/linux/$lsb_dist $dist_version $CHANNEL"
(
if ! is_dry_run; then
set -x
fi
$sh_c 'apt-get update -qq >/dev/null'
$sh_c "DEBIAN_FRONTEND=noninteractive apt-get install -y -qq $pre_reqs >/dev/null"
$sh_c "curl -fsSL \"$DOWNLOAD_URL/linux/$lsb_dist/gpg\" | apt-key add -qq - >/dev/null"
$sh_c "echo \"$apt_repo\" > /etc/apt/sources.list.d/docker.list"
$sh_c 'apt-get update -qq >/dev/null'
)
pkg_version=""
if [ -n "$VERSION" ]; then
if is_dry_run; then
echo "# WARNING: VERSION pinning is not supported in DRY_RUN"
else
# Will work for incomplete versions IE (17.12), but may not actually grab the "latest" if in the test channel
pkg_pattern="$(echo "$VERSION" | sed "s/-ce-/~ce~.*/g" | sed "s/-/.*/g").*-0~$lsb_dist"
search_command="apt-cache madison 'docker-ce' | grep '$pkg_pattern' | head -1 | awk '{\$1=\$1};1' | cut -d' ' -f 3"
pkg_version="$($sh_c "$search_command")"
echo "INFO: Searching repository for VERSION '$VERSION'"
echo "INFO: $search_command"
if [ -z "$pkg_version" ]; then
echo
echo "ERROR: '$VERSION' not found amongst apt-cache madison results"
echo
exit 1
fi
search_command="apt-cache madison 'docker-ce-cli' | grep '$pkg_pattern' | head -1 | awk '{\$1=\$1};1' | cut -d' ' -f 3"
# Don't insert an = for cli_pkg_version, we'll just include it later
cli_pkg_version="$($sh_c "$search_command")"
pkg_version="=$pkg_version"
fi
fi
(
if ! is_dry_run; then
set -x
fi
if [ -n "$cli_pkg_version" ]; then
$sh_c "apt-get install -y -qq --no-install-recommends docker-ce-cli=$cli_pkg_version >/dev/null"
fi
$sh_c "apt-get install -y -qq --no-install-recommends docker-ce$pkg_version >/dev/null"
)
echo_docker_as_nonroot
exit 0
;;
centos|fedora|rhel)
yum_repo="$DOWNLOAD_URL/linux/$lsb_dist/$REPO_FILE"
if ! curl -Ifs "$yum_repo" > /dev/null; then
echo "Error: Unable to curl repository file $yum_repo, is it valid?"
exit 1
fi
if [ "$lsb_dist" = "fedora" ]; then
pkg_manager="dnf"
config_manager="dnf config-manager"
enable_channel_flag="--set-enabled"
disable_channel_flag="--set-disabled"
pre_reqs="dnf-plugins-core"
pkg_suffix="fc$dist_version"
else
pkg_manager="yum"
config_manager="yum-config-manager"
enable_channel_flag="--enable"
disable_channel_flag="--disable"
pre_reqs="yum-utils"
pkg_suffix="el"
fi
(
if ! is_dry_run; then
set -x
fi
$sh_c "$pkg_manager install -y -q $pre_reqs"
$sh_c "$config_manager --add-repo $yum_repo"
if [ "$CHANNEL" != "stable" ]; then
$sh_c "$config_manager $disable_channel_flag docker-ce-*"
$sh_c "$config_manager $enable_channel_flag docker-ce-$CHANNEL"
fi
$sh_c "$pkg_manager makecache"
)
pkg_version=""
if [ -n "$VERSION" ]; then
if is_dry_run; then
echo "# WARNING: VERSION pinning is not supported in DRY_RUN"
else
pkg_pattern="$(echo "$VERSION" | sed "s/-ce-/\\\\.ce.*/g" | sed "s/-/.*/g").*$pkg_suffix"
search_command="$pkg_manager list --showduplicates 'docker-ce' | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'"
pkg_version="$($sh_c "$search_command")"
echo "INFO: Searching repository for VERSION '$VERSION'"
echo "INFO: $search_command"
if [ -z "$pkg_version" ]; then
echo
echo "ERROR: '$VERSION' not found amongst $pkg_manager list results"
echo
exit 1
fi
search_command="$pkg_manager list --showduplicates 'docker-ce-cli' | grep '$pkg_pattern' | tail -1 | awk '{print \$2}'"
# It's okay for cli_pkg_version to be blank, since older versions don't support a cli package
cli_pkg_version="$($sh_c "$search_command" | cut -d':' -f 2)"
# Cut out the epoch and prefix with a '-'
pkg_version="-$(echo "$pkg_version" | cut -d':' -f 2)"
fi
fi
(
if ! is_dry_run; then
set -x
fi
# install the correct cli version first
if [ -n "$cli_pkg_version" ]; then
$sh_c "$pkg_manager install -y -q docker-ce-cli-$cli_pkg_version"
fi
$sh_c "$pkg_manager install -y -q docker-ce$pkg_version"
)
echo_docker_as_nonroot
exit 0
;;
*)
if [ -z "$lsb_dist" ]; then
if is_darwin; then
echo
echo "ERROR: Unsupported operating system 'macOS'"
echo "Please get Docker Desktop from https://www.docker.com/products/docker-desktop"
echo
exit 1
fi
fi
echo
echo "ERROR: Unsupported distribution '$lsb_dist'"
echo
exit 1
;;
esac
exit 1
}
# wrapped up in a function so that we have some protection against only getting
# half the file during "curl | sh"
do_install

View File

@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEAzCCAuugAwIBAgIUAr99SgfwQjW0wJSay5rL7I8V6G4wDQYJKoZIhvcNAQEL
BQAwgZAxCzAJBgNVBAYTAkZSMRIwEAYDVQQIDAlCb3VyZ29nbmUxDjAMBgNVBAcM
BURpam9uMQwwCgYDVQQKDANHU0IxDjAMBgNVBAsMBWluZnJhMRcwFQYDVQQDDA5z
LW54ZWMuZ3NiLmxhbjEmMCQGCSqGSIb3DQEJARYXYXhlbC5tcmwuc2NvbEBnbWFp
bC5jb20wHhcNMjEwMzI5MDkzMTIxWhcNMjIwMzI5MDkzMTIxWjCBkDELMAkGA1UE
BhMCRlIxEjAQBgNVBAgMCUJvdXJnb2duZTEOMAwGA1UEBwwFRGlqb24xDDAKBgNV
BAoMA0dTQjEOMAwGA1UECwwFaW5mcmExFzAVBgNVBAMMDnMtbnhlYy5nc2IubGFu
MSYwJAYJKoZIhvcNAQkBFhdheGVsLm1ybC5zY29sQGdtYWlsLmNvbTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+iB7H1clY8gwX6CQfBqU+V4gF4ZMmg
HMbnoPvWV0WOJlgyODh5xdE11iJBBby8VNdiruGNJCeLeI4WWUUkJJXMyeWNTM6/
JIZhVZI0UF042S/s8WdP+jls4aASkp0QH+XDs+758y5D9lRoX+At+bRZSC/Fz/tL
Y16e15F1+BxZeSWUEajHZIJZ79gm0UQxA9HdHAHpoWR05P74Fy6rnOsQNtBW4Jkt
xDb9CHRWNVjvbBuPsDwPTEOvMq94r5yWspHDhA3edvtAAJke5N9od4mN8KTJQouJ
O0ZzvOYIofr8iQM3981p9MuBUwtDNT7+ns22lDXeORoliOCG1gE25DsCAwEAAaNT
MFEwHQYDVR0OBBYEFJgtmIFxdyFe3vZ/a3UwxORCZiLiMB8GA1UdIwQYMBaAFJgt
mIFxdyFe3vZ/a3UwxORCZiLiMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
BQADggEBAJm7oJOJev7hh/G1xCPPyASWn9s9C9sb5zbxyq1gF5P6Br8Xof9OJ1ZE
XJaH1MwxxR+2Qhok6gERBSqpwe6jnreImOpqhHEQGdMWJvIRlvTPQmEj/mCoLGKf
DsIvl3ug4OfNqMojwYlGhsfQH92Qz2pnE88pLIT13y85c8TJHti2+GOxOTSxYLrs
lt3fYYjnSZ2mm9fLBcP/XgdCSTeN6XwpJr2b56sVh0uehFXnkgzjDd+PTGkIgnfT
/eXtX8+VbQIOSEOrIt0GneBZ3n37FSgz/y9TR5HgNKyt74oxbLsYR0qWpbCcEjw+
ex/v7vE3bXgPGE56NzhlM1Pjh90R9hI=
-----END CERTIFICATE-----

View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvogex9XJWPIMF
+gkHwalPleIBeGTJoBzG56D71ldFjiZYMjg4ecXRNdYiQQW8vFTXYq7hjSQni3iO
FllFJCSVzMnljUzOvySGYVWSNFBdONkv7PFnT/o5bOGgEpKdEB/lw7Pu+fMuQ/ZU
aF/gLfm0WUgvxc/7S2NenteRdfgcWXkllBGox2SCWe/YJtFEMQPR3RwB6aFkdOT+
+Bcuq5zrEDbQVuCZLcQ2/Qh0VjVY72wbj7A8D0xDrzKveK+clrKRw4QN3nb7QACZ
HuTfaHeJjfCkyUKLiTtGc7zmCKH6/IkDN/fNafTLgVMLQzU+/p7NtpQ13jkaJYjg
htYBNuQ7AgMBAAECggEAfyHLbi7cL74nnZjrFnlBpIE7EpNiaWyDyBr8ta7mh0up
R+g6N+81mQXeVfc5PvAYfbxKGKyBAjr77eYRgnHyJZkSgB5y/ajwuHEWbvl9Pq2a
0Q0zhPQojY7aF3O6OwTkAf5Sbebx94hsc5cF55GAEeMa1LHcpethJ6nVIs8A5QtP
ZgGlfFkgGXp1GQPmeX1jQePSp8nqCftIwFPOuLcuQnisc282NCRHl3M+VlnUIZNL
fgRxalurrnaKf5P9DRvxiGlUJzoH1h0tgYbfUMpoRXdYYK3wjVbWWPROrS1c1yrl
17W004k8Fb++rUmQucQEtsiID/ymAMZPtiCG2IqvwQKBgQDjQGf8GFt04ypvoux/
acOMtHXaA1k1Fa6Gtvr3dCfhlm4dCxvHfAqWawW2GXrSajhVRe+vcqBMyKAY5G3a
O3nZNpFliMqbftzKkF6AThIgaDaGAzfr+I88urvX0od1+wzjzievOHOlbil3OriD
HrGmfO/xnnXkgHCQK2YjmhFeoQKBgQDF2fEp5HZAZFWy55LVlS6DIDFfK2DShCNf
ENcDp1YWz/PCbHTY0xXZ6T4TOX14YYmeZVZFCUcpWGQrfL+ogJhoM9iQFuzYrzMz
iYjgICeTJPLGQawC6CKVFcE7i6kjNie66IjEIZj1rS2zG/+WVTl95M8JxJO2U7a/
7JiYJiehWwKBgQCqxb6euisYJpHAPL3ebbtO5Fnf0D5cXwO9JopoJHjH1ITA/JUO
jo9iQ+CR3Inoz3uv0RNyVABUUzvEGPzYT3OcoJ4Yn/gpa+c9rcnmP0Tt54J5qLeA
c1QofeclI4c6SMOB+WznBtQZEDTG7XC0z/8OLrsdZkgPw9lS7doejOvaoQKBgGbV
azp561h2jfBp2nC2lDFFN0Qe2LkyQuwzZX4ZqG488ZZZJrZXqGDVkRUO6X77Ozsf
sqI5O0prDc1ojnk3NX/birEBqWLKVRNxZboQHGGnb6PKGGx+WRMh9ohLg8KwcB/+
oq9GQylWNI2GfOaXL0WW+mE6UggPJMpGX92c3zZHAoGAMOFoxUjjzsB0oJLTuYax
VKE7Jno24o5JeDRm69WS3E6boSZsIY/9r4jWtYiTbhwlTZpZMqad3h/zM/swHvVq
hh1BaHXBik/9rpnyTMZ9vo6UNyYo/TJPH3yrKwZbF4Cn2uWQoJCfDeo9VXdIEbEn
SwyeWd4Zkt/wvqmocF5KVqI=
-----END PRIVATE KEY-----

View File

@ -0,0 +1,121 @@
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name s-nxec.gsb.lan;
return 302 https://$server_name$request_uri;
}
# location / {
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_pass http://localhost:5678;
# proxy_connect_timeout 900;
# proxy_send_timeout 900;
# proxy_read_timeout 900;
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name s-nxec.gsb.lan;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:5678;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
}
}
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
# root /var/www/html;
# Add index.php to the list if you are using PHP
# index index.html index.htm index.nginx-debian.html;
# server_name _;
# location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
# }
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

View File

@ -0,0 +1,100 @@
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 8080 default_server;
listen [::]:8080 default_server;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:5678;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
}
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
# root /var/www/html;
# Add index.php to the list if you are using PHP
# index index.html index.htm index.nginx-debian.html;
# server_name _;
# location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
# }
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

View File

@ -0,0 +1,2 @@
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

View File

@ -0,0 +1,18 @@
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparam.pem;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 172.16.0.1 valid=300s;
resolver_timeout 5s;
# Disable strict transport security for now. You can uncomment the following
# line if you understand the implications.
# add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

View File

@ -0,0 +1,89 @@
---
- name: Creation du repertoire nextcloud
file:
path: /root/nextcloud
state: directory
- name: Copie du script get_docker
copy:
src: get_docker.sh
dest: /root/nextcloud
- name: Execution du script get_docker
script: /root/nextcloud/get_docker.sh
- name: Installation de docker-compose
shell: curl -L "https://github.com/docker/compose/releases/download/1.28.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- name: Attribution des droits de docker compose
file:
path: /usr/local/bin/docker-compose
mode: '755'
- name: Copie de docker-compose.yml
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/docker-compose.yml
dest: /root/nextcloud
- name: Execution du fichier docker-compose.yml
shell: docker-compose up -d
args:
chdir: /root/nextcloud
- name: Installation de Nginx
package:
name: nginx
state: present
- name: Copie de config.php dans /root/nextcloud/nextcloud/config
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/config.php
dest: /root/nextcloud/nextcloud/config
- name: Copie de nginx-selfsigned.key
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/nginx-selfsigned.key
dest: /etc/ssl/private
- name: Copie nginx-selfsigned.crt
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/nginx-selfsigned.crt
dest: /etc/ssl/certs
- name: Copie de dhparam.pem
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/dhparam.pem
dest: /etc/nginx
- name: Copie de self-signed.conf
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/self-signed.conf
dest: /etc/nginx/snippets
- name: Copie de ssl-params.conf
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/ssl-params.conf
dest: /etc/nginx/snippets
- name: Copie de /etc/nginx/site-availables/proxy
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/proxy
dest: /etc/nginx/sites-available
- name: Suppression de /etc/nginx/sites-enabled/default
file:
path: /etc/nginx/sites-enabled/default
state: absent
- name: Creation de lien symbolique avec /etc/nginx/sites-available/proxy dans /etc/n$
file:
src: /etc/nginx/sites-available/proxy
dest: /etc/nginx/sites-enabled/proxy
owner: root
group: root
state: link
- name: Redemarage de Nginx
service:
name: nginx
state: restarted

View File

@ -4,12 +4,12 @@
# #
@def $DEV_ADM = enp0s3; @def $DEV_ADM = enp0s3;
@def $DEV_VPN = enp0s8; @def $DEV_AG = enp0s8;
@def $DEV_EXT = enp0s9; @def $DEV_VPN = enp0s9;
@def $NET_ADM=192.168.99.0/24; @def $NET_ADM=192.168.99.102/24;
@def $NET_VPN=192.168.0.0/24; @def $NET_AG=172.16.128.254/24;
@def $NET_EXT=192.168.1.0/30; @def $NET_VPN=192.168.0.52/24;
table filter { table filter {
chain INPUT { chain INPUT {
@ -23,28 +23,21 @@ table filter {
interface lo ACCEPT; interface lo ACCEPT;
# allow SSH connections # allow SSH connections
#interface ($DEV_ADM) {
proto tcp dport ssh ACCEPT; proto tcp dport ssh ACCEPT;
#}
# allow DNS connections # allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT; proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT; proto udp dport domain ACCEPT;
#}
# DHCP
proto udp dport (67 68) ACCEPT;
# allow IPsec # allow IPsec
interface ($DEV_VPN $DEV_EXT) { interface ($DEV_AG $DEV_VPN) {
proto udp sport 500 ACCEPT; proto udp sport 500 ACCEPT;
proto udp dport 500 ACCEPT; proto udp dport 500 ACCEPT;
proto esp ACCEPT; proto esp ACCEPT;
} }
# Autoriser nat-t-ike # Autoriser nat-t-ike
# interface ($DEV_VPN) { # interface ($DEV_AG) {
proto udp sport 4500 ACCEPT; proto udp sport 4500 ACCEPT;
proto udp dport 5500 ACCEPT; proto udp dport 5500 ACCEPT;
# } # }
@ -54,52 +47,16 @@ table filter {
proto (udp tcp) dport domain ACCEPT; proto (udp tcp) dport domain ACCEPT;
#} #}
# autoriser supervision
proto udp sport 161 ACCEPT;
# autoriser NTP # autoriser NTP
proto udp sport 123 ACCEPT; proto udp sport 123 ACCEPT;
# respond to ping
proto icmp mod limit limit 30/minut ACCEPT;
} }
chain OUTPUT { chain OUTPUT {
policy DROP; policy ACCEPT;
# interface ($DEV_PUB) {
# Autoriser SSH
proto tcp sport ssh ACCEPT;
# Autoriser DNS
proto udp dport domain ACCEPT;
proto udp sport domain ACCEPT;
# DHCP
proto udp sport (67 68) ACCEPT;
# Autoriser ipsec
proto udp dport 500 ACCEPT;
proto udp sport 500 ACCEPT;
# Autoriser nat-t-ike
proto udp dport 4500 ACCEPT;
proto udp sport 4500 ACCEPT;
# Autoriser supervision
proto udp dport 161 ACCEPT;
# Autoriser NTP
proto udp dport 123 ACCEPT;
# respond to ping
proto icmp ACCEPT;
# }
# connection tracking # connection tracking
#mod state state INVALID DROP; # mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT; # mod state state (ESTABLISHED RELATED) ACCEPT;
} }
chain FORWARD { chain FORWARD {
policy ACCEPT; policy ACCEPT;
@ -109,14 +66,3 @@ table filter {
mod state state (ESTABLISHED RELATED) ACCEPT; mod state state (ESTABLISHED RELATED) ACCEPT;
} }
} }
# IPv6:
#domain ip6 {
# table filter {
# chain INPUT {
# policy ACCEPT;
# # ...
# }
# # ...
# }
#}

View File

@ -1,8 +1,8 @@
--- ---
- name : installer ferm - name : installer ferm
apt: name=ferm state=present apt: name=ferm state=present
- name: fichier parefeu pour VPN
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify: notify:
- Restart ferm - Restart ferm

View File

@ -7,9 +7,9 @@
@def $DEV_VPN = enp0s8; @def $DEV_VPN = enp0s8;
@def $DEV_EXT = enp0s9; @def $DEV_EXT = enp0s9;
@def $NET_ADM=192.168.99.0/24; @def $NET_ADM=192.168.99.112/24;
@def $NET_VPN=192.168.0.0/24; @def $NET_VPN=192.168.0.51/24;
@def $NET_EXT=192.168.1.0/30; @def $NET_EXT=192.168.1.2/24;
table filter { table filter {
chain INPUT { chain INPUT {
@ -23,15 +23,13 @@ table filter {
interface lo ACCEPT; interface lo ACCEPT;
# allow SSH connections # allow SSH connections
#interface ($DEV_ADM) {
proto tcp dport ssh ACCEPT; proto tcp dport ssh ACCEPT;
#}
# allow DNS connections # allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT; proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT; proto udp dport domain ACCEPT;
#}
# allow IPsec # allow IPsec
interface ($DEV_VPN) { interface ($DEV_VPN) {
@ -51,49 +49,13 @@ table filter {
# proto (udp tcp) dport domain ACCEPT; # proto (udp tcp) dport domain ACCEPT;
#} #}
# autoriser supervision
proto udp sport 161 ACCEPT;
# autoriser NTP # autoriser NTP
proto udp sport 123 ACCEPT; proto udp sport 123 ACCEPT;
# respond to ping
proto icmp mod limit limit 30/minut ACCEPT;
} }
chain OUTPUT { chain OUTPUT {
policy DROP; policy ACCEPT;
# interface ($DEV_PUB) {
# Autoriser SSH
proto tcp sport ssh ACCEPT;
# Autoriser DNS
proto udp dport domain ACCEPT;
proto udp sport domain ACCEPT;
# Autoriser ipsec
proto udp dport 500 ACCEPT;
proto udp sport 500 ACCEPT;
# Autoriser nat-t-ike
proto udp dport 4500 ACCEPT;
proto udp sport 4500 ACCEPT;
# Autoriser supervision
proto udp dport 161 ACCEPT;
# Autoriser NTP
proto udp dport 123 ACCEPT;
# respond to ping
proto icmp ACCEPT;
# }
# connection tracking
#mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
} }
chain FORWARD { chain FORWARD {
policy ACCEPT; policy ACCEPT;
@ -103,14 +65,3 @@ table filter {
mod state state (ESTABLISHED RELATED) ACCEPT; mod state state (ESTABLISHED RELATED) ACCEPT;
} }
} }
# IPv6:
#domain ip6 {
# table filter {
# chain INPUT {
# policy ACCEPT;
# # ...
# }
# # ...
# }
#}

View File

@ -1,15 +1,8 @@
--- ---
- name: redemarrer interfaces - name : installer ferm
command: ifdown enp0s8
- name: redemarrer interfaces
command: ifup enp0s8
- name: redemarrer interfaces
command: ifdown enp0s9
- name: redemarrer interfaces
command: ifup enp0s9
- name: redemarrer interfaces
apt: name=ferm state=present apt: name=ferm state=present
- name: fichier parefeu pour VPN
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify: notify:
- Restart ferm - Restart ferm

View File

@ -0,0 +1,2 @@
depl_url: "http://s-adm.gsb.adm/gsbstore"
depl_fog: "fogproject-1.5.9.tar.gz"

View File

@ -6,10 +6,11 @@
- name: recuperation du fichier d'installation de fog - name: recuperation du fichier d'installation de fog
get_url: get_url:
url: http://depl/gsbstore/fogproject-1.5.7.tar.gz url: "{{ depl_url }}/{{ depl_fog }}"
dest: /root/fog dest: /root/fog
remote_src: yes
- name: decompression du fichier d'installation de fog - name: decompression du fichier d'installation de fog
unarchive: unarchive:
src: /root/fog/fogproject-1.5.7.tar.gz src: "/root/fog/{{ depl_fog }}"
dest: /root/fog dest: /root/fog

View File

@ -0,0 +1,3 @@
depl_url: "http://s-adm.gsb.adm/gsbstore"
depl_goss: "goss"

View File

@ -5,6 +5,9 @@
register: gossbin register: gossbin
- name: install goss - name: install goss
shell: export https_proxy=http://10.121.38.1:8080 && curl -fsSL https://goss.rocks/install | sh get_url:
url: "{{ depl_url }}/{{ depl_goss }}"
dest: /usr/local/bin/{{ depl_goss }}
mode: 0755
when: gossbin.stat.exists == False when: gossbin.stat.exists == False

117
roles/icinga/README.md Normal file
View File

@ -0,0 +1,117 @@
# Instalation de NSClient++ sur la machine s-win
En premier lieu, installer Mozilla Firefox via Internet Explorer.
Une fois Mozilla intallé, installer NSClient++ avec ce lien: [NSClient++](https://nsclient.org/download/)
Puis choisir la version Windows
# Etapes de l'installation
Sur l'étape **Select monitoring tool**, sélectionner **Generic**.
Sur l'étape **Choose setup type**, sélectionner **Typical**.
Sur l'étape **NSClient++ Configuration:
```
Allowed hosts: 172.16.0.8
Password: root
```
Activer **check plugins, check_nt et check_nrpe**.
**Laisser NSCA client et web server désactivé**
Cocher la case **Insecure legacy mode**
Terminer l'installation.
# Modification des fichiers
Rendez vous dans le répertoire **C:\Programmes\NSClient++** puis ouvrez le fichier **nsclient** (celui avec un rouage).
Une fois ouvert, modifier tout le fichier avec ceci:
```
#If you want to fill this file with all available options run the following command:
#nscp settings --generate --add-defaults --load-all
#If you want to activate a module and bring in all its options use:
#nscp settings --activate-module <MODULE NAME> --add-defaults
#For details run: nscp settings --help
; in flight - TODO
[/settings/default]
; Undocumented key
password = root
; Undocumented key
allowed hosts = 172.16.0.8
; in flight - TODO
[/settings/NRPE/server]
; Undocumented key
verify mode = none
; Undocumented key
insecure = true
; in flight - TODO
[/modules]
; Undocumented key
CheckExternalScripts = enabled
; Undocumented key
CheckHelpers = enabled
; Undocumented key
CheckEventLog = enabled
; Undocumented key
CheckNSCP = enabled
; Undocumented key
CheckDisk = enabled
; Undocumented key
CheckSystem = enabled
; Undocumented key
NSClientServer = enabled
; Undocumented key
NRPEServer = enabled
```
Redémarrez le service NSClient++ via le **cmd**:
```
services.msc
```
Puis clique droit sur le service **NCLient++ Monitoring Agent** et appuyer sur **Redémarrer**
Retourner sur le serveur nagios puis écrire:
```
systemctl restart icinga
```
Les services de la machine **srv-2012** apparaissent en **OK**.

View File

@ -15,13 +15,13 @@ define hostgroup {
define hostgroup { define hostgroup {
hostgroup_name debian-servers hostgroup_name debian-servers
alias Serveurs distant alias Serveurs distant
members s-infra, s-proxy, r-int, r-ext, s-adm, s-test members s-infra, s-proxy, r-int, r-ext, s-adm, s-itil, s-mess
} }
define hostgroup {  define hostgroup { 
hostgroup_name ssh-servers hostgroup_name ssh-servers
alias acces SSH alias acces SSH
members s-adm, s-infra, s-proxy, r-int, r-ext, localhost, s-test, gwsio2 members s-adm, s-infra, s-proxy, r-int, r-ext, localhost, gwsio2, s-itil, s-mess, s-lb
} }
define hostgroup {  define hostgroup { 
@ -39,7 +39,7 @@ define hostgroup { 
define hostgroup { define hostgroup {
hostgroup_name http-servers hostgroup_name http-servers
alias serveurs-web alias serveurs-web
members localhost members localhost, s-itil, s-adm
} }
#define hostgroup { #define hostgroup {
@ -60,15 +60,16 @@ define hostgroup{
members srv-2012 members srv-2012
} }
#define hostgroup{ define hostgroup{
# hostgroup_name switch hostgroup_name dns-win
# alias switch alias dns-win
# members netgear members srv-2012
#} }
define hostgroup{ define hostgroup{
hostgroup_name uptimegrp hostgroup_name uptimegrp
alias uptimegrp alias uptimegrp
members s-infra, s-proxy, r-int, r-ext, s-adm, s-test members s-infra, s-proxy, r-int, r-ext, s-adm, s-itil, s-mess, s-lb
} }

View File

@ -6,8 +6,9 @@
define host{ define host{
use generic-host ; Name of host template to use use generic-host ; Name of host template to use
host_name s-test host_name s-itil
alias machine test alias debian-servers
address 172.16.0.18 address 172.16.0.9
parents r-int parents r-int
} }

View File

@ -0,0 +1,14 @@
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-host ; Name of host template$
host_name s-lb
alias debian-servers
address 192.168.100.10
parents r-int
}

View File

@ -0,0 +1,14 @@
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-host ; Name of host template$
host_name s-mess
alias nextcloud
address 172.16.0.7
parents r-int
}

View File

@ -79,7 +79,7 @@ define service{
define service{ define service{
use generic-service use generic-service
hostgroup_name windows-servers hostgroup_name dns-win
service_description Service DNS service_description Service DNS
check_command check_nt!SERVICESTATE!-l W32Time,"Client DNS" check_command check_nt!SERVICESTATE!-l W32Time,"Client DNS"
} }

View File

@ -6,7 +6,7 @@
- snmp - snmp
- icinga - icinga
- nagios-snmp-plugins - nagios-snmp-plugins
- python-passlib - python3-passlib
state: present state: present
- name: Copie de fichier icinga.conf pour apache - name: Copie de fichier icinga.conf pour apache
@ -33,6 +33,13 @@
notify: notify:
- restart icinga - restart icinga
- name: python3 par defaut
alternatives:
link: /usr/bin/python
name: python
path: /usr/bin/python3
priority: 10
- name: Changement de mot de passe de icingaadmin - name: Changement de mot de passe de icingaadmin
htpasswd: htpasswd:
path: /etc/icinga/htpasswd.users path: /etc/icinga/htpasswd.users
@ -50,6 +57,14 @@
notify: notify:
- restart icinga - restart icinga
- name: attribution des droits dossier icinga
file:
path: /var/lib/icinga
owner: nagios
mode: 751
recurse: yes
notify:
- restart icinga
- name: attribution des droits dossier icinga rw - name: attribution des droits dossier icinga rw
file: file:
@ -60,29 +75,32 @@
notify: notify:
- restart icinga - restart icinga
- name: attribution des droits dossier icinga - name: activation des commandes externes
replace:
dest: /etc/icinga/icinga.cfg
regexp: 'check_external_commands=0'
replace: 'check_external_commands=1'
notify:
- restart icinga
- name: reconfiguration des droits avec dpkg statoverride
shell: dpkg-statoverride --update --force-all --add nagios www-data 2710 /var/lib/icinga/rw
- name: reconfiguration des droits avec dpkg statoverride
shell: dpkg-statoverride --update --force-all --add nagios nagios 751 /var/lib/icinga
- name: suppression de checkresults
file: file:
path: /var/lib/icinga path: /var/lib/icinga/spool/checkresults
state: absent
- name: creation du dossier checkresults avec droits de lecture
file:
path: /var/lib/icinga/spool/checkresults
state: directory
owner: nagios owner: nagios
mode: 751 group: root
recurse: yes mode: '755'
notify:
- restart icinga
- name: attribution des droits dossier var lib icinga
shell: chmod 2770 /var/lib/icinga/rw
notify:
- stop icinga
- name: attribution des droits dossier var lib icinga
file:
path: /var/lib/icinga/rw
owner: www-data
mode: 2710
recurse: yes
notify:
- restart icinga
#- name: Changement droit notif #- name: Changement droit notif
# shell: chmod 644 /var/log/icinga/icinga.log # shell: chmod 644 /var/log/icinga/icinga.log
@ -101,4 +119,6 @@
debug: msg="Pour superviser le Windows, il faut installer NSClient++" debug: msg="Pour superviser le Windows, il faut installer NSClient++"
- name: redemarrage apache - name: redemarrage apache
shell: service apache2 restart service:
name: apache2
state: restarted

View File

@ -0,0 +1,5 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_glpi: "glpi-9.5.3.tgz"
depl_fusioninventory: "fusioninventory-9.5.0+1.0.tar.bz2"
depl_fusioninventory_agentx64: "fusioninventory-agent_windows-x64_2.6.exe"
depl_fusioninventory_agentx86: "fusioninventory-agent_windows-x86_2.6.exe"

View File

@ -17,6 +17,8 @@
- php-cas - php-cas
- python-mysqldb - python-mysqldb
- mariadb-server - mariadb-server
- python3-pymysql
- php-intl
- name: Changement listen dans le fichier conf de php7.3 - name: Changement listen dans le fichier conf de php7.3
replace: replace:
@ -29,7 +31,9 @@
file: path=/etc/nginx/sites-enabled/default state=absent file: path=/etc/nginx/sites-enabled/default state=absent
- name: Creation fichier block nginx - name: Creation fichier block nginx
template: src=block.j2 dest=/etc/nginx/sites-enabled/glpi template:
src: block.j2
dest: /etc/nginx/sites-enabled/glpi
- name: Remplacement dans le fichier de conf php du timeout - name: Remplacement dans le fichier de conf php du timeout
replace: replace:
@ -42,20 +46,32 @@
- restart nginx - restart nginx
- name: Creation de la base de donnee mysql - name: Creation de la base de donnee mysql
mysql_db: name={{ glpi_dbname }} state=present mysql_db:
name: "{{ glpi_dbname }}"
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: Creation de l'utilisateur mysql avec tous les privileges - name: Creation de l'utilisateur mysql avec tous les privileges
mysql_user: mysql_user:
name={{ glpi_dbuser }} name: "{{ glpi_dbuser }}"
password={{ glpi_dbpasswd }} password: "{{ glpi_dbpasswd }}"
priv=*.*:ALL priv: "*.*:ALL,GRANT"
login_unix_socket: /var/run/mysqld/mysqld.sock
with_items:
- 127.0.0.1
# - ::1
# - localhost
- name: Creation du repertoire {{ glpi_dir }} - name: Creation du repertoire {{ glpi_dir }}
file: path={{ glpi_dir }} state=directory owner=www-data group=www-data file:
path: "{{ glpi_dir }}"
state: directory
owner: www-data
group: www-data
- name: Installation de GLPI - name: Installation de GLPI
unarchive: unarchive:
src: http://depl/gsbstore/glpi-{{ glpi_version }}.tgz src: "{{ depl_url }}/{{ depl_glpi }}"
dest: /var/www/html dest: /var/www/html
remote_src: yes remote_src: yes
owner: www-data owner: www-data
@ -68,6 +84,8 @@
file: file:
path: "{{ glpi_dir }}/plugins" path: "{{ glpi_dir }}/plugins"
mode: 0777 mode: 0777
owner: www-data
group: www-data
recurse: yes recurse: yes
- name: Attribution des permissions - name: Attribution des permissions
@ -78,7 +96,8 @@
- name: Installation de Fusioninventory pour Linux - name: Installation de Fusioninventory pour Linux
unarchive: unarchive:
src: http://depl/gsbstore/fusioninventory-{{ fd_version }}.tar.bz2 src: "{{ depl_url }}/{{ depl_fusioninventory }}"
#src: http://depl/gsbstore/fusioninventory-{{ fd_version }}.tar.bz2
dest: /var/www/html/glpi/plugins dest: /var/www/html/glpi/plugins
remote_src: yes remote_src: yes
@ -99,14 +118,22 @@
- name: Installation de FusionInventory windows x64 - name: Installation de FusionInventory windows x64
get_url: get_url:
url: http://depl/gsbstore/fusioninventory-agent_windows-{{ fd_version64 }}.exe url: "{{ depl_url }}/{{ depl_fusioninventory_agentx64 }}"
dest: "/var/www/html/ficlients" dest: "/var/www/html/ficlients"
- name: Installation de FusionInventory windows x86 - name: Installation de FusionInventory windows x86
get_url: get_url:
url: http://depl/gsbstore/fusioninventory-agent_windows-{{ fd_version86 }}.exe url: "{{ depl_url }}/{{ depl_fusioninventory_agentx86 }}"
dest: "/var/www/html/ficlients" dest: "/var/www/html/ficlients"
- name: Attribution des permissions sur repertoire /plugins/fusioninventory
file:
path: /var/www/html/glpi/plugins/fusioninventory
owner: www-data
group: www-data
recurse: yes
state: directory
- name: Copie du script dbdump - name: Copie du script dbdump
copy: src=dbdump dest=/root/ copy: src=dbdump dest=/root/

View File

@ -0,0 +1,25 @@
#!/bin/bash
GLPIREL=9.5.3
wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz
FIREL=9.5+1.0
#wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
FIAGREL=2.6
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.9
wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz
#https://github.com/FOGProject/fogproject/archive/1.5.9.tar.gz
#wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
wget -nc https://fr.wordpress.org/wordpress-5.6-fr_FR.tar.gz
GOSSVER=v0.3.16
curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss
chmod +x goss

View File

@ -0,0 +1,25 @@
#!/bin/bash
GLPIREL=9.5.3
wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz
FIREL=9.5+1.0
#wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
FIAGREL=2.6
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.9
wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz
#https://github.com/FOGProject/fogproject/archive/1.5.9.tar.gz
#wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
wget -nc https://fr.wordpress.org/wordpress-5.6-fr_FR.tar.gz
GOSSVER=v0.3.16
curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss
chmod +x goss

View File

@ -0,0 +1,18 @@
---
- name: Installation bind9
file:
path: /var/www/html/gsbstore/
state: directory
mode: '0755'
- name: Copie getall-latest
copy:
src: getall-latest
dest: /var/www/html/gsbstore
- name: Copie getall-2021
copy:
src: getall-2021
dest: /var/www/html/gsbstore

View File

@ -2,15 +2,42 @@
- name: Installation des paquets python-mysqldb mariadb-server - name: Installation des paquets python-mysqldb mariadb-server
apt: apt:
name: name:
- python-mysqldb - python3-mysqldb
- mariadb-server - mariadb-server
- python3-passlib
- python3-pymysql
state: present state: present
- name: python3 par defaut
alternatives:
link: /usr/bin/python
name: python
path: /usr/bin/python3
priority: 10
- name: Create mysql database - name: Create mysql database
mysql_db: name={{ maria_dbname }} state=present mysql_db:
name: "{{ maria_dbname }}"
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: Creation de l'utilisateur mysql avec tous les privileges
mysql_user:
name: "{{ maria_dbuser }}"
password: "{{ maria_dbpasswd }}"
priv: '*.*:ALL,GRANT'
login_unix_socket: /var/run/mysqld/mysqld.sock
with_items:
- "127.0.0.1"
# - ::1
# - localhost
- name: Copie du fichier my.cnf pour autorises toutes les adresses sur le port 3306 - name: Copie du fichier my.cnf pour autorises toutes les adresses sur le port 3306
copy : src=my.cnf dest=/etc/mysql/ copy:
src: my.cnf
dest: /etc/mysql/
- name: Redemarrage du service mariadb - name: Redemarrage du service mariadb
shell: service mariadb restart service:
name: mariadb
state: restarted

View File

@ -1,6 +1,5 @@
# This file describes the network interfaces available on your system # This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5). # and how to activate them. For more information, see interfaces(5).
# The loopback network interface # The loopback network interface
#auto lo #auto lo
#iface lo inet loopback #iface lo inet loopback
@ -22,7 +21,10 @@ allow-hotplug enp0s9
iface enp0s9 inet static iface enp0s9 inet static
address 192.168.1.2 address 192.168.1.2
netmask 255.255.255.0 netmask 255.255.255.0
up route add -net 172.16.128.0/24 gw 192.168.1.2 post-up /usr/sbin/ip route add 172.16.128.0/24 via 192.168.1.2
post-up /usr/sbin/ip route add 172.16.0.0/24 via 192.168.1.1
post-up /usr/sbin/ip route add 192.168.200.0/24 via 192.168.1.1
# up route add -net 172.16.128.0/24 gw 192.168.0.52 # up route add -net 172.16.128.0/24 gw 192.168.0.52
# up route add default gw 192.168.1.1 # up route add default gw 192.168.1.1
# post-up /bin/bash /root/iptables-vpn # post-up /bin/bash /root/iptables-vpn

View File

@ -1,6 +1,5 @@
# This file describes the network interfaces available on your system # This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5). # and how to activate them. For more information, see interfaces(5).
# The loopback network interface # The loopback network interface
#auto lo #auto lo
#iface lo inet loopback #iface lo inet loopback
@ -22,7 +21,9 @@ allow-hotplug enp0s9
iface enp0s9 inet static iface enp0s9 inet static
address 192.168.0.52 address 192.168.0.52
netmask 255.255.255.0 netmask 255.255.255.0
# up route add -net 192.168.1.0/24 gw 172.16.128.254 post-up /usr/sbin/ip route add 192.168.1.0/24 via 172.16.128.254/24
up route add -net 192.168.1.0/24 gw 192.168.0.52 post-up /usr/sbin/ip route add 172.16.0.0/24 via 172.16.128.254/24
# up route add -net 192.168.1.0/24 gw 192.168.0.52
# post-up /bin/bash /root/iptables-vpn # post-up /bin/bash /root/iptables-vpn
post-up /etc/init.d/ipsec restart post-up /etc/init.d/ipsec restart

View File

@ -9,3 +9,6 @@ iface lo inet loopback
allow-hotplug enp0s3 allow-hotplug enp0s3
iface enp0s3 inet dhcp iface enp0s3 inet dhcp
allow-hotplug enp0s8
iface enp0s8 inet dhcp

View File

@ -6,11 +6,11 @@
- name: Copie resolv.conf - name: Copie resolv.conf
copy: src=resolv.conf dest=/etc/ copy: src=resolv.conf dest=/etc/
when: ansible_hostname != "s-adm" when: ansible_hostname != "s-adm" and ansible_hostname != "s-proxy"
- name: Copie resolv.conf - name: pas de chgt resolv.conf pour r-vp2
copy: src=resolv.conf dest=/etc/ meta: end_play
when: ansible_hostname != "s-proxy" when: ansible_hostname == "r-vp2"
- name: Copie resolv.conf pour s-proxy - name: Copie resolv.conf pour s-proxy
copy: src=resolv.conf.s-proxy dest=/etc/resolv.conf copy: src=resolv.conf.s-proxy dest=/etc/resolv.conf

40
roles/postfix/README.md Normal file
View File

@ -0,0 +1,40 @@
# Post-installation de Postfix
Entrer votre adresse mail et votre mot de passe dans le fichier /etc/postfix/sasl_passwd
```
nano /etc/postfix/sasl_passwd
[smpt.gmail.com]:587 votreadresse@domaine.fr:motdepasse
```
Entrer votre addresse mail dans le fichier /etc/icinga/objects/contacts_icinga.cfg
```
nano /etc/icinga/objects/contacts_icinga.cfg
define contact...
email votreadresse@domaine.fr
```
Lancer la commande suivante pour prendre en compte la modification:
```
/usr/sbin/postmap /etc/postfix/sasl_passwd
```
Activer l'**Accès moins sécurisé des applications** depuis son compte google
Désactiver un service puis vérifier ses mails (attendre 5 minutes entre chaque test)
```
tail -f /var/log/icinga/icinga.log pour vérifier l'envoi de l'email
```

View File

@ -24,7 +24,7 @@
shell: chmod 400 /etc/postfix/sasl_passwd shell: chmod 400 /etc/postfix/sasl_passwd
- name: postmap - name: postmap
shell: postmap /etc/postfix/sasl_passwd shell: /usr/sbin/postmap /etc/postfix/sasl_passwd
- name: Copie thawte_Premium_Server_CA.pem - name: Copie thawte_Premium_Server_CA.pem
copy: src=thawte_Premium_Server_CA.pem dest=/etc/ssl/certs/ copy: src=thawte_Premium_Server_CA.pem dest=/etc/ssl/certs/
@ -34,3 +34,8 @@
notify: notify:
- restart postfix - restart postfix
- name: Changement des droits icinga.log
file:
path: /var/log/icinga/icinga.log
state: touch
mode: u=rw,g=w

27
roles/s-backup/files/backup.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/bash
BDIR=/home/backup
SWIN=/tmp/s-win
[ -d "${BDIR}" ] || mkdir "${BDIR}"
[ -d "${BDIR}" ] || mkdir "${BDIR}/s-win"
[ -d "${SWIN}" ] || mkdir "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=u-backup,password=Azerty1+ //s-win/commun "${SWIN}"
if [ $? != 0 ] ; then
echo "$0 : erreur montage ${SWIN}"
exit 1
fi
rsync -av "${SWIN}/" "${BDIR}/s-win/commun"
umount "${SWIN}"
mount -t cifs -o ro,vers=3.0,username=u-backup,password=Azerty1+ //s-win/public "${SWIN}"
if [ $? != 0 ] ; then
echo "$0 : erreur montage"
exit 2
fi
rsync -av "${SWIN}/" "${BDIR}/s-win/public"
umount "${SWIN}"
exit 0

View File

@ -0,0 +1,4 @@
rem azazazaz
rmdir C:\gsb.lan /s /q
net group g-compta /del
net group g-prod /del

View File

@ -0,0 +1,11 @@
rem regereger
mkdir C:\gsb.lan\commun
mkdir C:\gsb.lan\public
net share commun=C:\gsb.lan\commun /grant:"utilisateurs DHCP",full
net share public=C:\gsb.lan\public /grant:"utilisateurs DHCP",full
net group g-compta /add
net group g-prod /add
icacls C:\gsb.lan\commun /grant Administrateurs:F
icacls C:\gsb.lan\commun /grant g-compta:M
icacls C:\gsb.lan\public /grant Administrateurs:F
icacls C:\gsb.lan\public /grant g-prod:M

View File

@ -0,0 +1,9 @@
---
- name: installation rsync et smbclient
apt:
name:
- rsync
- smbclient
- cifs-utils
state: present

View File

@ -44,7 +44,7 @@ backend fermeweb
#option httpchk HEAD / HTTP/1.0 #option httpchk HEAD / HTTP/1.0
server s-lb-web1 192.168.101.1:80 check server s-lb-web1 192.168.101.1:80 check
server s-lb-web2 192.168.101.2:80 check server s-lb-web2 192.168.101.2:80 check
server s-lb-web3 192.168.101.3:80 check
listen stats listen stats
bind *:8080 bind *:8080

View File

@ -1,10 +1,16 @@
--- ---
- name: Install apache2 php php5-mysql - name: Install apache2 php php5-mysql et autres modules php
apt: apt:
name: name:
- apache2 - apache2
- php - php
- php-mysql - php-mysql
- php-gd
- php-zip
- php-mbstring
- php-curl
- php-imagick
- php-xml
state: present state: present
- name: copie exports pour partage nfs wordpress - name: copie exports pour partage nfs wordpress

View File

@ -0,0 +1,2 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_wordpress: "wordpress-5.6-fr_FR.tar.gz"

View File

@ -5,9 +5,11 @@
state: directory state: directory
- name: download and extract wordpress - name: download and extract wordpress
unarchive: unarchive:
src: http://depl/gsbstore/wordpress-5.3.2-fr_FR.tar.gz src: "{{ depl_url }}/{{ depl_wordpress }}"
dest: /home/ dest: /home/
remote_src: yes remote_src: yes
owner: www-data
group: www-data
- name: Copy sample config file - name: Copy sample config file
command: mv /home/wordpress/wp-config-sample.php /home/wordpress/wp-config.php creates=/home/wordpress/wp-config.php command: mv /home/wordpress/wp-config-sample.php /home/wordpress/wp-config.php creates=/home/wordpress/wp-config.php
@ -23,6 +25,14 @@
- {'regexp': "define\\('DB_USER', '(.)+'\\);", 'line': "define('DB_USER', '{{wp_mysql_user}}');"} - {'regexp': "define\\('DB_USER', '(.)+'\\);", 'line': "define('DB_USER', '{{wp_mysql_user}}');"}
- {'regexp': "define\\('DB_PASSWORD', '(.)+'\\);", 'line': "define('DB_PASSWORD', '{{wp_mysql_password}}');"} - {'regexp': "define\\('DB_PASSWORD', '(.)+'\\);", 'line': "define('DB_PASSWORD', '{{wp_mysql_password}}');"}
- name: Attributions des permissions
file:
path: /home/wordpress
recurse: yes
owner: 33
group: 33
# - name: Fix permissions # - name: Fix permissions
# shell: chown -R www-data /var/www/wordpress/* # shell: chown -R www-data /var/www/wordpress/*
# #

View File

@ -0,0 +1,7 @@
- name: Activation acces ssh root pour r-vp1 (certificat)
lineinfile:
dest: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin yes"
state: present

View File

@ -7,7 +7,7 @@ conn tunnel #
left=192.168.0.52 left=192.168.0.52
leftsubnet=172.16.128.0/24 leftsubnet=172.16.128.0/24
right=192.168.0.51 right=192.168.0.51
rightsubnet=192.168.0.0/16, 172.16.0.0/24 rightsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
ike=aes256-sha2_256-modp1024! ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256! esp=aes256-sha2_256!
keyingtries=0 keyingtries=0
@ -20,3 +20,4 @@ conn tunnel #
auto=start auto=start
keyexchange=ikev2 keyexchange=ikev2
type=tunnel type=tunnel
#

View File

@ -5,7 +5,7 @@ config setup
conn %default conn %default
conn tunnel # conn tunnel #
left=192.168.0.51 left=192.168.0.51
leftsubnet=192.168.0.0/16, 172.16.0.0/24 leftsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
right=192.168.0.52 right=192.168.0.52
rightsubnet=172.16.128.0/24 rightsubnet=172.16.128.0/24
ike=aes256-sha2_256-modp1024! ike=aes256-sha2_256-modp1024!
@ -20,3 +20,4 @@ conn tunnel #
auto=start auto=start
keyexchange=ikev2 keyexchange=ikev2
type=tunnel type=tunnel
#

View File

@ -7,7 +7,7 @@ conn tunnel #
left=192.168.0.52 left=192.168.0.52
leftsubnet=172.16.128.0/24 leftsubnet=172.16.128.0/24
right=192.168.0.51 right=192.168.0.51
rightsubnet=192.168.0.0/16, 172.16.0.0/24 rightsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
ike=aes256-sha2_256-modp1024! ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256! esp=aes256-sha2_256!
keyingtries=0 keyingtries=0

View File

@ -5,7 +5,7 @@ config setup
conn %default conn %default
conn tunnel # conn tunnel #
left=192.168.0.51 left=192.168.0.51
leftsubnet=192.168.0.0/16, 172.16.0.0/24 leftsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
right=192.168.0.52 right=192.168.0.52
rightsubnet=172.16.128.0/24 rightsubnet=172.16.128.0/24
ike=aes256-sha2_256-modp1024! ike=aes256-sha2_256-modp1024!

View File

@ -8,7 +8,7 @@
- s-ssh - s-ssh
- dnsmasq - dnsmasq
- squid - squid
# - webautoconf - local-store
- snmp-agent - snmp-agent
- syslog-cli - syslog-cli
- post - post

View File

@ -7,3 +7,4 @@
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- post - post
- goss

View File

@ -9,3 +9,4 @@
# - ssh-cli # - ssh-cli
- syslog-cli - syslog-cli
- post - post
- s-backup

1
s-lb-bd.retry Normal file
View File

@ -0,0 +1 @@
localhost

View File

@ -11,13 +11,14 @@
roles: roles:
- base - base
- goss - goss
- post
#- s-lb-bd-ab #- s-lb-bd-ab
- mariadb-ab - mariadb-ab
- role: db-user # - role: db-user
cli_ip: "192.168.102.1" # cli_ip: "192.168.102.1"
- role: db-user # - role: db-user
cli_ip: "192.168.102.2" # cli_ip: "192.168.102.2"
- role: db-user # - role: db-user
cli_ip: "192.168.102.3" # cli_ip: "192.168.102.3"
- snmp-agent - snmp-agent
- post # - post

1
s-mess.retry Normal file
View File

@ -0,0 +1 @@
localhost

View File

@ -4,7 +4,7 @@
roles: roles:
- base - base
- docker-iredmail-ab - docker-nextcloud
- ssh-cli - ssh-cli
- syslog-cli - syslog-cli
- snmp-agent - snmp-agent

Some files were not shown because too many files have changed in this diff Show More