Compare commits
7 Commits
v0.0.1t-ps
...
v0.0.2d-ps
Author | SHA1 | Date | |
---|---|---|---|
08973e83b3 | |||
79c7bd34e6 | |||
0cd9f1bb4c | |||
4dd5b711e2 | |||
f4361d9ecb | |||
5d767a195d | |||
7092ed5963 |
25
roles/lb-front/tasks/main.yml
Normal file
25
roles/lb-front/tasks/main.yml
Normal file
@ -0,0 +1,25 @@
|
||||
- name: install haproxy
|
||||
apt:
|
||||
name: haproxy
|
||||
state: present
|
||||
|
||||
- name: parametre backend et fontend
|
||||
blockinfile:
|
||||
path: /etc/haproxy/haproxy.cfg
|
||||
block: |
|
||||
frontend proxypublic
|
||||
bind 192.168.56.2:80
|
||||
default_backend fermeweb
|
||||
|
||||
backend fermeweb
|
||||
balance roundrobin
|
||||
option httpclose
|
||||
#option httpchk HEAD / HTTP/1.0
|
||||
server web1.test 192.168.56.3:80 check
|
||||
#server web2.test 192.168.56.4:80 check
|
||||
|
||||
- name: redemarre haproxy
|
||||
service:
|
||||
name: haproxy
|
||||
state: restarted
|
||||
enabled: yes
|
10
roles/lb-nfs-server/README.md
Normal file
10
roles/lb-nfs-server/README.md
Normal file
@ -0,0 +1,10 @@
|
||||
# Role s-nas-server
|
||||
## Installation de nfs-server et mise en oeuvre du partage /home/wordpress
|
||||
|
||||
Ce rôle :
|
||||
* installe **nfs-server**
|
||||
* copie le fichier de configuration **exports** pour exporter le répertoire **/home/wordpress**
|
||||
* relance le service **nfs-server**
|
||||
|
||||
### Objectif
|
||||
Le répertoire **/home/wordpress** est exporté par **nfs** sur le réseau **n-dmz-db**
|
@ -4,32 +4,29 @@ Nextcloud et Traefik fonctionnent grâce à docker. Pour pouvoir faire fonctionn
|
||||
|
||||
## Premièrement
|
||||
|
||||
Le playbook va créer le dossier nxc à la racine de root. Deux fichier docker-compose "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
|
||||
Enfin, dans le répertoire nxc, seront créé les dossier certs et config.
|
||||
Le playbook crée le dossier **nxc** à la racine de root. Les fichier docker-compose "nextcloud.yml" et "traefik.yml" y seront copiés depuis le répertoire "files" du playbook.
|
||||
Enfin, dans le répertoire nxc, seront créés les répertoires **certs** et **config**.
|
||||
|
||||
### Deuxièmement
|
||||
## Deuxièmement
|
||||
|
||||
Le playbook va copier les fichiers placés dans "files" et les placer dans les bons répertoires.
|
||||
|
||||
#### Troisièmement
|
||||
## Troisièmement
|
||||
|
||||
Le playbook va créer un certificat x509 grâce à mkcert, il s'agit d'une solution permettant de créer
|
||||
des certificats auto-signés. Pour cela il télécharge mkcert sur s-adm (utiliser le getall).
|
||||
Le playbook crée un certificat **x509** grâce à **mkcert**, il s'agit d'une solution permettant de créer des certificats auto-signés. Pour celai, il télécharge **mkcert** sur **s-adm** (utiliser le script **getall**).
|
||||
|
||||
mkcert sera placé dans : /usr/local/bin/
|
||||
**mkcert** est placé dans : /usr/local/bin/
|
||||
|
||||
Pour créer le certificat le playbook va executer des lignes de commandes (lancé depuis nxc/) :
|
||||
Pour créer le certificat, le playbook executer les commandes (lancé depuis nxc/) :
|
||||
```
|
||||
/usr/local/bin/mkcert -install # Installe mkcert
|
||||
/usr/local/bin/mkcert -key-file key.pem -cert-file cert.pem "hôte.domaine.local" "*.domaine.local" #Crée le certificat le DNS spécifié
|
||||
```
|
||||
##### Quatrièmement
|
||||
## Quatrièmement
|
||||
|
||||
Le playbook va lancer les fichier "docker-compose" à savoir : nextcloud.yml et traefik.yml.
|
||||
Cela va installer les solutions automatiquement. Nextcloud est alors fonctionnel avec
|
||||
un proxy inverse qui va rediriger en HTTPS.
|
||||
Le playbook va lancer les fichiers "docker-compose" à savoir : nextcloud.yml et traefik.yml.
|
||||
Cela va installer les solutions automatiquement. Nextcloud est alors fonctionnel avec le proxy inverse **traefik** assurant la redirection vers HTTPS.
|
||||
|
||||
|
||||
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
|
||||
Une fois le script fini, accedez au site :
|
||||
https://s-nxc.gsb.lan
|
||||
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
|
||||
|
@ -8,37 +8,30 @@ iface lo inet loopback
|
||||
# Reseau N-adm
|
||||
allow-hotplug enp0s3
|
||||
iface enp0s3 inet static
|
||||
address 192.168.99.12
|
||||
netmask 255.255.255.0
|
||||
address 192.168.99.12/24
|
||||
|
||||
|
||||
# Reseau liaison avec r-ext
|
||||
allow-hotplug enp0s8
|
||||
iface enp0s8 inet static
|
||||
address 192.168.200.254
|
||||
netmask 255.255.255.0
|
||||
address 192.168.200.254/24
|
||||
gateway 192.168.200.253
|
||||
up ip route add default via 192.168.200.253
|
||||
|
||||
|
||||
# Reseau wifi
|
||||
allow-hotplug enp0s9
|
||||
iface enp0s9 inet static
|
||||
address 172.16.65.254
|
||||
netmask 255.255.255.0
|
||||
address 172.16.65.254/24
|
||||
|
||||
|
||||
# Reseau user
|
||||
allow-hotplug enp0s10
|
||||
iface enp0s10 inet static
|
||||
address 172.16.64.254
|
||||
netmask 255.255.255.0
|
||||
address 172.16.64.254/24
|
||||
|
||||
|
||||
# Reseau infra
|
||||
allow-hotplug enp0s16
|
||||
iface enp0s16 inet static
|
||||
address 172.16.0.254
|
||||
netmask 255.255.255.0
|
||||
up /root/routagenat
|
||||
address 172.16.0.254/24
|
||||
|
||||
|
@ -3,11 +3,11 @@
|
||||
- name: Copie du fichier sysctl.conf
|
||||
copy: src=sysctl.conf dest=/etc/
|
||||
|
||||
- name: copier le script de routage
|
||||
copy: src=routagenat dest=/root/
|
||||
#- name: copier le script de routage
|
||||
# copy: src=routagenat dest=/root/
|
||||
|
||||
- name: rendre executabe le script
|
||||
shell: chmod +x /root/routagenat
|
||||
#- name: rendre executabe le script
|
||||
# shell: chmod +x /root/routagenat
|
||||
|
||||
#- name: exectuer le script
|
||||
# script: /root/routagenat
|
||||
|
@ -1,11 +0,0 @@
|
||||
---
|
||||
- name: Installation d'HAproxy
|
||||
apt: pkg=haproxy state=present update_cache=yes
|
||||
|
||||
- name: Fichier de configuration
|
||||
copy: src=haproxy.cfg dest=/etc/haproxy/haproxy.cfg
|
||||
notify:
|
||||
- restart haproxy
|
||||
|
||||
- name: Copie de goss
|
||||
copy: src=goss.yaml dest=/root
|
@ -1,3 +0,0 @@
|
||||
##Installation de nfs
|
||||
|
||||
Ce rôle télécharge NFS puis copie un fichier de configuration pour partager le dossier /home/wordpress.
|
@ -1,11 +0,0 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
roles:
|
||||
- base
|
||||
- s-lb-web-ab
|
||||
- snmp-agent
|
||||
- s-nas-client
|
||||
- post
|
||||
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
wp_mysql_db: "wordpress"
|
||||
wp_mysql_user: "wp"
|
||||
wp_mysql_password: "wp"
|
||||
wp_mysql_host: "192.168.102.50"
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- apache2
|
||||
- s-lb-wordpress
|
||||
- snmp-agent
|
||||
- post
|
||||
- mysql
|
||||
- php-fpm
|
135
scripts/mkvm.pl
Executable file
135
scripts/mkvm.pl
Executable file
@ -0,0 +1,135 @@
|
||||
#!/usr/pbin/perl
|
||||
use strict;
|
||||
use warnings;
|
||||
use v5.10;
|
||||
|
||||
my $ovarelease = "2023a";
|
||||
my $ovafogrelease = "2023a";
|
||||
my $home=$ENV{'HOME'};
|
||||
my $ovafile="$home/Téléchargements/debian-bullseye-gsb-".$ovarelease.".ova";
|
||||
my $ovafilefog="$home/Téléchargements/debian-buster-gsb-i".$ovafogrelease.".ova";
|
||||
|
||||
my %vmtab = (
|
||||
#name => "s-adm", params => ":1024:"
|
||||
name => "s-adm", params => ":1024:n-adm:n-infra",
|
||||
name => "s-infra", params => ":1024:n-adm:n-infra",
|
||||
name => "s-proxy", params => ":1024:n-adm:n-infra",
|
||||
name => "r-int", params => ":1024:n-adm:n-link:n-wifi:n-user:n-infra",
|
||||
name => "r-ext", params => ":1024:n-adm:n-dmz:eno1:n-linkvi:n-link",
|
||||
name => "s-mon", params => ":1024:n-adm:n-infra",
|
||||
name => "s-itil", params => ":1024:n-adm:n-infra",
|
||||
name => "s-appli", params => ":1024:n-adm:n-infra",
|
||||
name => "s-backup", params => ":1024:n-adm:n-infra",
|
||||
name => "s-fog", params => ":1024:n-adm:n-infra:n-user",
|
||||
name => "s-nxc", params => ":1024:n-adm:n-infra",
|
||||
|
||||
)
|
||||
|
||||
sub usage () {
|
||||
say "$0 - version ${ovarelease}";
|
||||
say "$0 : creation VM et parametrage interfaces";
|
||||
say "usage : $0 <s-infra|r-int|r-ext|s-proxy|s-mon>";
|
||||
exit 1 ;
|
||||
}
|
||||
|
||||
sub create_vm () {
|
||||
my $nom = shift ;
|
||||
my $nomova = shift ;
|
||||
if ( $nom == "s-fog" ) {
|
||||
$nomova = $ovafilefog;
|
||||
}
|
||||
if ( ! -r $nomova ) {
|
||||
say "$0 : erreur ouverture fichier $nomova ..."
|
||||
exit 3
|
||||
}
|
||||
qx (vboxmanage import $nomova --vsys 0 --vmname $nom);
|
||||
}
|
||||
|
||||
sub setif () {
|
||||
my ($vm, $interf, $parm) = @ARGV;
|
||||
qx(VBoxManage modifyvm $vm --nic"${2}" intnet);
|
||||
qx(VBoxManage modifyvm $vm --intnet"${2}" "$3");
|
||||
qx(VBoxManage modifyvm $vm --nictype"${2}" 82540EM);
|
||||
qx(VBoxManage modifyvm $vm --cableconnected"${2}" on);
|
||||
qx(VBoxManage modifyvm $vm --nicpromisc"${2}" allow-all);
|
||||
}
|
||||
|
||||
sub create_if () {
|
||||
# enp0s3
|
||||
setif "$1" 1 "$2"
|
||||
setif "$1" 2 "$3"
|
||||
#(enp0s8)
|
||||
}
|
||||
|
||||
|
||||
create_vm "${vm}"
|
||||
if [[ "${vm}" == "s-infra" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-proxy" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "r-int" ]] ; then
|
||||
# n-adm, n-link, n-wifi, n-user, n-infra
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
setif "${vm}" 2 "n-link"
|
||||
setif "${vm}" 3 "n-wifi"
|
||||
setif "${vm}" 4 "n-user"
|
||||
setif "${vm}" 5 "n-infra"
|
||||
elif [[ "${vm}" == "r-ext" ]] ; then
|
||||
./addint.r-ext
|
||||
elif [[ "${vm}" == "s-mon" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-appli" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-backup" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-itil" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-nxc" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-fog" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
setif "${vm}" 3 "n-user"
|
||||
elif [[ "${vm}" == "s-DNS-ext" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz"
|
||||
elif [[ "${vm}" == "s-web-ext" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz"
|
||||
elif [[ "${vm}" == "s-nxc" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-infra"
|
||||
elif [[ "${vm}" == "s-lb" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz" "n-dmz-lb"
|
||||
elif [[ "${vm}" == "s-web1" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
||||
# setif "${vm}" 3 "n-dmz-lb"
|
||||
elif [[ "${vm}" == "s-web2" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
||||
elif [[ "${vm}" == "s-web3" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz-lb" "n-dmz-db"
|
||||
# setif "${vm}" 3 "n-dmz-lb"
|
||||
elif [[ "${vm}" == "s-lb-bd" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz-db"
|
||||
elif [[ "${vm}" == "s-nas" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-dmz-db"
|
||||
elif [[ "${vm}" == "r-vp1" ]] ; then
|
||||
./addint.r-vp1
|
||||
elif [[ "${vm}" == "r-vp2" ]] ; then
|
||||
./addint.r-vp2
|
||||
elif [[ "${vm}" == "s-agence" ]] ; then
|
||||
create_if "${vm}" "n-adm" "n-agence"
|
||||
|
||||
else
|
||||
echo "$0 : vm ${vm} non prevu"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
||||
sub usage () {
|
||||
print "usage : mkvm.pl <vm-name>\n";
|
||||
print "cree une VM a partir d'un fichier OVA et parametre les interfaces";
|
||||
exit 1 ;
|
||||
}
|
||||
|
||||
sub main () {
|
||||
my $vm = shift;
|
||||
usage unless ( $vm);
|
||||
|
||||
}
|
Reference in New Issue
Block a user