Modifications pour le document Créer une VM

Modifié par Gaetan RETEL le 2026/04/08 21:56

Depuis la version 1.1
modifié par sasportesj
sur 2021/04/03 22:01
Commentaire de modification : Il n'y a aucun commentaire pour cette version
À la version 16.1
modifié par Gaetan RETEL
sur 2026/04/08 21:35
Commentaire de modification : Mise à jour pour Openvox

Résumé

Détails

Propriétés de la Page
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -XWiki.sasportesj
1 +XWiki.retelgaeta
Contenu
... ... @@ -1,21 +1,32 @@
1 -**Sur Touffu** (touffu.infra.atilla.org) :
1 +**Sur [[Touffu>>doc:Infrastructure.Serveurs_physiques.Touffu.WebHome]], [[Laika>>doc:Infrastructure.Serveurs_physiques.Laika.WebHome]], [[Odie>>doc:Infrastructure.Serveurs_physiques.Odie.WebHome]] ou [[Balto>>doc:Infrastructure.Serveurs_physiques.Balto.WebHome]]** (touffu.infra.atilla.org, laika.infra.atilla.org, odie.infra.atilla.org ou balto.infra.atilla.org) :
2 2  
3 3  
4 4  Créer une nouvelle instance de xen (par exemple) :
5 5  
6 6  {{code language="bash"}}
7 -xen-create-image --hostname=<nom de la VM> --mac=<adresse MAC libre> --dist=stable --lvm=VMs --dhcp --memory=1G --password=<mot de passe de la VM> --size=5G --swap=256M --vcpus=1
7 +xen-create-image --hostname=<nom de la VM> --dist=stable --lvm=VMs --dhcp --memory=1G --password=<mot de passe de la VM> --size=5G --swap=256M --vcpus=1
8 8  {{/code}}
9 9  
10 +{{error}}
11 +Sur Odie il faut remplacer {{code language="none"}}--lvm=VMs{{/code}} par {{code language="none"}}--lvm=data{{/code}}. Et sur Balto par {{code language="none"}}--lvm==lvm{{/code}}.
12 +{{/error}}
10 10  
11 -**Sur Bill **(root@atilla.org depuis l'extérieur, bill.infra.atilla.org depuis l'intérieur du réseau) :
14 +{{warning}}
15 +Pour le nom de la VM, ne pas oublier d'y ajouter les suffixes -prod, -preprod, -dev...
16 +{{/warning}}
12 12  
18 +**Sur [[Bill>>doc:Infrastructure.Serveurs_physiques.Bill.WebHome]] **(root@atilla.org depuis l'extérieur, bill.infra.atilla.org depuis l'intérieur du réseau) :
13 13  
14 -Dans /etc/bind/internal, on cherche un slot vide à la bonne adresse IP et on le remplit BIEN (c'est-à-dire qu'on fait attention à bien écrire si on est en prod, preprod, ou dev dans le nom de la VM). On modifie aussi db.10.168.192.in-addr.arpa et le fichier db du nom de domaine si on met le site en ligne.
20 +Dans /etc/bind/internal, on cherche un slot vide à la bonne adresse IP et on le remplit BIEN (c'est-à-dire qu'on fait attention à bien écrire si on est en prod, preprod, ou dev dans le nom de la VM). On modifie aussi db.10.168.192.in-addr.arpa
15 15  
16 -Dans /etc/dhcp, on trouve tous les DHCP dans chacun des fichiers (prod.conf, dev.conf, ...), on remplit le bon fichier avec l'adresse MAC et l'adresse IP correspondante.
22 +//Si on met le site en ligne ~:// On modifie aussi le fichier db du nom de domaine (db.atilla.org ou db.eistiens.net) dans /etc/bind/internal et dans /etc/bind/external.
17 17  
24 +{{info}}
25 +Si vous voulez comprendre ce que vous venez de faire, [[cliquez ici>>Infrastructure.Tutoriels.MiseEnPlaceSousDomaine.WebHome||anchor="HIdE9egE9nE9rale"]]
26 +{{/info}}
18 18  
28 +Dans /etc/dhcp, on trouve tous les DHCP dans chacun des fichiers (prod.conf, dev.conf, ...), on remplit le bon fichier avec l'adresse MAC et l'adresse IP correspondante.
29 +
19 19  Ensuite, on restart le système avec :
20 20  
21 21  {{code language="none"}}
... ... @@ -23,12 +23,10 @@
23 23  systemctl restart bind9 # pour restart le DNS
24 24  {{/code}}
25 25  
37 +**Sur [[Touffu>>doc:Infrastructure.Serveurs_physiques.Touffu.WebHome]], [[Laika>>doc:Infrastructure.Serveurs_physiques.Laika.WebHome]], [[Odie>>doc:Infrastructure.Serveurs_physiques.Odie.WebHome]] ou [[Balto>>doc:Infrastructure.Serveurs_physiques.Balto.WebHome]]** :
26 26  
27 -**Sur Touffu :**
39 +On voit que dans /etc/xen un fichier .cfg a été ajou automatiquement.
28 28  
29 -
30 -On voit que dnas /etc/xen un fichier .cfg a été ajouté automatiquement.
31 -
32 32  Dans /etc/xen/auto, on crée un lien symbolique pour notre VM :
33 33  
34 34  {{code language="none"}}
... ... @@ -43,12 +43,10 @@
43 43  
44 44  **Sur la VM :**
45 45  
46 -
47 47  login : root
48 48  
49 49  mdp : celui que vous avez mis quand vous avez créé votre VM
50 50  
51 -
52 52  Maintenant qu'on est sur l'interface de notre VM, on installe la base (vim et wget pour installer puppet) :
53 53  
54 54  {{code language="none"}}
... ... @@ -55,25 +55,34 @@
55 55  apt install vim wget
56 56  {{/code}}
57 57  
58 -On télécharge ensuite le paquet de puppet, et on l'installe :
65 +On télécharge ensuite le paquet openvox (fork de puppet) correspondant à l'OS ([[voir sources>>https://apt.voxpupuli.org/]]), et on l'installe :
59 59  
60 60  {{code language="none"}}
61 -wget https://apt.puppet.com/puppet7-release-<debian version>.deb # exemple de debian version : stretch, buster, ...
68 +wget https://apt.voxpupuli.org/openvox8-release-debian<debian number version>.deb # exemple de debian version : 12, 13, ...
62 62  dpkg -i <nom du fichier téléchargé>.deb
63 63  {{/code}}
64 64  
65 -On update ensuite les paquets disponibles, et on installe l'agent puppet :
72 +(% class="box infomessage" %)
73 +(((
74 +Pour chercher la version de debian, on peut regarder le contenu du fichier /etc/debian_version ou utiliser la commande {{code language="bash"}}lsb_release -a {{/code}}
75 +)))
66 66  
77 +On update ensuite les paquets disponibles, et on installe l'agent openvox :
78 +
67 67  {{code language="none"}}
68 68  apt-get update
69 -apt-get install puppet-agent
81 +apt-get install openvox-agent
70 70  {{/code}}
71 71  
72 -(% class="box warningmessage" %)
84 +(% class="box infomessage" %)
73 73  (((
74 -Pour utiliser la commande puppet, on devra maintenant utiliser le lien /opt/puppetlabs/bin/puppet, à moins de mettre à jour le path
86 +Openvox cherche à rester compatible avec l'écosystème puppet, les nom des exécutables et leur path sont donc identiques.
75 75  )))
76 76  
89 +{{warning}}
90 +Les exécutables de Puppet/Openvox ne sont pas dans le ##PATH## par défaut (ces derniers se trouvent dans ##/opt/puppetlabs/bin##). On utilise donc des chemins absolus dans les prochaines étapes. Lors de la première sychronisation avec Puppet, le ##.bashrc## de l'utilisateur ##root## sera mis à jour pour inclure ce chemin dans le ##PATH## par défaut.
91 +{{/warning}}
92 +
77 77  On démarre ensuite le service de puppet :
78 78  
79 79  {{code language="none"}}
... ... @@ -80,13 +80,22 @@
80 80  /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true
81 81  {{/code}}
82 82  
83 - On connecte ensuite l'agent au serveur de puppetce jour Milou) :
99 +On modifie le fichier de configuration {{code language="none"}}/etc/puppetlabs/puppet/puppet.conf{{/code}} :
84 84  
101 +(% class="box" %)
102 +(((
103 +{{{[main]
104 +server = puppet-prod.prod.infra.atilla.org
105 +certname = <server name>.infra.atilla.org}}}
106 +)))
107 +
108 +On connecte ensuite l'agent au serveur de puppet :
109 +
85 85  {{code language="none"}}
86 -puppet ssl bootstrap
111 +/opt/puppetlabs/bin/puppet ssl bootstrap
87 87  {{/code}}
88 88  
89 -**En  parallèle, sur Milou** (milou.infra.atilla.org) :
114 +**En  parallèle, sur [[Puppet>>doc:Infrastructure.Puppet.WebHome]]** (puppet.infra.atilla.org, qui fait tourner Openvox) :
90 90  
91 91  Via la commande précédente, un certificat a été créé, que le serveur doit signer pour que les deux machines puissent communiquer.
92 92  
... ... @@ -104,4 +104,46 @@
104 104  
105 105   Pour signer tous les certificats pas signés :
106 106  
107 -
132 +{{code language="none"}}
133 +puppetserver ca sign --all
134 +{{/code}}
135 +
136 + **Sur la VM :**
137 +
138 +Pour vérifier que tout marche bien :
139 +
140 +{{code language="none"}}
141 +/opt/puppetlabs/bin/puppet ssl bootstrap
142 +{{/code}}
143 +
144 +== Si on veut mettre la VM en ligne : ==
145 +
146 +**Sur [[Bill>>doc:Infrastructure.Serveurs_physiques.Bill.WebHome]] :**
147 +
148 +{{info}}
149 +Il existe plusieurs manières de configurer nginx, on en détaille une ici, mais si vous voulez la comprendre ou utiliser l'autre, [[cliquez ici>>Infrastructure.Tutoriels.MiseEnPlaceSousDomaine.WebHome||anchor="HMiseenplacedelaconfigurationNginx"]]
150 +{{/info}}
151 +
152 +On crée un nouveau fichier dans /etc/nginx pour la VM (on peut copier sur les autres et adapter le nom).
153 +
154 +On crée un fichier error.log et un fichier access.log dans /var/log/nginx
155 +
156 +On va ensuite dans /etc/nginx/sites-enabled/<nom de domaine qu'on a choisi> et on crée un lien symbolique :
157 +
158 +{{code language="none"}}
159 +ln -s ../../sites-available/<DNS de la VM>
160 +{{/code}}
161 +
162 +De plus, on ajoute un certificat à l'aide de cette suite de commandes :
163 +
164 +{{code language="none"}}
165 +systemctl stop nginx && certbot certonly -d <DNS de la VM> && systemctl start nginx
166 +{{/code}}
167 +
168 +{{info}}
169 +Si vous voulez comprendre ce que vous venez de faire, [[cliquez ici>>Infrastructure.Tutoriels.MiseEnPlaceSousDomaine.WebHome||anchor="HMiseenplacedescertificatsSSL"]]
170 +{{/info}}
171 +
172 +
173 +
174 +== ==