Dans ce chapitre, vous allez entrer dans le vif du sujet et créer votre premier serveur ! En termes d’architecture, pour les besoins de ce cours, nous allons faire très simple :
une machine virtuelle pour le serveur
et une autre machine virtuelle pour le client.
Installez votre client
Une fois VirtualBox installé, téléchargez la dernière version d’Ubuntu Desktop sous forme de fichier .iso. Au moment de la rédaction de ce cours, il s’agit de la 21.04.
Créez ensuite une machine virtuelle appelée “vm-client” avec au moins 2Go de RAM, démarrez-la et utilisez le fichier .iso d’Ubuntu Desktop dans le lecteur CD virtuel.
Choisissez la langue et cliquez sur “Installer Ubuntu”. Ensuite, choisissez le clavier qui correspond à votre ordinateur.
Sélectionnez au choix une installation classique avec une sélection de logiciels ou une installation minimale avec un navigateur web et juste le strict nécessaire (suffisant pour nous). Cliquez ensuite sur “Continuer”.
Pour notre poste client, le partitionnement n’a pas d’importance : choisissez l'option par défaut. Cliquez sur “Installer Ubuntu” et confirmez l’installation.
Pendant l’installation, on vous pose quelques questions nécessaires à la configuration de votre système. Validez votre fuseau horaire et créez un compte utilisateur sur votre machine “vm-client”.
Acceptez le redémarrage de la machine et voilà, votre client est installé !
Par défaut, votre machine vm-client dispose d’une interface réseau de type “NAT” qui permet notamment d’utiliser la connexion internet de votre ordinateur hôte. C’est bien pratique mais comme nous voulons également que nos deux machines virtuelles puissent communiquer entre elles, nous allons ajouter une nouvelle interface réseau de type “Réseau interne”.
Configurez le réseau de votre client
Éteignez votre machine virtuelle “vm-client”. Procédez à une véritable extinction de machine et pas seulement à la sauvegarde d’un instantané. Dans le gestionnaire de machine VirtualBox, sélectionnez votre machine et cliquez sur “configuration” -> “Réseau”.
Vous voyez bien votre carte 1 en “NAT”, cliquez sur la carte 2 et sélectionnez “Réseau interne”. Cliquez sur “OK” et démarrez votre machine virtuelle : elle aura maintenant deux cartes réseaux et nous allons configurer cette deuxième carte.
Une fois authentifié, cliquez sur l’icône réseau en haut à droite puis sur la carte réseau marquée comme “éteinte” et “paramètres filaire”.
L’application de configuration du réseau s’ouvre. Cliquez sur la petite roue crantée pour configurer votre nouvelle carte.
Dans l’onglet IPv4, choisissez simplement “manuel” et entrez l’adresse “192.168.29.2" et le masque “255.255.255.0”. Cliquez sur “Appliquer”. Vous avez terminé la configuration réseau de votre client.
Il ne reste plus qu’une petite chose à faire pour se simplifier la vie plus tard : ajouter la ligne suivante à votre fichier /etc/hosts
:
192.168.29.1 vm-serveur
Voilà, vous pouvez passer à la création de votre serveur !
Installez votre serveur
Dans VirtualBox, créez une nouvelle machine virtuelle appelée “vm-serveur” avec 1Go de RAM et 10Go de disque dur.
Téléchargez l’image .iso de la dernière version LTS d’Ubuntu Server. Au moment de la rédaction de ce cours, il s’agit de la 20.04.
Démarrez la machine “vm-serveur” avec l’image .iso d’Ubuntu Server dans le lecteur CD virtuel pour lancer l’installation du système.
Tout de suite, vous voyez que l’interface d’installation est moins conviviale que sur la version Desktop. On est dans le monde des pro, on est en mode texte. De plus, malgré le “bienvenue” dans le bandeau d’en-tête, nous n’avons pas accès au français. Personnellement, dans les langues proposées, je me sens plus à l’aise avec l’anglais… donc c’est ce que je choisis pour la suite.
Sélectionnez “Identify Keyboard” pour sélectionner votre clavier. Sélectionnez “Done” quand vous avez terminé.
En sélectionnant “Install Ubuntu”, vous allez pouvoir lancer l’installation du système.
L’écran de configuration du réseau vous propose ensuite de configurer votre interface réseau en DHCP. C’est très bien, sélectionnez “Done” pour passer à la suite.
Choisissez les options par défaut pour le partitionnement du disque. Finalement, créez un compte utilisateur pour terminer l’installation. Il ne vous reste plus qu’à redémarrer la machine et votre serveur est installé !
Comme pour votre client, il ne nous reste plus qu’à installer une interface pour le réseau local et vous serez prêt à travailler.
Configurez le réseau de votre serveur
Comme pour le client, éteignez votre machine vm-serveur
puis dans “configuration” -> “réseau”, ajoutez une carte 2 en mode “Réseau interne”. Vous pouvez maintenant redémarrer votre serveur pour pouvoir configurer cette nouvelle carte réseau.
Depuis la version 17.10, Ubuntu a introduit une nouvelle manière de gérer le réseau basée sur Netplan. Netplan décrit la configuration réseau dans des fichiers au format .yaml placés dans /etc/netplan/*
.
Par la commande ip a
vous pouvez voir l’interface locale "lo” ainsi que vos deux interfaces réseaux. Normalement, celle que l’on vient de rajouter et qu’on va configurer ici est celle qui n’a pas encore d’adresse IP (ligne qui commence par inet
). Notez son nom : chez moi elle s’appelle enp0s8
.
stiven@vm-serveur:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:73:9f:ae brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3 valid_lft 86027sec preferred_lft 86027sec inet6 fe80::a00:27ff:fe73:9fae/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:f0:b7:c9 brd ff:ff:ff:ff:ff:ff inet6 fe80::a00:27ff:fef0:b7c9/64 scope link valid_lft forever preferred_lft forever
Pour attribuer une IP statique à cette interface, créez le fichier /etc/netplan/60-lan_statique.yaml
:
# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: enp0s8: dhcp4: no dhcp6: no addresses: [192.168.29.1/24] gateway4: 0.0.0.0 nameservers: addresses: [127.0.0.1]
Vous remarquerez la ligne renderer: networkd
qui indique le programme qui va appliquer les instructions de ce fichier de configuration. Vous avez le choix entre deux programmes : NetworkManager plutôt utilisé sur les versions “Desktop” (allez voir vos fichiers /etc/netplan/* sur votre client) et networkd plutôt utilisé sur les versions “Server” et qu’on utilise donc ici.
Ensuite, on trouve la description de nos cartes Ethernet. La mienne répond au doux nom d’enp0s8 mais vous devrez adapter cette ligne au nom de votre carte. On configure cette carte pour ne pas utiliser DHCP, on lui alloue une IP statique, une passerelle par défaut et un serveur DNS.
Une fois le fichier enregistré, vous pouvez appliquer la nouvelle configuration par la commande :
$ sudo netplan apply
En refaisant un ip a
, vous devriez voir que votre interface a bien une IP.
Enfin, pour vous simplifier la vie, ajoutez la ligne suivante à votre fichier /etc/hosts
:
192.168.29.2 vm-client
Maintenant, allumez vos deux machines virtuelles et vérifiez qu’elles peuvent communiquer :
depuis vm-client
$ ping vm-serveur
depuis vm-serveur
$ ping vm-client
C’est bon, nous disposons maintenant de deux machines virtuelles qui communiquent entre elles : un serveur et un client.
Dans la prochaine partie, vous apprendrez à gérer plus finement le stockage de votre serveur.
En résumé
Vous avez créé deux machines virtuelles qui communiquent entre elles : un client “vm-client” et un serveur “vm-serveur”.
Vous avez pu vérifier que le programme d’installation des deux versions d’Ubuntu, Desktop et Server, est différent même si les grandes étapes sont les mêmes.
La différence la plus flagrante entre votre serveur et votre client est que votre serveur n’a pas d’interface graphique.