Exercices TP-7

  1. Table des matières
  2. Mise en place du TP
    1. Machine virtuelle VirtualBox
    2. Nom de domaine
    3. /etc/hosts
    4. Vérification domaine /etc/hosts
    5. Connexion web
    6. Installer Apache
    7. Vérification Apache
  3. Installation de Joomla
    1. Logiciels nécessaires
    2. Installation PHP
    3. Installation client MySQL
    4. Installation serveur MySQL
    5. php-mysql
    6. Création BDD
    7. Création utilisateur BDD
    8. Téléchargement Joomla
    9. Répertoire site web
    10. Propriétaire /var/www/html
    11. Changer propriétaire /var/www/html
    12. Désarchivage
    13. Installation de Joomla
  4. Plusieurs sites web sur une machine
    1. Rappel de cours
    2. Répertoire configuration serveur web
    3. Structure de /etc/apache2
    4. Structure d'/etc/apache2
    5. Création du site web intranet.pingouin-zap.com
    6. Activer le nouveau site web
    7. /var/www/intranet
    8. chown intranet
    9. Vérification http://intranet.pingouin-zap.com
  5. Installation d'un firewall
    1. Installer ufw
    2. nmap
    3. Port web
    4. Port ssh
    5. Bloquer http
    6. Accepter http
    7. Vérification
    8. ufw delete
    9. Rouvrir le port 80
  6. Sauvegarde de la base de données
    1. mysqldump
    2. Contenu du fichier de sauvegarde
    3. Restauration de la base de données
    4. Sauvegarde de la bdd à distance: config ssh
    5. config sshd
    6. mysqldump sur ssh
    7. ssh sans mot de passe - rappel cours
    8. ssh sans mot de passe
    9. Création des clés
    10. authorized_keys
    11. Limiter l'accès
  7. Sauvegarde de la machine
    1. rsync: rappels
    2. Révision scp
    3. rsync complet
    4. Nouvelle copie
  8. Machine virtuelle corrigée

1. Table des matières

1.1 Table des matières


Bienvenue au TP 7

Avez vous bien fait et fini le TP précèdent?

C'est important d'avoir bien compris les notions du TP précèdent avant de faire ce TP.
Si ce n'est pas fait, finissez d'abord le TP précèdent.

Cliquez sur "début du TP" pour commencer.

2. Mise en place du TP

2.1 Mise en place du TP

Vous venez d'être recruté par une startup qui commence  à développer un jeu multijoueurs en ligne appelée "Pingouin zap".

Votre job est d'installer un serveur sur lequel tourneront plusieurs sites web:

Par ailleurs vous devrez  :

On va faire ensemble ces différentes étapes.
Le serveur sera une machine virtuelle Debian.

Mise en place du TP

2.2 Machine virtuelle VirtualBox

Dans ce TP on va utiliser une machine virtuelle Debian.

Si vous avez encore celle qui a été  crée au TP précédent, vous pouvez l'utiliser.
Sinon, suivez les indications suivantes:

  1. Installez VirtualBox (si vous ne l'avez pas déjà fait) :
    sudo apt install virtualbox-6.0 (ou une autre version) C'est un peu long...
  2. Créez l'interface réseau (si vous ne l'avez pas déjà fait) :
    VBoxManage hostonlyif create
    VBoxManage hostonlyif ipconfig vboxnet0 --ip 172.20.0.1
  3. Ensuite cliquez sur le lien suivant pour télécharger la machine virtuelle (c'est un peu long):
    https://moodle.iutv.univ-paris13.fr/img/sa/pingouin-apres-config.ova
  4. Cliquez sur "importer"
  5. Lancez la machine et vérifiez que vous pouvez vous connecter :
    ssh joe@172.20.0.100 
    avec le mot de passe "azerty"
    L'utilisateur joe à le droit d'utiliser sudo
    Si vous n'arrivez pas à vous connecter par ssh, demandez de l'aide à votre enseignant.



Mise en place du TP

2.3 Nom de domaine

La première étape est d'acheter "pingouin-zap.com".

Techniquement, comment s’appelle "pingouin-zap.com", "univ-paris13.fr", ou "google.fr" ...

Mise en place du TP

2.4 /etc/hosts

Normalement, pour pouvoir utiliser  le nom de domaine "pingouin-zap.com", il faudrait l'acheter chez un "registrar", comme Gandi, OVH ... ou bien d'autres.

Bien sur, on ne va pas acheter un domaine juste pour ce TP...

Quand vous utilisez un nom de domaine, votre système se connecte à un serveur DNS pour obtenir l'adresse IP correspondante.

Sur Linux, on peut court-circuiter ceci en ajoutant une ligne dans le fichier /etc/hosts

Sur votre machine hôte (pas sur la machine virtuelle) regardez la syntaxe de /etc/hosts

Quelle ligne faut-il ajouter à /etc/hosts ?

Le nom de domaine voulu est : pingouin-zap.com
L'adresse IP de notre machine virtuelle est: 172.20.0.100



Mise en place du TP

2.5 Vérification domaine /etc/hosts

On peut ajouter plusieurs domaines sur une même ligne dans /etc/hosts:

172.20.0.100 pingouin-zap.com intranet.pingouin-zap.com

Vérifiez que "ping pingouin-zap.com" fonctionne bien.

Vérifiez que vous pouvez vous connecter avec ssh à pingouin-zap.com

Vérifiez aussi pour intranet.pingouin-zap.com

Mise en place du TP

2.6 Connexion web

Essayez de vous connecter avec votre navigateur sur http://pingouin-zap.com

Normalement, ça ne devrait pas marcher.

Essayez de comprendre pourquoi.

Qu'est-ce qu'il manque sur votre machine virtuelle ?

Mise en place du TP

2.7 Installer Apache

Il manque le serveur web.
Quelle commande faut-il taper pour installer le serveur web ?

Mise en place du TP

2.8 Vérification Apache

Vérifiez que la page web http://pingouin-zap.com/ affiche bien la page "Apache2 Debian Default Page".
En cas de difficulté demandez de l'aide à votre enseignant.

3. Installation de Joomla

3.1 Installation de Joomla


Pour le site principal  pingouin-zap.com, on veut installer un CMS.
Un CMS est logiciel permettant de gérer un site web simplement.
Au TP-4, on a installé Wordpress, un CMS très utilisé.
Dans les pages suivantes,  on va installer, ensemble, un autre CMS écrit en PHP appelé Joomla.
Les principes sont les mêmes.

Installation de Joomla

3.2 Logiciels nécessaires

Quels logiciels sont indispensables pour installer un logiciel comme Joomla ou Wordpress ?

Installation de Joomla

3.3 Installation PHP

Quelle commande faut-il taper pour installer la version 7.0 de PHP ?

Installation de Joomla

3.4 Installation client MySQL

Quelle commande faut-il taper pour installer le client MySQL ?

Installation de Joomla

3.5 Installation serveur MySQL

Quelle commande faut-il taper pour installer le serveur MySQL ?

Installation de Joomla

3.6 php-mysql

Pour ajouter au PHP  les fonctions permettant d’accéder à MySQL et à XML il faut installer des extensions du php: les paquets php-mysql et php-xml:

sudo apt install php-mysql php-xml

puis redémarrer le serveur web.

Quelle commande faut-il taper pour redémarrer le serveur web ?


Installation de Joomla

3.7 Création BDD

Les logiciels comme Wordpress ou Joomla enregistrent leurs informations dans une base de données.
Le serveur de base de données MySQL, permet de créer plusieurs bases de données ainsi que des utilisateurs ayant certains des droits sur ces base de données.

On doit donc créer une base de données dans MySQL. Pour ça, il faut se connecter au serveur MySQL avec

sudo mysql -u root

En regardant votre cours, quelle commande SQL faut-il taper pour créer une base de données appelée bdd_joomla ?

Installation de Joomla

3.8 Création utilisateur BDD

Quelle commande SQL faut-il taper pour

Tout ceci se fait en une seule commande SQL, vue en cours et au TP4.


Installation de Joomla

3.9 Téléchargement Joomla

Téléchargez Joomla depuis https://www.joomla.fr

Le fichier est téléchargé sur la machine hôte.
Quelle commande taper pour le copier sur la machine virtuelle ?

Installation de Joomla

3.10 Répertoire site web

Dans quel répertoire se trouve le site web affiché par http://pingouin-zap.com ?

Installation de Joomla

3.11 Propriétaire /var/www/html

Quel utilisateur est propriétaire du  répertoire /var/www/html ?

Installation de Joomla

3.12 Changer propriétaire /var/www/html

On voudrait installer le site sans être root.
Quelle commande taper pour que le propriétaire de /var/www/html soit vous ?  (utilisateur "joe" sur la machine virtuelle fournie)

Installation de Joomla

3.13 Désarchivage

Pour désarchiver un fichier .zip il faut installer unzip:

sudo apt install unzip

Ensuite, allez dans /var/www/html et supprimez la page "Apache2 Debian Default Page".

rm index.html

puis et tapez la commande:

unzip (chemin)/Joomla_...zip

en remplacant "(chemin)/Joomla_...zip" par le chemin complet du fichier .zip que vous avez copié.

Installation de Joomla

3.14 Installation de Joomla

Ça y est! Tout est prêt pour installer Joomla :-)

Rentrez http://pingouin-zap.com  dans votre navigateur.
Vous devriez voir l'installateur de Joomla.

Suivez toutes les différentes étapes. Vous n'avez pas à configurer l'étape ftp.

A la fin, Joomla vous demande de

Faites-le.



4. Plusieurs sites web sur une machine

4.1 Plusieurs sites web sur une machine

Dans cette partie  on va installer ensemble plusieurs sites web sur notre machine virtuelle.


Machine virtuelle

Si vous reprenez ce TP et n'avez pas la machine virtuelle ou si vous avez rencontré des difficultés dans la partie précédente, vous pouvez utiliser la machine virtuelle "correction":
https://moodle.iutv.univ-paris13.fr/img/sa/pingouin-apres-joomla.ova
(instructions plus détaillées sur l'utilisation de cette machine virtuelle, ici, au début du TP)

Vous pouvez vous connecter avec ssh joe@172.20.0.100  avec le mot de passe "azerty"
L'utilisateur joe à le droit d'utiliser sudo
Si vous n'arrivez pas à vous connecter par ssh, demandez de l'aide à votre enseignant.
Ajoutez la ligne suivante dans /etc/hosts de la machine hôte:
172.20.0.100 pingouin-zap.com intranet.pingouin-zap.com
Le site Joomla se trouve ici : http://pingouin-zap.com/
Le login est "admin" et le mot de passe "abcd"

Plusieurs sites web sur une machine

4.2 Rappel de cours

https://moodle.iutv.univ-paris13.fr/img/sa/sysadmin-cm-2-23.png


Il existe des sites web de toutes les tailles. Les sites web très fréquentés (Google, Facebook...) ont besoin de centaines de milliers de machines.

A l'inverse, une seule machine peut facilement héberger un grand nombre de petits sites web.
C'est qu'on appelle l’hébergement mutualisé.

Le serveur web (apache) distingue chaque site en fonction de son nom de domaine (dans l'URL). Chaque site a alors son propre fichier de configuration Apache « VirtualHost ». La directive DocumentRoot permet de donner à chaque site un répertoire différent pour ses fichiers.
On crée généralement une base de données différente pour chaque site.

Dans les pages suivantes, on va configurer ensemble un système de ce type.

Plusieurs sites web sur une machine

4.3 Répertoire configuration serveur web

Dans que répertoire se trouvent les fichiers de configuration du serveur web ?

Plusieurs sites web sur une machine

4.4 Structure de /etc/apache2

Le répertoire /etc/apache2 contient de nombreux fichiers et sous-répertoires.
Prenez un moment pour regarder naviguer dans dedans en essayant de comprendre la structure.
Remarquez que les fichiers affichés en bleu clair par ls sont en réalité des liens symboliques.

Utilisez "ls -la" pour voir où pointent ces liens.



Plusieurs sites web sur une machine

4.5 Structure d'/etc/apache2

Pourquoi cette structure compliquée ?

On pourrait tout mettre dans le fichier apache2.conf, mais il deviendrait trop grand et ce serait difficile à maintenir.

Le contenu d'apache2.conf est donc reparti sur plusieurs fichiers. Dans le fichier apache2.conf il y a des lignes comme "IncludeOptional sites-enabled/*.conf", qui incluent les fichiers contenus dans les répertoires "...-enabled".

L'utilisation des liens symboliques permet de simplement créer / supprimer un lien symbolique pour activer / désactiver un composant (site web, module, configuration).

Par exemple, ici, il n'y a pas de lien symbolique de sites-enabled vers sites-available pour default-ssl.conf. Le site web default-ssl.conf  est donc  désactivé. Pour l'activer, il suffirait de créer le lien symbolique. On peut le faire à la main ou utiliser des commandes (a2ensite/a2dissite).

Plusieurs sites web sur une machine

4.6 Création du site web intranet.pingouin-zap.com

On va maintenant créer le site web intranet.pingouin-zap.com

Commençons par le fichier de configuration Apache VirtualHost"


Plusieurs sites web sur une machine

4.7 Activer le nouveau site web

On a bien crée /etc/apache2/sites-available/intranet.conf

Il faut maintenant créer le lien symbolique dans /etc/apache2/sites-enabled

Faites le à la main, ou bien tapez la commande "sudo a2ensite intranet.conf"

Dans le deux cas, vérifiez avec "ls -l /etc/apache2/sites-enabled" est bien crée.


On vient de modifier des fichiers de configuration d'Apache.
Quelle commande faut-il taper pour que ces changements soient pris en compte ?

Plusieurs sites web sur une machine

4.8 /var/www/intranet

On a dit à Apache de chercher les fichiers de intranet.pingouin-zap.com dans /var/www/intranet

Quelle commande taper pour créer ce répertoire ?
(essayez avant de répondre)

Plusieurs sites web sur une machine

4.9 chown intranet

On voudrait installer le site sans être root.
Quelle commande taper pour que le propriétaire de /var/www/intranet soit vous ?  (utilisateur "joe" sur la machine virtuelle fournie)

Plusieurs sites web sur une machine

4.10 Vérification http://intranet.pingouin-zap.com

Ca y'est, on a fini!

Créez un fichier test.html dans /var/www/intranet

Vérifiez que vous le voyez ici: http://intranet.pingouin-zap.com/

Vérifiez que ce site est bien différent de http://pingouin-zap.com/

5. Installation d'un firewall

5.1 Installation d'un firewall

Dans les pages suivantes, on va installer ensemble un firewall (pare-feu).

Le firewall est un outil de sécurité, permettant, entre-autres, de limiter les connexions sur votre serveur  à certains ports.



Installation d'un firewall

5.2 Installer ufw

On va installer un firewall très simple appelé "ufw"

Quelle commande faut-il taper pour l'installer ?

Installation d'un firewall

5.3 nmap

Tapez la commande

sudo ufw status

Par défaut le firewall n'est pas activé.

Sur la machine hôte, tapez

nmap pingouin-zap.com

Quels services sont visibles sur pingouin-zap.com ?

Installation d'un firewall

5.4 Port web

Sur quel port écoute le serveur web (http simple) ?

Installation d'un firewall

5.5 Port ssh

Sur quel port écoute le serveur ssh ?

Installation d'un firewall

5.6 Bloquer http

Avant d'activer le firewall, il fait lui dire de laisser passez les connexions ssh, sinon on ne pourrait plus se connecter !
(en pratique il faut faire très attention à ce genre de problème !)

sudo ufw allow 22

Maintenant activez le firewall:

sudo ufw enable

Vérifiez que le firewall fonctionne. Sur la machine hôte:

nmap -Pn pingouin-zap.com

Essayez de vous connecter sur http://pingouin-zap.com

Regardez les tentatives de connexion bloquées avec

tail -f /var/log/ufw.log

en même temps que vous rechargez la page http://pingouin-zap.com




Installation d'un firewall

5.7 Accepter http

En vous inspirant de ce qui a été fait, quelle commande taper pour permettre les connexions sur le serveur web ?

Installation d'un firewall

5.8 Vérification

Vérifiez que vous pouvez vous connecter sur http://pingouin-zap.com

Utilisez

sudo ufw status

pour vérifiez l’état de votre firewall

Vous remarquez que ufw crée deux règles  pour chaque port: l'une pour ipv4 et l'autre pour ipv6.


Installation d'un firewall

5.9 ufw delete

Pour effacer une règle du firewall on peut utiliser la commande

sudo ufw delete numéro

où "numéro" est le numéro de la règle.

Pour voir la liste de règles avec leurs numéros:

sudo ufw status numbered


Quelle commande taper pour effacer la règle qui permet les connexions au site web (version IPV4) ?
Essayez avant de répondre.

Installation d'un firewall

5.10 Rouvrir le port 80

Vérifiez que la connexion à http://pingouin-zap.com est bien bloquée.

Rouvrez le port 80  et vérifier que http://pingouin-zap.com fonctionne à nouveau.

6. Sauvegarde de la base de données

6.1 Sauvegarde de la base de données

Quand on administre un serveur web, il est important de faire des sauvegardes des bases de données.

C'est utile, par exemple, si la machine venait à tomber en panne, mais aussi pour pouvoir revenir en arrière lorsque l'on fait de modifications dans un logiciel web, comme Joomla, Wordpress...

Dans les pages suivantes on va voir comment ça se fait.


Rappel du cours:

https://moodle.iutv.univ-paris13.fr/img/sa/sysadmin-cm-2-36.png



Sauvegarde de la base de données

6.2 mysqldump

La commande mysqldump permet de créer une sauvegarde d'une base de données.

La syntaxe est la suivante:

mysqldump -u utilisateur-de-la-bdd -p nom-de-la-bddd  > fichier-de-sauvegarde

Si vous avez suivi les consignes : 
L'utilisateur est: user_bdd_joomla
Le nom de la base de données est: bdd_joomla
Si vous utilisez la machine virtuelle corrigée le mot de passe est "abc"

Essayez



Sauvegarde de la base de données

6.3 Contenu du fichier de sauvegarde

Regardez le contenu du fichier de sauvegarde.

A quoi ressemble-t-il  ?

Sauvegarde de la base de données

6.4 Restauration de la base de données

Le fichier de sauvegarde est en fait une série d'instructions SQL.
Si vous regardez bien, vous trouverez les instructions "CREATE TABLE ..."  et "INSERT INTO" qui permettent  de re-créer la base de données telle qu'elle était au moment de la sauvegarde.

On va vérifier ça.

D'abord faisons quelques changements sur votre site.
Connectez vous sur http://pingouin-zap.com (sur le corrigé: login: "admin", mdp: "abcd").
Faîtes des modifications visibles sur la page. Par exemple, modifiez l'article de la page d'accueil.

Ensuite restaurez la sauvegarde de la base de données avec:

mysql -u utilisateur-de-la-bdd -p nom-de-la-bddd  < fichier-de-sauvegarde
Cette commande est très simple. Elle ne fait qu’exécuter tous les commandes SQL contenues dans le fichier de sauvegarde.

Regardez http://pingouin-zap.com

Normalement, il devrait être revenu à l'état où il était lors de la sauvegarde (donc avant ces modifications).


Sauvegarde de la base de données

6.5 Sauvegarde de la bdd à distance: config ssh

On voudrait sauvegarder la base de données de la machine virtuelle à partir de la machine hôte.

On va utiliser ssh, qui permet d’exécuter une commande à distance (ce sera mysqldump).

On veut exécuter mysqldump  en tant que root pour éviter le mot de passe MySQL.

Il faut donc  d'abord configurer le serveur ssh  de la machine virtuelle pour qu'il accepte les connexions en tant que root.

Quel est le chemin complet du fichier de configuration du serveur ssh ?
(n'hésitez pas à chercher sur votre machine)

Sauvegarde de la base de données

6.6 config sshd

Dans /etc/ssh/sshd_config ajoutez la ligne

PermitRootLogin yes

On vient de modifier ce fichier de configuration. Quel  réflexe faut-il avoir, juste après ?
Quelle commande taper ?

Sauvegarde de la base de données

6.7 mysqldump sur ssh

Vérifiez que vous pouvez vous connecter sur la machine virtuelle par ssh en tant que root.
(si vous utiliser la machine corrigée, le mot de passe root est "root123")

Exécutons maintenant la sauvegarde mysqldump à distance.
 "ssh" permet d'executer une commande à distance, comme ceci:
ssh utilisateur@exemple.org commande argument argument ...

Donc:

ssh root@pingouin-zap.com mysqldump bdd_joomla

La sauvegarde s'affiche à l'écran!

Redirigez dans un fichier:

ssh root@pingouin-zap.com mysqldump bdd_joomla > fichier-sauvegarde


Sauvegarde de la base de données

6.8 ssh sans mot de passe - rappel cours

Pour faire la sauvegarde, on a eu besoin de taper le mot de passe root.
Cette approche ne convient donc pas pour une sauvegarde automatique (par exemple, toutes les nuits).

On a vu en cours, qu'il était possible d'utiliser ssh sans mot de passe.

Rappel:

https://moodle.iutv.univ-paris13.fr/img/sa/sysadmin-cm-3-38.png

Sauvegarde de la base de données

6.9 ssh sans mot de passe

Pour mettre en place un ssh sans mot de passe de hôte vers pingouin-zap.com, quelles affirmations sont vraies ?

Sauvegarde de la base de données

6.10 Création des clés

La démarche est la suivante.

  1. Hôte crée une clé privée/clé publique.
  2. Ensuite la clé publique est mise sur pingouin-zap.com dans  /root/.ssh/authorized_keys

Commençons par 1.

Sur le hôte, allez dans ~/.ssh et créez les clés avec, en rentrant "entrée" (mot de passe vide) :

ssh-keygen -f sauvegarde-sql -C sauvegarde-sql

vérifiez que vous avez bien les deux fichiers:


Sauvegarde de la base de données

6.11 authorized_keys


  1. Sur pingouin-zap.com devenez root (par exemple avec "sudo su -")
  2. Créez le répertoire /root/.ssh
  3. Dedans, créez le fichier authorized_keys et copiez-collez le contenu de sauvegarde-sql.pub

Sur le hôte, vérifiez que vous pouvez vous connecter, sans mot de passe :

ssh -i ~/.ssh/sauvegarde-sql root@pingouin-zap.com


Sauvegarde de la base de données

6.12 Limiter l'accès

Ce que l'on vient de faire fonctionne, mais est risqué. Si quelqu'un  réussi à lire le fichier contenant la clé privée (qui n'est pas protégée par un mot de passe), il peut se connecter par ssh en tant que root !

On peut restreindre à une seule commande (mysqldump) et à une seule adresse IP (la machine hôte).
Il faut remplacer la ligne dans authorized_keys  par:

command="/usr/bin/mysqldump bdd_joomla",from="172.20.0.1",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa ...

(remplacer "ssh-rsa ..." par la clé publique)


7. Sauvegarde de la machine

7.1 Sauvegarde de la machine

Dans les pages suivantes, on va sauvegarder la machine entière, en utilisant rsync.

Sauvegarde de la machine

7.2 rsync: rappels

rsync est une commande qui permet, comme scp, de copier des fichiers d'une machine à une autre.

rsync est particulièrement bien conçu pour copier une grande arborescence de fichiers.
Si une copie a déjà été faite, rsync permet à la nouvelle copie de ne copier que les fichiers ayant changé depuis la copie précédente.

Avec rsync, on peut copier tous les fichiers d'une machine, et donc d'en faire une sauvegarde complète.


Sauvegarde de la machine

7.3 Révision scp

Révision scp

Que faudrait-il taper pour copier, avec scp, le répertoire racine de pingouin-zap.com vers le répertoire de /var/local/sauvegarde de la machine hôte.
La commande est exécutée sur la machine hôte en tant que root.
Le compte utilisé sur pingouin-zap.com est root aussi.

(pour copier des répertoires, il faut utiliser l'option "-r" )

(ne l'essayez pas sur votre machine)

Sauvegarde de la machine

7.4 rsync complet

Maintenant on va faire la copie avec rsync:
Vérifiez que rsync est bien installé à la fois sur le hôte et la machine virtuelle (installez sinon).

D'abord, il faut créer le répertoire:

sudo mkdir /var/local/sauvegarde/

Puis faire la copie:

sudo rsync -axv --numeric-ids --delete pingouin-zap.com:/ /var/local/sauvegarde/

La copie peut prendre plusieurs minutes.

Quelques explications sur les options:

Vérifiez que les fichiers ont bien été copiés dans /var/local/sauvegarde/


Sauvegarde de la machine

7.5 Nouvelle copie

Recommencez  exactement la même commande rsync.

Vous verrez que cette fois, c'est très rapide.

Seuls les fichiers modifiés sont copiés. Il s'agit souvent de fichiers logs.
Essayez de modifier un fichier sur  pingouin-zap.com et refaites un rsync.

Vérifiez que ce fichier est bien recopié.

8. Machine virtuelle corrigée

8.1 Machine virtuelle corrigée

Voici la machine corrigée:
https://moodle.iutv.univ-paris13.fr/img/sa/pingouin-corrige-fin-tp7.ova

(instructions plus détaillées sur l'utilisation de cette machine virtuelle, ici)