Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
creation_de_vm [2026/04/09 14:40] poidevin-s |
creation_de_vm [2026/04/09 14:48] (Version actuelle) poidevin-s |
||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| On se connecte à l’URL suivante : | On se connecte à l’URL suivante : | ||
| - | https:// | ||
| ===== 1.1 Création d’une VM de TEST===== | ===== 1.1 Création d’une VM de TEST===== | ||
| Ligne 24: | Ligne 23: | ||
| ps : pour les 3e 1e VM on était pas passé par MonInfra mais par le ticket Canum n° 46577 | ps : pour les 3e 1e VM on était pas passé par MonInfra mais par le ticket Canum n° 46577 | ||
| | | ||
| - | [[creation_de_vm|Back to Top]] | + | [[https:// |
| | | ||
| ======2. Tags sur la VM====== | ======2. Tags sur la VM====== | ||
| Ligne 30: | Ligne 29: | ||
| - medium | - medium | ||
| - prod | - prod | ||
| - | ======3. Activation du SSH====== | ||
| - | se connecter en ssh en ajoutant un alias sur son .basrhc local | ||
| - | alias stage-test=' | ||
| - | tester la connexion en SSH | ||
| - | tester le scp : scp fic.txt root@stage-test.test.univ-nantes.prive:/ | ||
| - | |||
| - | ======4. Copier/ | ||
| - | permettre le copier/ | ||
| - | echo 'set mouse=' | ||
| - | | ||
| - | copier les alias .bashrc de la VM source vers la nouvelle VM | ||
| - | |||
| - | installer telnet, net-tools, dnsutils | ||
| - | apt update | ||
| - | apt install xinetd telnetd telnet -y | ||
| - | systemctl status inetd | ||
| - | apt install net-tools netcat-traditional -y dnsutils | ||
| - | |||
| - | autoriser les flux vers les bases de donnés (canum 57612, 60779) | ||
| - | Lien du formulaire CANUM : https:// | ||
| - | Sources : Depuis quel(s) réseau(x) de l'UN, quel(s) serveur(s) (FQDN ou a défaut IP) : pegase.dprv.univ-nantes.prive | ||
| - | Destinations : Vers quel(s) réseau(x) de l'UN, quel(s) serveur(s) (FQDN ou a défaut IP) : ditto.sig.univ-nantes.prive | ||
| - | Services : Quel(s) service(s), port TCP/UDP, protocole(s) : Base PostgreSQL, port 5432 | ||
| - | |||
| - | tester si les flux sont ouverts : | ||
| - | nc -zvw3 enton.sig.univ-nantes.prive 3306 | ||
| - | nc -zvw3 omot.sig.univ-nantes.prive 3306 | ||
| - | nc -zvw3 bdd-geode.presidence.univ-nantes.prive 1521 | ||
| - | | ||
| - | si non ouvert --> dans proxmox firewall ajouter les groupes sig-mariadb-out et sig-oracle-out | ||
| - | |||
| - | ======5. Créer le user admin-sig====== | ||
| - | useradd -m admin-sig -s /bin/bash | ||
| - | passwd admin-sig | ||
| - | |||
| - | ======6. | ||
| - | Par défaut c’est /bin/sh | ||
| - | # --- À exécuter en root --- | ||
| - | # Mettre bash comme shell par défaut pour l’utilisateur admin-sig (une seule fois) | ||
| - | usermod -s /bin/bash admin-sig | ||
| - | # S’assurer que /bin/bash est listé comme shell autorisé | ||
| - | grep -qx '/ | ||
| - | # --- Basculer sur l’utilisateur --- | ||
| - | su - admin-sig | ||
| - | # Vérifier que l’on est bien passé sur le bon utilisateur et sur bash | ||
| - | whoami | ||
| - | echo " | ||
| - | ps -p $$ -o comm= # attendu : bash | ||
| - | |||
| - | | ||
| - | |||
| - | # --- Créer ~/.ssh pour admin-sig et ajouter la clé publique --- | ||
| - | # 1) Créer le dossier et régler lescd permissions | ||
| - | mkdir -p ~/.ssh && chmod 700 ~/.ssh | ||
| - | # 2) S' | ||
| - | touch ~/ | ||
| - | # 3) Ajouter les clés publiques dans ~/ | ||
| - | |||
| - | ====== 8. Tester le SFTP via filezilla ====== | ||
| - | avec le user admin-sig type : SFTP authentification : normale | ||
| - | |||
| - | ======9. Permettre le ssh entre la VM de test et la VM de prod====== | ||
| - | sera également un backup au cas où notre clé privée ne fonctionnerait plus | ||
| - | ssh-keygen -t ed25519 | ||
| - | mot depasse : Ll.... | ||
| - | cat stage.pub >> authorized_keys | ||
| - | tester : scp f.txt root@stage-test@test.univ-nantes.prive:/ | ||
| - | --> ne fonctionne pas entre dprv.univ-nantes.fr et test.univ-nantes.prive car le réseau est bloqué | ||
| - | --> il faudrait faire un ticket | ||
| - | | ||
| - | ======10. Ajouter clés SSH ====== | ||
| - | --> plus besoin car c'est géré dans installation.sh | ||
| - | collègues doublons DV, FA et FP | ||
| - | jenkins : vulpix | ||
| - | cat albert-f.pub >> authorized_keys | ||
| - | |||
| - | ======11. Option – modif specs VM====== | ||
| - | augmenter la RAM / augmenter l' | ||
| - | il faut passer par un ticket CANUM à support-infra-système-stockage pour toute action sur la VM | ||
| - | exemple pour augmenter la RAM : | ||
| - | raison : taille S = 1GO par défaut... | ||
| - | vérifier taille : free -h | ||
| - | intitulé ticket : VM #108 stagetest - augmentation RAM | ||
| - | groupe : support-infra-système-stockage | ||
| - | catégorie : demande / exploitation / système | ||
| - | exemple : ticket 58365 | ||
| - | prise en compte de l' | ||
| - | shutdown -h now (-h car à chaud ne suffit pas) | ||
| - | redémarrer la VM sur le PVE de test de proxmox (on a pas la main il faut demander à l' | ||
| - | |||
| - | ======12. Scripts de déploiement====== | ||
| - | copier les scripts de déploiement de la VM source vers la VM cible | ||
| - | mkdir / | ||
| - | copier les scripts de la VM source dedans | ||
| - | |||
| - | ======13. Installer docker et admin-sig====== | ||
| - | utiliser script ' | ||
| - | |||
| - | ======14. Si migration - Installer l' | ||
| - | si déjà dockerisée, | ||
| - | VM source kakuna : créer un tar gz du répertoire esup-stage | ||
| - | cd /docker | ||
| - | tar -czvf esup-stage.tar.gz --exclude=' | ||
| - | VM cible : | ||
| - | transferer le tar.gz en local : scp root@stage-test.test.univ-nantes.prive:/ | ||
| - | copier du local vers la VM : scp esup-stage.tar.gz root@stage-test.test.univ-nantes.prive:/ | ||
| - | tar xvzf esup-stage.tar.gz | ||
| - | chown -R admin-sig: | ||
| - | sinon créer de toute pièce via des conteneurs dockers | ||
| - | | ||
| - | ======15. Si migration - Paramétrer la redirection====== | ||
| - | cf paragraphe " | ||
| - | |||
| - | ====== 16. Si migration - Modifier la redirection de l'url dans le DNS ====== | ||
| - | vérifier la redirection | ||
| - | curl -v https:// | ||
| - | dig test-esupstage.intra.univ-nantes.fr | ||
| - | traceroute test-esupstage.intra.univ-nantes.fr | ||
| - | |||
| - | créer ticket CANUM (exemple test : 58855 prod : 50500, 63691, création nouvelle : 64528) | ||
| - | formulaire ' | ||
| - | catégorie : demande / exploitation / système | ||
| - | groupe : support-infra-système-stockage | ||
| - | nom ticket : Mise à jour redirection < | ||
| - | texte : | ||
| - | | ||
| - | | ||
| - | | ||
| - | VM : application.dprv.univ-nantes.prive | ||
| - | |||
| - | redirection en PROD (exemple : 50500) | ||
| - | prévoir l' | ||
| - | |||
| - | jour J (spécifique esup-stage) | ||
| - | - redéployer le /datas de galopa vers stage (cf maintenance_estage.doc) | ||
| - | - arrêter stage sur la VM galopa : docker compose down | ||
| - | - démarrer stage sur la VM stage : docker compose up -d --build | ||
| - | - attendre la redirection | ||
| - | - tester url | ||
| - | - vérifier logs | ||
| - | - faire une convention | ||
| - | - signer 100% | ||
| - | - supprimer convention | ||
| - | |||
| - | ======17. Si migration - Arrêter l' | ||
| - | a2dissite stage | ||
| - | arrêter le service docker : docker compose down | ||
| - | arrêter les redémarrages automatiques | ||
| - | docker-compose.yml | ||
| - | commenter --restart unless-stopped | ||
| - | docker-sun.sh | ||
| - | docker run -d -v ./ | ||
| - | devient | ||
| - | docker run -d -v ./ | ||
| - | | ||
| - | fonctionnement validé avec | ||
| - | ip route list | ||
| - | default via 172.20.99.1 dev eth0 proto static | ||
| - | 172.17.0.0/ | ||
| - | 172.18.0.0/ | ||
| - | 172.20.99.0/ | ||
| - | | ||
| - | docker container ps -a | ||
| - | CONTAINER ID | ||
| - | bd64ade27570 | ||
| - | 59562237886c | ||
| - | |||
| - | |||
| - | ======18. Si migration - Paramétrer la redirection====== | ||
| - | ************************* | ||
| - | Les redirections ne peuvent se faire que sur les ports 80 ou 443 | ||
| - | En test on ne passe pas par le reverse proxy mais par ALOHA, il nous faut des certificats SSL si on veut faire du HTTPS | ||
| - | En prod on passe par le reverse proxy donc pas besoin de certificats pour faire du HTTPS | ||
| - | |||
| - | |||
| - | Redirection sur une VM de TEST | ||
| - | ------------------------------ | ||
| - | http:// | ||
| - | |||
| - | les Vms de tests sont accessibles uniquement par la DSIN | ||
| - | Idéalement il faudrait plutôt des VMs de préprod pour ques les gestionnaires aient accès. | ||
| - | Donc pour le moment demander des urls de préprod vers les VM de tests en attendant la futur automatisation sur proxmox | ||
| - | --> https://< | ||
| - | |||
| - | Redirection via traefik au lieu d' | ||
| - | traefik est un reverse proxy qui permet de faire comme apache | ||
| - | cf VM contact.test.univ-nantes.prive fichier / | ||
| - | | ||
| - | Redirection via traefik au lieu d' | ||
| - | cf VM stage-test.univ-nantes.prive fichier / | ||
| - | | ||
| - | Redirection via aucun reverse proxy pour du HTTP sur du 80 | ||
| - | pas besoin d' | ||
| - | docker-compose.yml --> changer le port pour passer sur du 80 | ||
| - | ports: | ||
| - | - " | ||
| - | |||
| - | initialement (kakuna) | ||
| - | - " | ||
| - | | ||
| - | application.properties | ||
| - | | ||
| - | | ||
| - | |||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | nudir : https:// devient http(s)?:// | ||
| - | |||
| - | Redirection via Apache pour du HTTPS sur du 443 | ||
| - | Installation apache (2.4.65) | ||
| - | idéalement dans un conteneur docker mais pour le moment via apt | ||
| - | apt update && sudo apt upgrade -y | ||
| - | apt install apache2 | ||
| - | systemctl start apache2 | ||
| - | docker-compose.yml | ||
| - | apache2ctl configtest --> tester config | ||
| - | systemctl enable apache2 | ||
| - | systemctl status apache2 | ||
| - | a2enmod ssl | ||
| - | a2enmod headers | ||
| - | a2enmod proxy | ||
| - | a2enmod proxy_http | ||
| - | apache2ctl -M --> vérifier modules | ||
| - | | ||
| - | Config apache | ||
| - | demander certificats SSL intra.univ-nantes.fr à Vincent Bruneton (23/10/25 : récupérés dans Pole FVE / Système) | ||
| - | un seul certificat suffit : le full chain | ||
| - | renommer les certificats | ||
| - | fullchain2.pem --> | ||
| - | privkey2.pem --> privkey2.intra.univ-nantes.fr.pem | ||
| - | les copier sur la VM | ||
| - | scp fullchain2.pem root@stage-test.test.univ-nantes.prive:/ | ||
| - | scp privkey2.pem root@stage-test.test.univ-nantes.prive:/ | ||
| - | cd /tmp | ||
| - | mv fullchain2.pem / | ||
| - | mv privkey2.pem / | ||
| - | | ||
| - | créer le Vhost | ||
| - | créer le fichier de conf du Vhost dans / | ||
| - | copier un nomAppli.conf d'une autre VM et l' | ||
| - | SSLCertificateFile | ||
| - | SSLCertificateKeyFile --> clé privée | ||
| - | faire du reverse proxy pour rediriger les requêtes 443 vers bnotre service docker (ex : 8082) | ||
| - | ProxyPass / http:// | ||
| - | ProxyPassReverse / http:// | ||
| - | | ||
| - | a2ensite estage.conf | ||
| - | |||
| - | Modif application.properties | ||
| - | | ||
| - | | ||
| - | |||
| - | Modif docker-compose.yml | ||
| - | -> 80 changer en 8082 sinon conflit | ||
| - | | ||
| - | Restart app | ||
| - | docker compose up -d --build | ||
| - | | ||
| - | Redirection sur une VM de PROD | ||
| - | ------------------------------ | ||
| - | Redirection via traefik au lieu d' | ||
| - | cf VM contact.dprv.univ-nantes.prive fichier / | ||
| - | on reste sur du port 80 car c'est le reverse proxy de l'UN qui gère les certificats | ||
| - | docker-compose.yml | ||
| - | ... | ||
| - | - " | ||
| - | ports: | ||
| - | - " | ||
| - | |||
| - | labels: | ||
| - | - " | ||
| - | - " | ||
| - | - " | ||
| - | - " | ||
| - | | ||
| - | Redirection via Apache pour du HTTPS sur du 443 | ||
| - | Installation apache (2.4.65) | ||
| - | idéalement dans un conteneur docker mais pour le moment via apt | ||
| - | apt update && sudo apt upgrade -y | ||
| - | apt install apache2 | ||
| - | systemctl start apache2 | ||
| - | docker-compose.yml | ||
| - | tester config | ||
| - | apache2ctl configtest | ||
| - | systemctl enable apache2 | ||
| - | systemctl status apache2 | ||
| - | a2enmod ssl | ||
| - | a2enmod headers | ||
| - | a2enmod proxy | ||
| - | a2enmod proxy_http | ||
| - | apache2ctl -M --> vérifier modules | ||
| - | | ||
| - | Config apache | ||
| - | créer le Vhost en copiant un fichier nomAppli.conf d'une application de prod | ||
| - | adapter le fichier conf | ||
| - | faire du reverse proxy pour rediriger les requêtes 443 vers bnotre service docker (ex : 8082) | ||
| - | | ||
| - | | ||
| - | a2ensite estage.conf | ||
| - | apache2ctl configtest --> tester config | ||
| - | |||
| - | Tester config apache | ||
| - | wget --no-proxy http:// | ||
| - | aller voir dans les logs d' | ||
| - | | ||
| - | |||
| - | |||
| - | Installer Docker manuellement | ||
| - | ***************************** | ||
| - | installer docker (700 MO) | ||
| - | | ||
| - | docker --version | ||
| - | Docker version 28.4.0, build d8eb465 | ||
| - | docker compose version | ||
| - | Docker Compose version v2.39.4 | ||
| - | /!\ En cas de problème d' | ||
| - | sudo http_proxy=$http_proxy https_proxy=$https_proxy curl -fsSL https:// | ||
| - | |||
| - | associer admin-sig au groupe docker | ||
| - | il sera l' | ||
| - | usermod -aG docker admin-sig --> affectation au groupe docker | ||
| - | cd / | ||
| - | mkdir /docker --> les applications dockers seront dans ce dosser | ||
| - | chown -R admin-sig: | ||
| - | | ||
| - | ajouter le proxy pour docker | ||
| - | mkdir -p / | ||
| - | vi / | ||
| - | | ||
| - | [Service] | ||
| - | Environment=" | ||
| - | Environment=" | ||
| - | Environment=" | ||
| - | | ||
| - | Relancer | ||
| - | systemctl daemon-reload | ||
| - | systemctl restart docker | ||
| - | systemctl status docker | ||
| - | docker system info | grep -i proxy | ||
| - | |||
| - | |||
| - | |||
| - | Divers | ||
| - | ******* | ||
| - | Demander à autoriser automatiquement les accès suivants à chaque VM de TEST ou de PROD | ||
| - | annuaire.intra.univ-nantes.fr 636 | ||
| - | bdd-geode.presidence.univ-nantes.prive 1521 | ||
| - | omot.sig.univ-nantes.prive | ||
| - | enton.sig.univ-nantes.prive 3306 | ||
| - | ditto.sig.univ-nantes.prive 5432 | ||
| - | |||
| - | permettre le ssh entre les VM de test et les VM de prod | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| + | [[https:// | ||
| + | ======3. Activation du SSH===== | ||