Compare commits
50 Commits
v0.0.6v-fr
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
45e4401dcc | ||
|
dc50059f19 | ||
|
ada657401f | ||
|
b126e7f9e3 | ||
|
f9f3e8da8e | ||
|
be4f3b9030 | ||
c590edb875 | |||
3cd52a230e | |||
|
8dd65d65eb | ||
|
aac0f13134 | ||
|
ea60c89bf1 | ||
|
272867304a | ||
|
b53cd8c848 | ||
|
8ed9ebe6f8 | ||
|
c1fe781ca2 | ||
c2c1e8acb7 | |||
|
5176ad216c | ||
|
e45118eef1 | ||
|
959e056c5f | ||
|
8d7c5f7cfb | ||
|
80295cba99 | ||
|
35e816c2eb | ||
|
b1e4b50982 | ||
|
d65fe53ef8 | ||
|
451c8ba094 | ||
|
88061eb89d | ||
|
6fbad9d9fa | ||
|
30c7275ba6 | ||
|
33529f2781 | ||
|
77a7f3c567 | ||
|
a3235af304 | ||
|
17647b17da | ||
|
78230b7f21 | ||
|
7d90939ea3 | ||
|
7c01d0aa18 | ||
|
ea513e616d | ||
|
1d7fa35e48 | ||
|
250483501e | ||
|
4abf4d4950 | ||
|
8ebf476e05 | ||
|
26ae726457 | ||
|
b1bd102d85 | ||
|
6cfe40b998 | ||
|
e48d63a8bc | ||
|
873b6b6def | ||
|
3d94e6c050 | ||
|
151c0adf88 | ||
|
745bc05e76 | ||
|
82561d5d0a | ||
|
df1000e1b5 |
16
README.md
16
README.md
@ -1,6 +1,8 @@
|
||||
# gsb2024
|
||||
|
||||
2024-01-19 11h45 ps
|
||||
* 2024-05-23 16h07 ps
|
||||
* 2024-04-12 8h55 ps
|
||||
* 2024-01-19 11h45 ps
|
||||
|
||||
Environnement et playbooks **ansible** pour le projet **GSB 2024**
|
||||
|
||||
@ -11,8 +13,8 @@ Prérequis :
|
||||
* VirtualBox
|
||||
* git
|
||||
* fichier machines virtuelles **ova** :
|
||||
* **debian-bookworm-gsb-2023c.ova**
|
||||
* **debian-bullseye-gsb-2024a.ova**
|
||||
* **debian-bookworm-gsb-2024b.ova**
|
||||
* **debian-bullseye-gsb-2024b.ova**
|
||||
|
||||
|
||||
## Les machines
|
||||
@ -49,12 +51,12 @@ Il existe un playbook ansible pour chaque machine à installer, nommé comme la
|
||||
## Installation
|
||||
|
||||
On utilisera les images de machines virtuelle suivantes :
|
||||
* **debian-bookworm-gsb-2023c.ova** (2023-12-18)
|
||||
* Debian Bookworm 12.4 - 2 cartes - 1 Go - Stockage 20 Go
|
||||
* **debian-bookworm-gsb-2024b.ova** (2024-05-23)
|
||||
* Debian Bookworm 12.5 - 2 cartes - 1 Go - Stockage 20 Go
|
||||
|
||||
et pour **s-fog** :
|
||||
* **debian-bullseye-2024a.ova** (2024-01-06)
|
||||
* Debian Bullseye 11.8 - 2 cartes - 1 Go - stockage 20 Go
|
||||
* **debian-bullseye-2024b.ova** (2024-04-11)
|
||||
* Debian Bullseye 11.9 - 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.
|
||||
|
||||
|
7
firewalld.yml
Normal file
7
firewalld.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
roles:
|
||||
- firewalld
|
6
goss/s-awx.yaml
Normal file
6
goss/s-awx.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
interface:
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 172.16.0.22/24
|
||||
mtu: 1500
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- r-ext
|
||||
- snmp-agent
|
||||
- zabbix-cli
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- post
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
roles:
|
||||
- base
|
||||
@ -9,5 +10,5 @@
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- dhcp
|
||||
- snmp-agent
|
||||
- zabbix-cli
|
||||
- post
|
||||
|
24
roles/awx-user-cli/tasks/main.yml
Normal file
24
roles/awx-user-cli/tasks/main.yml
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
|
||||
- name: Creation user awx
|
||||
ansible.builtin.user:
|
||||
name: awx
|
||||
groups: sudo
|
||||
append: yes
|
||||
|
||||
- name: Cration d'un mdp pour user awx
|
||||
user:
|
||||
name: awx
|
||||
password: '$5$1POIEvs/Q.DHI4/6$RT6nl42XkekxTPKA/dktbnCMxL8Rfk8GAK7NxqL9D70'
|
||||
|
||||
- name: Get awx key_pub
|
||||
get_url:
|
||||
url: http://s-adm.gsb.adm/gsbstore/id_rsa_awx.pub
|
||||
dest: /tmp
|
||||
|
||||
|
||||
- name: Set authorized key taken from file /tmp
|
||||
ansible.posix.authorized_key:
|
||||
user: awx
|
||||
state: present
|
||||
key: "{{ lookup('file', '/tmp/id_rsa_awx.pub') }}"
|
20
roles/awx-user/tasks/main.yml
Normal file
20
roles/awx-user/tasks/main.yml
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
- name: Creation user awx, cle SSH et group sudo
|
||||
ansible.builtin.user:
|
||||
name: awx
|
||||
groups: sudo
|
||||
append: yes
|
||||
shell: /bin/bash
|
||||
generate_ssh_key: yes
|
||||
|
||||
#- name: Creation mdp user awx
|
||||
# ansible.builtin.user:
|
||||
#name:
|
||||
#user: awx
|
||||
# password: '$5$1POIEvs/Q.DHI4/6$RT6nl42XkekxTPKA/dktbnCMxL8Rfk8GAK7NxqL9D70'
|
||||
|
||||
- name: Copie cle publique dans gsbstore
|
||||
copy:
|
||||
src: /home/awx/.ssh/id_rsa.pub
|
||||
dest: /var/www/html/gsbstore/id_rsa_awx.pub
|
||||
remote_src: yes
|
26
roles/awx/README.md
Normal file
26
roles/awx/README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Rôle awx
|
||||
***
|
||||
Rôle awx: Configuration d'un serveur AWX avec k3s.
|
||||
|
||||
## Tables des matières
|
||||
1. [Que fait le rôle AWX ?]
|
||||
2. [Connexion à l'interface WEB du serveur AWX]
|
||||
|
||||
**AWX** est l'application développée par **RedHat** permettant de lancer des playbooks **ansible** depuis une interface web évoluée plutôt qu'en ligne de commande. **AWX** utlise kubernetes mise en oeuvre ici avec **k3s**.
|
||||
|
||||
## Que fait le rôle AWX ?
|
||||
Le rôle **awx** installe et configure un serveur **AWX** avec **k3s** pour cela le role:
|
||||
- Installe **k3s** en spécifiant l'adresse IP ainsi que l'interface d'écoute
|
||||
- Clone le dépot **Github** **awx-on-k3s**
|
||||
- Procéde au déploiement du pod **awx-operator**
|
||||
- Génére un certifiacat auto-signé utlisée par le serveur **AWX** en utilisant **OpenSSL**
|
||||
- Edite le fichier awx.yaml afin d'y indique le nom d'hote du serveur en accord avec le nom utlisé par les certificats
|
||||
- Déploie le serveur **AWX**
|
||||
- Test l'accésibilité du serveur **AWX**.
|
||||
|
||||
### Connexions à l'interface WEB du serveur AWX ###
|
||||
Une fois le role **awx** terminé il est possible de se connecter à l'interface web duserveur depuis un navigateur.
|
||||
S'assurer que votre machine puisse résoudre **s-awx.gsb.lan**
|
||||
- Se connecter sur : **https://s-awx.gsb.lan**
|
||||
- Utlisateur: **admin** / Mot de passe: **Ansible123!**
|
||||
|
79
roles/awx/tasks/main.yml
Normal file
79
roles/awx/tasks/main.yml
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
- name: Installation de k3s ...
|
||||
ansible.builtin.shell: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.28.5+k3s1 sh -s - --write-kubeconfig-mode 644 --node-ip "{{ awx_ip }}" --flannel-iface "{{ awx_if }}"
|
||||
|
||||
- name: Clonage du dépot awx-on-k3s
|
||||
git:
|
||||
repo: https://github.com/kurokobo/awx-on-k3s.git
|
||||
dest: "{{ awx_dir }}"
|
||||
clone: yes
|
||||
force: yes
|
||||
|
||||
- name: Git checkout
|
||||
ansible.builtin.shell: "git checkout 2.10.0"
|
||||
args:
|
||||
chdir: "{{ awx_dir }}"
|
||||
|
||||
|
||||
- name: Deploiement AWX Operator ...
|
||||
ansible.builtin.shell: "kubectl apply -k operator"
|
||||
args:
|
||||
chdir: "{{ awx_dir }}"
|
||||
|
||||
#- name: Git checkout
|
||||
#ansible.builtin.git:
|
||||
#repo: 'https://github.com/kurokobo/awx-on-k3s.git'
|
||||
#dest: "{{ awx_dir }}"
|
||||
#version: release-2.10.0
|
||||
|
||||
- name: Generation de certificat auto-signé avec OpenSSL
|
||||
ansible.builtin.shell: 'openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -out ./base/tls.crt -keyout ./base/tls.key -subj "/CN={{ awx_host }}/O={{ awx_host }}" -addext "subjectAltName = DNS:{{ awx_host }}"'
|
||||
args:
|
||||
chdir: "{{ awx_dir }}"
|
||||
|
||||
- name: Changement de la ligne hostname dans le fichier awx.yaml
|
||||
replace:
|
||||
path: ~/tools/awx-on-k3s/base/awx.yaml
|
||||
regexp: 'awx.example.com'
|
||||
replace: '{{ awx_host }}'
|
||||
backup: yes
|
||||
|
||||
- name: creation du repertoire postgres-13
|
||||
ansible.builtin.file:
|
||||
path: /data/postgres-13
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Creation repertoire projects
|
||||
ansible.builtin.file:
|
||||
path: /data/projects
|
||||
state: directory
|
||||
owner: 1000:0
|
||||
|
||||
- name: Deploiement d'AWX ...
|
||||
ansible.builtin.shell: "kubectl apply -k base"
|
||||
args:
|
||||
chdir: "{{ awx_dir }}"
|
||||
|
||||
- name: Test d'accésibilité de l'interface web AWX
|
||||
ansible.builtin.uri:
|
||||
url: "https://s-awx.gsb.lan"
|
||||
follow_redirects: none
|
||||
method: GET
|
||||
validate_certs: false
|
||||
register: _result
|
||||
until: _result.status == 200
|
||||
retries: 60 # 90*10 seconds = 15 min
|
||||
delay: 10 # Every 10 seconds
|
||||
|
||||
- debug:
|
||||
msg: "L'installation du serveur AWX est terminée."
|
||||
|
||||
- debug:
|
||||
msg: "Connectez-vous sur: https://s-awx.gsb.lan"
|
||||
|
||||
- debug:
|
||||
msg: "Nom d'utilisateur: admin / mdp: Ansible123!"
|
||||
|
||||
|
||||
|
@ -1 +1 @@
|
||||
BEATVER: "8.11.5"
|
||||
BEATVER: "8.11.4"
|
||||
|
@ -1,17 +1,51 @@
|
||||
---
|
||||
- name: Récupération de filebeat
|
||||
get_url:
|
||||
url: http://s-adm.gsb.adm/gsbstore/filebeat-${BEATVAR}-amd64.deb
|
||||
url: "http://s-adm.gsb.adm/gsbstore/filebeat-{{ BEATVER }}-amd64.deb"
|
||||
dest: /tmp/
|
||||
|
||||
- name: Installation de filebeat
|
||||
apt:
|
||||
deb: /tmp/filebeat-${BEATVEAR}-amd64.deb
|
||||
deb: "/tmp/filebeat-{{ BEATVER }}-amd64.deb"
|
||||
|
||||
<<<<<<< HEAD
|
||||
- name: Chgt filebeat.yml - localhost:9200 - Elastic
|
||||
replace:
|
||||
path: /etc/filebeat/filebeat.yml
|
||||
regexp: 'localhost:9200'
|
||||
replace: 's-elk.gsb.adm:9200'
|
||||
backup: yes
|
||||
|
||||
- name: Chgt filebeat.yml - localhost:5601 - Kibana
|
||||
replace:
|
||||
path: /etc/filebeat/filebeat.yml
|
||||
regexp: 'localhost:5601'
|
||||
replace: 's-elk.gsb.adm:5601'
|
||||
backup: yes
|
||||
|
||||
|
||||
- name: Chgt filebeat.yml - user - Kibana
|
||||
replace:
|
||||
path: /etc/filebeat/filebeat.yml
|
||||
regexp: 'user:5601'
|
||||
replace: 's-elk.gsb.adm:5601'
|
||||
backup: yes
|
||||
|
||||
#- name: Changement du fichier de conf
|
||||
# copy:
|
||||
# src: filebeat.yml
|
||||
# dest: /etc/filebeat/filebeat.yml
|
||||
=======
|
||||
- name: sorie pou debug
|
||||
fail:
|
||||
msg: "packet installe"
|
||||
|
||||
|
||||
- name: Changement du fichier de conf
|
||||
copy:
|
||||
src: filebeat.yml
|
||||
dest: /etc/filebeat/filebeat.yml
|
||||
>>>>>>> d16ccae (maj pour elk-filebeat-cli)
|
||||
|
||||
- name: Configuration de filebeat
|
||||
shell: filebeat modules enable system
|
||||
|
26
roles/firewalld/README.md
Normal file
26
roles/firewalld/README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Rôle awx
|
||||
***
|
||||
Rôle awx: Configuration d'un serveur AWX avec k3s.
|
||||
|
||||
## Tables des matières
|
||||
1. [Que fait le rôle AWX ?]
|
||||
2. [Connexion à l'interface WEB du serveur AWX]
|
||||
|
||||
**AWX** est l'application développée par **RedHat** permettant de lancer des playbooks **ansible** depuis une interface web évoluée plutôt qu'en ligne de commande. **AWX** utlise kubernetes mise en oeuvre ici avec **k3s**.
|
||||
|
||||
## Que fait le rôle AWX ?
|
||||
Le rôle **awx** installe et configure un serveur **AWX** avec **k3s** pour cela le role:
|
||||
- Installe **k3s** en spécifiant l'adresse IP ainsi que l'interface d'écoute
|
||||
- Clone le dépot **Github** **awx-on-k3s**
|
||||
- Procéde au déploiement du pod **awx-operator**
|
||||
- Génére un certifiacat auto-signé utlisée par le serveur **AWX** en utilisant **OpenSSL**
|
||||
- Edite le fichier awx.yaml afin d'y indique le nom d'hote du serveur en accord avec le nom utlisé par les certificats
|
||||
- Déploie le serveur **AWX**
|
||||
- Test l'accésibilité du serveur **AWX**.
|
||||
|
||||
### Connexions à l'interface WEB du serveur AWX ###
|
||||
Une fois le role **awx** terminé il est possible de se connecter à l'interface web duserveur depuis un navigateur.
|
||||
S'assurer que votre machine puisse résoudre **s-awx.gsb.lan**
|
||||
- Se connecter sur : **https://s-awx.gsb.lan**
|
||||
- Utlisateur: **admin** / Mot de passe: **Ansible123!**
|
||||
|
91
roles/firewalld/tasks/main.yml
Normal file
91
roles/firewalld/tasks/main.yml
Normal file
@ -0,0 +1,91 @@
|
||||
---
|
||||
- name: Installation de firewalld
|
||||
apt:
|
||||
state: present
|
||||
name:
|
||||
- firewalld
|
||||
|
||||
- name: affectation de l'interface enp0s3 a la zone external
|
||||
ansible.posix.firewalld:
|
||||
zone: external
|
||||
interface: enp0s3
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: affectation de l'interface enp0s8 a la zone external
|
||||
ansible.posix.firewalld:
|
||||
zone: internal
|
||||
interface: enp0s8
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- name: FirewallD rules pour la zone internal
|
||||
firewalld:
|
||||
zone: internal
|
||||
permanent: yes
|
||||
immediate: yes
|
||||
service: "{{ item }}"
|
||||
state: enabled
|
||||
with_items:
|
||||
- http
|
||||
- https
|
||||
- dns
|
||||
- ssh
|
||||
- rdp
|
||||
|
||||
- name: FirewallD rules pour la zone internal
|
||||
firewalld:
|
||||
zone: external
|
||||
permanent: yes
|
||||
immediate: yes
|
||||
service: "{{ item }}"
|
||||
state: enabled
|
||||
with_items:
|
||||
- ssh
|
||||
- rdp
|
||||
#- ansible.posix.firewalld:
|
||||
# zone: internal
|
||||
# service: http
|
||||
# permanent: true
|
||||
# state: enabled
|
||||
|
||||
#- ansible.posix.firewalld:
|
||||
# zone: internal
|
||||
# service: dns
|
||||
# permanent: true
|
||||
#state: enabled
|
||||
|
||||
#- ansible.posix.firewalld:
|
||||
# zone: internal
|
||||
# service: ssh
|
||||
# permanent: true
|
||||
# state: enabled
|
||||
|
||||
#- ansible.posix.firewalld:
|
||||
# zone: internal
|
||||
# service: rdp
|
||||
#permanent: true
|
||||
#state: enabled
|
||||
|
||||
|
||||
- ansible.posix.firewalld:
|
||||
zone: internal
|
||||
port: 8080/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- ansible.posix.firewalld:
|
||||
zone: external
|
||||
port: 3389/tcp
|
||||
permanent: true
|
||||
state: enabled
|
||||
|
||||
- ansible.posix.firewalld:
|
||||
port_forward:
|
||||
- port: 3389
|
||||
proto: tcp
|
||||
toaddr: "192.168.99.6"
|
||||
toport: 3389
|
||||
state: enabled
|
||||
immediate: yes
|
||||
|
16
roles/gotify/README.md
Normal file
16
roles/gotify/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# Rôle Gotify
|
||||
***
|
||||
Rôle gotify pour la notification Zabbix et pas que
|
||||
|
||||
## Que fait le rôle gotify ?
|
||||
|
||||
Le rôle gotify va installer gotify en binaire, il s'agit d'une installation basic sans https.
|
||||
***
|
||||
## Identifiant
|
||||
|
||||
***
|
||||
|
||||
Admin
|
||||
Admin
|
||||
|
||||
***
|
@ -79,6 +79,10 @@
|
||||
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
|
||||
},
|
||||
|
||||
{
|
||||
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_stat_cmds.so"
|
||||
},
|
||||
|
||||
{
|
||||
// The HA hook library should be loaded.
|
||||
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
|
||||
@ -179,8 +183,19 @@
|
||||
// choice is 8.8.8.8, owned by Google. Using third party DNS
|
||||
// service raises some privacy concerns.
|
||||
"name": "domain-name-servers",
|
||||
"data": "172.16.0.1"
|
||||
}
|
||||
"data": "172.16.0.1, 172.16.0.4"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "domain-name",
|
||||
"data": "gsb.lan"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "domain-search",
|
||||
"data": "gsb.lan"
|
||||
},
|
||||
|
||||
],
|
||||
|
||||
// Some devices should get a static address. Since the .100 - .199 range is dynamic,
|
||||
|
22
roles/lb-front-ssl/README.md
Normal file
22
roles/lb-front-ssl/README.md
Normal file
@ -0,0 +1,22 @@
|
||||
# Rôle lb-front
|
||||
***
|
||||
Rôle lb-front pour la répartition de charge des serveurs web sur WordPress avec HAProxy
|
||||
|
||||
## Tables des matières
|
||||
1. Que fait le rôle lb-front ?
|
||||
2. Ordre d'installation des serveurs.
|
||||
|
||||
|
||||
## Que fait le rôle lb-front ?
|
||||
|
||||
Le rôle lb-front va installer `haproxy` pour le load balancing/la répartition de charge et va configurer le fichier `/etc/haproxy/haproxy.cfg`.
|
||||
|
||||
le fichier va faire du Round-Robin, un algoritme qui va équilibrer le nombre de requêtes entre s-lb-web1 et s-lb-web2.
|
||||
|
||||
le site web est accessibe à l'adresse <http://s-lb.gsb.adm>.
|
||||
|
||||
## Ordre d'installation des serveurs.
|
||||
1. Le serveur s-lb avec haproxy qui va "initialiser" les sous-réseaux dans la DMZ.
|
||||
2. Le serveur s-lb-bd qui va contenir la base de données WordPress utilisée par les serveurs web.
|
||||
3. Le serveur s-nas qui va stocker la configuration WordPress et la partager aux serveurs web en NFS. Il va aussi utiliser la base de données sur stockée s-lb-bd.
|
||||
4. Les serveurs s-web1 et s-web2 qui vont installer Apache2, PHP et afficher le serveur WordPress.
|
55
roles/lb-front-ssl/files/haproxy.cfg
Normal file
55
roles/lb-front-ssl/files/haproxy.cfg
Normal file
@ -0,0 +1,55 @@
|
||||
global
|
||||
log /dev/log local0
|
||||
log /dev/log local1 notice
|
||||
chroot /var/lib/haproxy
|
||||
stats socket /run/haproxy/admin.sock mode 660 level admin
|
||||
stats timeout 30s
|
||||
user haproxy
|
||||
group haproxy
|
||||
daemon
|
||||
|
||||
# Default SSL material locations
|
||||
ca-base /etc/ssl/certs
|
||||
crt-base /etc/ssl/private
|
||||
|
||||
# Default ciphers to use on SSL-enabled listening sockets.
|
||||
# For more information, see ciphers(1SSL). This list is from:
|
||||
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
|
||||
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
|
||||
ssl-default-bind-options no-sslv3
|
||||
|
||||
defaults
|
||||
log global
|
||||
mode http
|
||||
option httplog
|
||||
option dontlognull
|
||||
timeout connect 5000
|
||||
timeout client 50000
|
||||
timeout server 50000
|
||||
errorfile 400 /etc/haproxy/errors/400.http
|
||||
errorfile 403 /etc/haproxy/errors/403.http
|
||||
errorfile 408 /etc/haproxy/errors/408.http
|
||||
errorfile 500 /etc/haproxy/errors/500.http
|
||||
errorfile 502 /etc/haproxy/errors/502.http
|
||||
errorfile 503 /etc/haproxy/errors/503.http
|
||||
errorfile 504 /etc/haproxy/errors/504.http
|
||||
|
||||
frontend proxypublic
|
||||
bind 192.168.100.10:80
|
||||
default_backend fermeweb
|
||||
|
||||
backend fermeweb
|
||||
balance roundrobin
|
||||
option httpclose
|
||||
option httpchk HEAD / HTTP/1.0
|
||||
server s-lb-web1 192.168.101.1:80 check
|
||||
server s-lb-web2 192.168.101.2:80 check
|
||||
|
||||
|
||||
listen stats
|
||||
bind *:8080
|
||||
stats enable
|
||||
stats uri /haproxy
|
||||
stats auth admin:admin
|
||||
|
||||
|
3
roles/lb-front-ssl/handlers/main.yml
Normal file
3
roles/lb-front-ssl/handlers/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
- name: restart haproxy
|
||||
service: name=haproxy state=restarted
|
75
roles/lb-front-ssl/tasks/main.yml
Normal file
75
roles/lb-front-ssl/tasks/main.yml
Normal file
@ -0,0 +1,75 @@
|
||||
- name: install haproxy
|
||||
apt:
|
||||
name: haproxy
|
||||
state: present
|
||||
|
||||
- name: Creer le repertoire du certificat
|
||||
file:
|
||||
path: /etc/haproxy/crt
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Creer le repertoire de la cle privee
|
||||
file:
|
||||
path: /etc/haproxy/crt/private
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Generer une clee privee avec les valeurs par defaut (4096 bits, RSA)
|
||||
openssl_privatekey:
|
||||
path: /etc/haproxy/crt/private/haproxy.pem.key
|
||||
size: 4096
|
||||
type: RSA
|
||||
state: present
|
||||
|
||||
- name: creer un certificat auto-signé
|
||||
openssl_certificate:
|
||||
path: /etc/haproxy/crt/private/haproxy.pem
|
||||
privatekey_path: /etc/haproxy/crt/private/haproxy.pem.key
|
||||
provider: selfsigned
|
||||
state: present
|
||||
|
||||
- name: s'assurer que le certificat a les bonnes permissions
|
||||
file:
|
||||
path: /etc/haproxy/crt/private/haproxy.pem
|
||||
owner: root
|
||||
group: haproxy
|
||||
mode: '0640'
|
||||
|
||||
- name: parametre global
|
||||
blockinfile:
|
||||
path: /etc/haproxy/haproxy.cfg
|
||||
block: |
|
||||
global
|
||||
log /dev/log local0
|
||||
log /dev/log local1 notice
|
||||
chroot /var/lib/haproxy
|
||||
stats socket /run/haproxy/admin.sock mode 660 level admin
|
||||
stats timeout 30s
|
||||
user haproxy
|
||||
group haproxy
|
||||
daemon
|
||||
ssl-server-verify none
|
||||
|
||||
- name: parametre backend et fontend
|
||||
blockinfile:
|
||||
path: /etc/haproxy/haproxy.cfg
|
||||
block: |
|
||||
frontend proxypublic
|
||||
bind 192.168.100.10:80
|
||||
bind 192.168.100.10:443 ssl crt /etc/haproxy/crt/private/haproxy.pem
|
||||
http-request redirect scheme https unless { ssl_fc }
|
||||
default_backend fermeweb
|
||||
|
||||
backend fermeweb
|
||||
balance roundrobin
|
||||
option httpclose
|
||||
option httpchk HEAD / HTTP/1.0
|
||||
server s-lb-web1 192.168.101.1:80 check
|
||||
server s-lb-web2 192.168.101.2:80 check
|
||||
|
||||
- name: redemarre haproxy
|
||||
service:
|
||||
name: haproxy
|
||||
# state: restarted
|
||||
enabled: yes
|
19
roles/nxc-traefik/files/save/README.md
Normal file
19
roles/nxc-traefik/files/save/README.md
Normal file
@ -0,0 +1,19 @@
|
||||
Ce script Bash a pour objectif d'automatiser le processus de sauvegarde du serveur NextCloud, qui est exécuté dans un environnement Docker.
|
||||
|
||||
## 1. Activation du mode maintenance :
|
||||
- La première commande Docker est utilisée pour mettre le serveur NextCloud en mode maintenance. Cette mesure préventive garantit qu'aucune modification n'est apportée pendant la sauvegarde, assurant ainsi la cohérence des données.
|
||||
|
||||
## 2. Copie des fichiers de sauvegarde :
|
||||
- La commande `cd /root/nxc` change le répertoire de travail vers `/root/nxc`.
|
||||
- Ensuite, la commande `rsync -Aavx nextcloud/ nextcloud-dirbkp/` effectue une copie récursive des fichiers du dossier `nextcloud/` vers `nextcloud-dirbkp/`. Ceci crée une copie locale des fichiers de NextCloud à des fins de sauvegarde.
|
||||
|
||||
## 3. Sauvegarde de la base de données MySQL/MariaDB :
|
||||
- La ligne suivante utilise `docker compose exec` pour exécuter la commande `mysqldump` dans le conteneur de la base de données. Cela génère une sauvegarde de la base de données NextCloud qui est enregistrée dans le fichier `nextcloud-sqlbkp.bak`.
|
||||
|
||||
## 4. Désactivation du mode maintenance :
|
||||
- Après la sauvegarde, une autre commande Docker est utilisée pour désactiver le mode maintenance de NextCloud, permettant ainsi la reprise normale des opérations.
|
||||
|
||||
## 5. Création d'une archive compressée :
|
||||
- Enfin, la dernière ligne crée une archive compressée `nxc.tgz` qui regroupe la sauvegarde de la base de données (`nextcloud-sqlbkp.bak`) et la copie locale des fichiers NextCloud (`nextcloud-dirbkp/`).
|
||||
|
||||
Ce script simplifie et automatise le processus de sauvegarde de NextCloud en mettant en place la mise en mode maintenance, la copie des fichiers locaux, la sauvegarde de la base de données, la désactivation du mode maintenance, et la création d'une archive compressée consolidant l'ensemble des éléments de sauvegarde.
|
@ -1 +1,17 @@
|
||||
###Génération de clé publique et privée###
|
||||
Ce script génère et distribue une paire de clés SSH (clé privée et clé publique).
|
||||
|
||||
## 1. Génération de la clé privée :
|
||||
- Cette étape crée une clé privée de type RSA destinée à être utilisée pour des opérations liées à s-backup.
|
||||
- La clé privée est enregistrée dans le chemin spécifié (`/root/id_rsa_sbackup`).
|
||||
- L'attribut `state: present` garantit que la clé privée est générée si elle n'existe pas déjà.
|
||||
|
||||
## 2. Copie de la clé publique dans gsbstore :
|
||||
- Cette étape copie la clé publique associée à la clé privée générée précédemment (`/root/id_rsa_sbackup.pub`).
|
||||
- La clé publique est déplacée vers un répertoire spécifié (`/var/www/html/gsbstore`) sur la machine distante.
|
||||
- Les permissions de la clé publique sont définies avec `mode: 0644`, et `remote_src: yes` indique que la source du fichier est sur la machine distante.
|
||||
|
||||
## 3. Copie de la clé privée dans gsbstore :
|
||||
- Cette étape copie la clé privée générée dans le même répertoire que la clé publique sur la machine distante (`/var/www/html/gsbstore`).
|
||||
- Les permissions de la clé privée sont également définies avec `mode: 0644`, et `remote_src: yes` indique que la source du fichier est sur la machine distante.
|
||||
|
||||
Ce script automatise la création d'une paire de clés SSH et déplace ces clés vers un emplacement spécifique (`/var/www/html/gsbstore`) sur une machine distante. Ces clés pourraient être utilisées dans des processus de sauvegarde sécurisés, garantissant l'authentification sécurisée lors des opérations liées à s-backup.
|
||||
|
@ -16,5 +16,5 @@
|
||||
copy:
|
||||
src: /root/id_rsa_sbackup
|
||||
dest: /var/www/html/gsbstore
|
||||
mode: 0600
|
||||
mode: 0644
|
||||
remote_src: yes
|
||||
|
9
roles/ssh-backup-key-private/README.md
Normal file
9
roles/ssh-backup-key-private/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# récupération d'une clé publique
|
||||
|
||||
Ce script permet de récupérer un clé publique créer depuis la machine s-adm:
|
||||
1. Création du répertoire .ssh :
|
||||
- Il crée le répertoire `~/.ssh` avec des permissions strictes (0700) pour l'utilisateur.
|
||||
|
||||
2. Récupération de la clé privée :
|
||||
- Il télécharge une clé privée depuis l'URL spécifiée (`http://s-adm.gsb.adm/gsbstore/id_rsa_sbackup`) et la place dans le répertoire `~/.ssh` avec le nom `id_rsa_sbackup`.
|
||||
- La clé privée est configurée avec des permissions strictes (0600) pour garantir la sécurité.
|
9
roles/ssh-backup-key-pub/README.md
Normal file
9
roles/ssh-backup-key-pub/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# script de récupération de la clé publique générer par s-adm
|
||||
|
||||
Ce script Ansible utilise le module `ansible.posix.authorized_key` pour gérer les clés SSH autorisées sur un système conforme aux normes POSIX. Plus précisément, la tâche vise à garantir la présence d'une clé publique spécifiée dans le fichier des clés autorisées pour l'utilisateur `root`.
|
||||
|
||||
- `user: root` : Indique que la clé SSH est associée à l'utilisateur root.
|
||||
- `state: present` : Spécifie que la clé doit être présente dans le fichier des clés autorisées. Si la clé n'existe pas, elle sera ajoutée.
|
||||
- `key: http://s-adm.gsb.adm/gsbstore/id_rsa_sbackup.pub` : Indique l'URL à partir de laquelle la clé publique (`id_rsa_sbackup.pub`) doit être récupérée. Ansible télécharge la clé publique depuis cette URL et l'ajoute au fichier des clés autorisées pour l'utilisateur root.
|
||||
|
||||
Ce script Ansible assure que la clé publique spécifiée est présente dans le fichier des clés autorisées pour l'utilisateur root sur un système compatible POSIX, en récupérant la clé publique à partir de l'URL fournie.
|
@ -6,9 +6,21 @@
|
||||
mode: 0700
|
||||
state: directory
|
||||
|
||||
- name: Copie cle publiique depuis s-adm
|
||||
- name: Copie cle publique depuis s-adm
|
||||
ansible.posix.authorized_key:
|
||||
user: root
|
||||
state: present
|
||||
key: http://s-adm.gsb.adm/id_rsa.pub
|
||||
|
||||
- name: Creation user gsbadm
|
||||
ansible.builtin.user:
|
||||
name: gsbadm
|
||||
groups: sudo
|
||||
append: yes
|
||||
shell: /bin/bash
|
||||
|
||||
- name: Copie cle publique oour gsbadm depuis s-adm
|
||||
ansible.posix.authorized_key:
|
||||
user: gsbadm
|
||||
state: present
|
||||
key: http://s-adm.gsb.adm/id_rsa.pub
|
||||
|
@ -17,7 +17,7 @@ Attendre la fin de l'installation. Ensuite lancer le scipt r-vp1-post.sh
|
||||
|
||||
### 🛠️ Lancer le script r-vp1-post.sh
|
||||
```bash
|
||||
cd /tools/ansible/gsb2023/Scripts
|
||||
cd tools/ansible/gsb2024/scripts
|
||||
```
|
||||
```bash
|
||||
bash r-vp1-post.sh
|
||||
@ -30,7 +30,7 @@ Puis lancer le script r-vp2-post.sh pour récuperer le fichier de configuration
|
||||
|
||||
### 🛠️ Lancer le script
|
||||
```bash
|
||||
cd /tools/ansible/gsb2023/Scripts
|
||||
cd tools/ansible/gsb2024/scripts
|
||||
```
|
||||
```bash
|
||||
bash r-vp2-post.sh
|
||||
@ -44,4 +44,4 @@ reboot
|
||||
Veuillez maintenant vous rendre dans le dossier du role ferm :
|
||||
*gsb2024/roles/fw-ferm*
|
||||
|
||||
*Modification : jm*
|
||||
*Modification : jm*
|
||||
|
@ -11,7 +11,7 @@ Rôle du Zabbix client pour la supervision des différentes machines en active
|
||||
Il permet de configurer les agents zabbix en active sur le serveur.
|
||||
|
||||
### Installation et configuration de Zabbix-agent
|
||||
Le rôle Zabbix-cli va installer Zabbix-agent sur les serveurs Debian. Vous pouvez modifier les paramètres dans le fichier 'defaults'. Il s'agit d'une configuration en mode actif, ce qui signifie que du côté du serveur, il suffit de définir les hôtes avec leur nom, le type d'OS, et pour notre cas, préciser qu'il s'agit d'une machine virtuelle sur le serveur Zabbix.
|
||||
Le rôle Zabbix-cli installe Zabbix-agent sur Debian. Les paramètres sont modifiable dans le fichier 'defaults'. Il s'agit d'une configuration en mode actif(remonte lui seule au serveur zabbix), ce qui signifie que du côté du serveur, il suffit de définir les hôtes avec leur nom, le type d'OS, et pour notre cas, préciser qu'il s'agit d'une machine virtuelle sur le serveur Zabbix.(Le script hostcreate.sh remonte automatiquement les machines uniquement si la clée d'api est valide)
|
||||
### Partie Windows !
|
||||
Le fonctionnement de Zabbix-agent n'est pas différent de celui sur Linux. Cependant, lorsque vous êtes sur le site de Zabbix pour installer l'agent, veillez à choisir la version classique de Zabbix-agent plutôt que la version 2, car elle requiert plus de ressources pour une faible supervision supplémentaire.
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
SERVER: "127.0.0.1"
|
||||
SERVERACTIVE: "192.168.99.8"
|
||||
TOKENAPI: "f72473b7e5402a5247773e456f3709dcdd5e41792360108fc3451bbfeed8eafe"
|
||||
TOKENAPI: "a44e2a4977d61a869437739cb6086ae42f4b9937fbb96aed24bbad028469a1cf"
|
||||
|
@ -1,9 +1,9 @@
|
||||
- name: Intallation paquet zabbix agent
|
||||
- name: Installation paquet zabbix agent
|
||||
get_url:
|
||||
url: "https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb"
|
||||
dest: "/tmp"
|
||||
|
||||
- name: Intallation paquet zabbix agent suite
|
||||
- name: Installation paquet zabbix agent suite
|
||||
apt:
|
||||
deb: "/tmp/zabbix-release_6.4-1+debian12_all.deb"
|
||||
state: present
|
||||
@ -12,7 +12,7 @@
|
||||
apt:
|
||||
update_cache: yes
|
||||
|
||||
- name: Intallation Zabbix agent
|
||||
- name: Installation Zabbix agent
|
||||
apt:
|
||||
name: zabbix-agent
|
||||
state: present
|
||||
@ -33,6 +33,6 @@
|
||||
src: hostcreate.sh.j2
|
||||
dest: /tmp/hostcreate.sh
|
||||
|
||||
#- name: lancement script hostcreate
|
||||
#command: bash /tmp/hostcreate.sh
|
||||
- name: lancement script hostcreate
|
||||
command: bash /tmp/hostcreate.sh
|
||||
|
||||
|
@ -15,3 +15,7 @@ La base de données est importée depuis une sauvegarde existante sur s-adm qui
|
||||
Lors de l'éxecution du playbook, les identifiants de la BDD sont crées avec le nom d'utilisateur "zabbix" et le mot de passe "password" pour se connecter a la BD importée.
|
||||
|
||||
Pour l'identifiant de Zabbix, c'est "Admin" et le mot de passe "zabbix", à l'adresse <http://s-mon/zabbix>.
|
||||
|
||||
## Notification Zabbix avec gotify
|
||||
|
||||
Ce rôle installe la base pour pouvoir faire des notification avec gotify, la base importée est pre-configurer pas besoin de rajouter le media gotify. Le serveur gotify est sur s-backup et est accessible via s-backup.gsb.adm:8008.
|
||||
|
@ -4,4 +4,4 @@ ALERTSENDTO=$1
|
||||
ALERTSUBJECT=$2
|
||||
ALERTMESSAGE=$3
|
||||
|
||||
curl -X POST "http://s-backup.gsb.adm/message?token=$ALERTSENDTO" -F "title=$ALERTSUBJECT" -F "message=$ALERTMESSAGE" -F "priority=5" > /dev/null 2>&1
|
||||
curl -X POST "http://s-backup.gsb.adm:8008/message?token=$ALERTSENDTO" -F "title=$ALERTSUBJECT" -F "message=$ALERTMESSAGE" -F "priority=5" > /dev/null 2>&1
|
||||
|
@ -1,15 +1,18 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
|
||||
roles:
|
||||
- base
|
||||
- s-ssh
|
||||
#- zabbix-cli
|
||||
- dnsmasq
|
||||
- squid
|
||||
- ssh-backup-key-gen
|
||||
# awx-user
|
||||
# - local-store
|
||||
- zabbix-cli
|
||||
## - syslog-cli
|
||||
- post
|
||||
# - goss
|
||||
|
11
s-awx-post.yml
Normal file
11
s-awx-post.yml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
awx_host: "s-awx.gsb.lan"
|
||||
awx_dir: "/root/tools/awx-on-k3s"
|
||||
awx_ip: "172.16.0.22"
|
||||
awx_if: "enp0s8"
|
||||
|
||||
roles:
|
||||
- awx
|
13
s-awx.yml
Normal file
13
s-awx.yml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- ssh-cli
|
||||
- awx-user-cli
|
||||
#- awx
|
||||
# - zabbix-cli
|
||||
- journald-snd
|
||||
- post
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
vars:
|
||||
stork_db_user: "stork-server"
|
||||
stork_db_passwd: "Azerty1+"
|
||||
|
@ -1,14 +1,18 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
# include: config.yml
|
||||
|
||||
roles:
|
||||
- base
|
||||
- zabbix-cli
|
||||
- goss
|
||||
#- zabbix-cli
|
||||
- goss
|
||||
- dns-master
|
||||
- webautoconf
|
||||
# - elk-filebeat-cli
|
||||
- journald-snd
|
||||
- ssh-cli
|
||||
#- awx-user-cli
|
||||
- post
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
become: yes
|
||||
#vars:
|
||||
#glpi_version: "10.0.11"
|
||||
#glpi_dir: "/var/www/html/glpi"
|
||||
|
@ -17,8 +17,8 @@
|
||||
- goss
|
||||
- ssh-cli
|
||||
- kea
|
||||
- stork-agent
|
||||
- zabbix-cli
|
||||
- awx-user-cli
|
||||
#- stork-agent
|
||||
# - zabbix-cli
|
||||
- journald-snd
|
||||
- snmp-agent
|
||||
- post
|
||||
|
3
s-lb.yml
3
s-lb.yml
@ -5,7 +5,8 @@
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- lb-front
|
||||
#- lb-front
|
||||
- lb-front-ssl
|
||||
#- zabbix-cli
|
||||
- ssh-cli
|
||||
- post
|
||||
|
@ -1,7 +1,8 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
become: yes
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
|
20
scripts/mkvm
20
scripts/mkvm
@ -2,8 +2,8 @@
|
||||
|
||||
mkvmrelease="v1.3.3"
|
||||
|
||||
ovarelease="2023c"
|
||||
ovafogrelease="2024a"
|
||||
ovarelease="2024b"
|
||||
ovafogrelease="2024b"
|
||||
#ovafile="$HOME/Téléchargements/debian-bullseye-gsb-${ovarelease}.ova"
|
||||
ovafile="$HOME/Téléchargements/debian-bookworm-gsb-${ovarelease}.ova"
|
||||
ovafilefog="$HOME/Téléchargements/debian-bullseye-gsb-${ovafogrelease}.ova"
|
||||
@ -17,6 +17,11 @@ vmMem[s-nas]=512
|
||||
vmMem[s-infra]=768
|
||||
vmMem[s-backup]=768
|
||||
vmMem[s-elk]=3072
|
||||
vmMem[s-awx]=4096
|
||||
|
||||
declare -A vmCpus
|
||||
vmCpus[s-peertube]=2
|
||||
vmCpus[s-awx]=2
|
||||
|
||||
usage () {
|
||||
echo "$0 - version ${mkvmrelease} - Ova version ${ovarelease}"
|
||||
@ -40,12 +45,15 @@ create_vm () {
|
||||
if [[ "${deletemode}" = 1 ]] ; then
|
||||
VBoxManage unregistervm --delete "${nom}"
|
||||
fi
|
||||
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}"
|
||||
mem=1024
|
||||
cpus=1
|
||||
if [[ -v vmMem[${nom}] ]]; then
|
||||
mem=${vmMem[${nom}]}
|
||||
echo "machine ${nom}: ${mem} ..."
|
||||
VBoxManage modifyvm "${nom}" --memory "${mem}"
|
||||
fi
|
||||
if [[ -v vmCpus[${nom}] ]]; then
|
||||
cpus=${vmCpus[${nom}]}
|
||||
fi
|
||||
vboxmanage import "${nomova}" --vsys 0 --vmname "${nom}" --memory "${mem}" --cpus "${cpus}"
|
||||
}
|
||||
|
||||
setif () {
|
||||
@ -145,6 +153,8 @@ elif [[ "${vm}" == "r-vp2" ]] ; then
|
||||
./addint.r-vp2
|
||||
elif [[ "${vm}" == "s-agence" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-agence"
|
||||
elif [[ "${vm}" == "s-awx" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
else
|
||||
echo "$0 : vm ${vm} non prevue "
|
||||
exit 2
|
||||
|
@ -4,8 +4,8 @@
|
||||
#mkvm pour toutes les vms
|
||||
|
||||
$mkvmrelease="v1.3.1"
|
||||
$ovarelease="2023c"
|
||||
$ovafogrelease="2024a"
|
||||
$ovarelease="2024b"
|
||||
$ovafogrelease="2024b"
|
||||
$ovafile="$HOME\Downloads\debian-bookworm-gsb-${ovarelease}.ova"
|
||||
$ovafilefog="$HOME\Downloads\debian-bullseye-gsb-${ovafogrelease}.ova"
|
||||
$vboxmanage="C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
|
||||
@ -18,14 +18,20 @@ $vmMem = @{
|
||||
"s-infra" = "768"
|
||||
"s-backup" = "768"
|
||||
"s-elk" = "3072"
|
||||
"s-awx" = "4096"
|
||||
"s-peertube" = "4096"
|
||||
}
|
||||
|
||||
$vmCpus = @{
|
||||
"s-awx" = "2"
|
||||
"s-peertube" = "2"
|
||||
}
|
||||
#FONCTIONS
|
||||
|
||||
function create_vm{ param([string]$nomvm)
|
||||
|
||||
if ($vmMem.ContainsKey($nomvm)) {
|
||||
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm" --memory $vmMem[$nomvm]
|
||||
if (($vmMem.ContainsKey($nomvm)) -and ($vmCpus.ContainsKey($nomvm))) {
|
||||
& "$vboxmanage" import "$ovafile" --vsys 0 --vmname "$nomvm" --memory $vmMem[$nomvm] --cpus $vmCpus[$nomvm]
|
||||
Write-Host "Machine $nomvm importée"
|
||||
} else {
|
||||
#Importation depuis l'ova
|
||||
@ -133,6 +139,22 @@ elseif ($args[0] -eq "s-kea2") {
|
||||
create_if $args[0] "int" 3 "n-user"
|
||||
}
|
||||
|
||||
|
||||
elseif ($args[0] -eq "s-awx") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-infra"
|
||||
}
|
||||
|
||||
|
||||
elseif ($args[0] -eq "s-peertube") {
|
||||
|
||||
create_vm $args[0]
|
||||
create_if $args[0] "int" 1 "n-adm"
|
||||
create_if $args[0] "int" 2 "n-infra"
|
||||
}
|
||||
|
||||
elseif ($args[0] -eq "s-agence") {
|
||||
|
||||
create_vm $args[0]
|
||||
|
@ -1,4 +1,4 @@
|
||||
!/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
#Ancien scipt 2023
|
||||
#stoper le fw
|
||||
|
@ -9,11 +9,11 @@
|
||||
- Une fois l'installation du serveur Windows 2019, démarrer la VM Windows Server.
|
||||
- Faite l'installation de windows server. Vous pouvez suivre de l'étape 3 a l'étape 12 (Lien : https://www.infonovice.fr/guide-dinstallation-de-windows-server-2019-avec-une-interface-graphique/)
|
||||
- Renommer votre nom de machine du serveur windows depuis les parametre de "Informations Systèmes" en **s-win**. Puis redémarrer la machine.
|
||||
- Modifier la premiere carte de l'IP du serveur windows depuis le panneau de configuration en "192.168.99.6" avec la passerelle en "192.168.99.99 et la seconde en "172.16.0.6" et ajouter la passerelle par defaut en "172.16.0.254".
|
||||
- Eteindre votre VM et ajouter une carte en pont dans les parametres reseaux de la VM. Allumer votre VM et installer git depuis le site officiel, il faudra sans doute activer certaines options dans les parametres d'internet explorer comme "JavaScript" ou encore l'option de Téléchargement (lien source: https://git-scm.com/download/win et https://support.microsoft.com/fr-fr/topic/procédure-d-activation-de-javascript-dans-windows-88d27b37-6484-7fc0-17df-872f65168279).
|
||||
- Modifier la premiere carte de l'IP du serveur windows depuis le panneau de configuration en "192.168.99.6" avec la passerelle en "192.168.99.99" et la seconde en "172.16.0.6" et ajouter la passerelle par defaut en "172.16.0.254".
|
||||
- Eteindre votre VM et ajouter une carte en pont dans les parametres reseaux de la VM. Allumer votre VM et installer git depuis le site officiel, il faudra sans doute activer certaines options dans les parametres d'internet explorer comme "JavaScript" ou encore l'option de "Téléchargement" et si besoin rajouter le site du **gitea** du lycée etant comme site sure (lien source: https://git-scm.com/download/win et https://support.microsoft.com/fr-fr/topic/procédure-d-activation-de-javascript-dans-windows-88d27b37-6484-7fc0-17df-872f65168279).
|
||||
- Installer Serveur DNS et Services AD DS. Pour vous aider, suivre le TP de "Installation du service" a "Installation serveur DNS" (lien source: https://sio.lyc-lecastel.fr/doku.php?id=promo_2024:serveur_windows_2019-installation_ad)
|
||||
- Créer une nouvelle fôret pour le domaine **gsb.lan**.
|
||||
- Configurer la zone inverse du DNS et l'alimenter avec les enregistrements souhaités (A et PTR pour **s-win**, **s-itil**, **r-int** et **s-infra*. Vous pouvez vous aidez de ce tutoriel (https://www.it-connect.fr/dns-sous-windows-server-2022-comment-configurer-une-zone-de-recherche-inversee/).
|
||||
- Configurer la zone inverse du DNS et l'alimenter avec les enregistrements souhaités (A et PTR pour **s-win**, **s-itil**, **r-int** et **s-infra**. Vous pouvez vous aidez de ce tutoriel (https://www.it-connect.fr/dns-sous-windows-server-2022-comment-configurer-une-zone-de-recherche-inversee/).
|
||||
|
||||
## Création des dossiers partagés et des utilisateur
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user