Notes et transcriptions du cours “Montez un serveur de fichiers sous Linux” disponible sur la plateforme Openclassrooms.
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 :
Pour gérer les machines virtuelles, nous utiliserons le logiciel VirtualBox disponible à la fois sur Windows, Mac et Linux.
Pour installer ce logiciel, je vous invite à suivre les indications fournies dans le cours “Initiez-vous à Linux”.
Une fois VirtualBox installé, téléchargez la dernière version de Xubuntu Desktop sous forme de fichier .iso. Au moment de la rédaction de ce cours, il s’agit de la 22.04.
Créez ensuite une machine virtuelle appelée “vm-client” avec au moins :
Démarrez-la et utilisez le fichier .iso d’Ubuntu Desktop dans le lecteur CD virtuel. L'installation se fait en mode graphique et ne présente pas de difficulté majeure.
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”.
Éteignez votre machine virtuelle “vm-client”. Procédez à une véritable extinction de machine et pas seulement à la sauvegarde d’un instantané.
Réseau interne
dans la boite de liste “Mode d'accès réseau” ;
Vous voyez bien votre carte “Adapter 1” en “NAT”, et la carte “Adapter 2” en “Réseau interne” sur le réseau par défaut intnet
. Cliquez sur “OK” et démarrez votre machine virtuelle : elle a maintenant deux cartes réseaux et nous allons configurer cette deuxième carte en statique.
La configuration des interfaces peut se faire de différentes manières. Sur les distributions récentes (Ubuntu 17.10 et supérieures), l'outil Netplan est installé par défaut : il permet à l'aide d'un fichier texte au format YAML de définir simplement les paramètres des interfaces réseau du système.
# On arrête le service NetworkManager # notre configuration Netplan s'appuiera # sur systemd systemctl stop NetworkManager systemctl disable NetworkManager
Créer le fichier 01-interfaces.yaml
dans le dossier /etc/netplan/
network: version: 2 renderer: networkd # Configuration des interfaces physiques ethernets: # NAT connexion à l'hyperviseur en DHCP hostlink: match: macaddress: 08:00:27:5e:f1:f2 set-name: nat0 dhcp4: yes dhcp6: yes # Réseau interne entre VMs en statique vm-internal: match: macaddress: 08:00:27:ea:c1:3e set-name: intnet link-local: [ ipv4 ] dhcp4: no addresses: [ 192.168.22.1/24 ]
Il ne reste plus qu’une petite chose à faire pour se simplifier la vie plus tard : ajouter la ligne suivante à votre fichier /etc/hosts
pour permettre la résolution du serveur depuis le client :
192.168.22.2 vm-serveur
Vérifier que la résolution fonctionne :
resolvectl query vm-server
La commande doit retourner l'adresse prévue du serveur 192.168.22.2
Voilà, vous pouvez passer à la création de votre serveur ! Pour le moment le client peut être arrêté.
systemctl poweroff
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 22.04.3
LTS signifie Long Term Support, soit Support Étendu. Elle correspond à la version d’Ubuntu qui sort tous les deux ans et qui bénéficie d’un support étendu à 5 ans au lieu de neuf mois habituellement. On préférera cette version d’Ubuntu sur un serveur pour éviter d’avoir à tout réinstaller deux fois par an.
Dans VirtualBox, créez une nouvelle machine virtuelle appelée “vm-serveur”. L' OS serveur et l'installateur sont moins gourmands que la version Desktop. Les ressources suivantes seront suffisantes :
Réseau interne
.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.
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é !
Vous voyez que par défaut, aucune interface graphique n’est installée et vous n’avez accès qu’à une console avec du texte blanc sur fond noir… Bienvenue parmi les pros de Linux !
Comme pour votre client, il ne nous reste plus qu’à installer une interface pour le réseau local et vous serez prêt à travailler.
On s'appuie ici aussi sur Netplan pour la configuration des interfaces du serveur.
Via la commande ip a vous pouvez voir l’interface locale “lo” ainsi que vos deux interfaces réseaux. Normalement, celle que l’on a rajouté et qu’on va configurer ici est celle qui n’a pas encore d’adresse IP. Notez leurs adresses MAC respectives.
ip link show
network: version: 2 renderer: networkd # Configuration des interfaces physiques ethernets: # NAT connexion à l'hyperviseur en DHCP hostlink: match: macaddress: 08:00:27:c6:9e:cc set-name: nat0 dhcp4: yes dhcp6: yes # Réseau interne entre VMs en statique vm-internal: match: macaddress: 08:00:27:f0:cc:cd set-name: intnet link-local: [ ipv4 ] dhcp4: no addresses: [ 192.168.22.2/24 ] nameservers: addresses: [127.0.0.1]
Notons la directive 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.
Une fois le fichier enregistré, vous pouvez appliquer la nouvelle configuration par la commande :
netplan try netplan apply
En utilisant la commande ip, vous devriez voir que votre interface a bien une IP.
ip address show intnet
Enfin, pour vous simplifier la vie, ajoutez la ligne suivante à votre fichier /etc/hosts
:
192.168.22.1 vm-client
Maintenant, allumez vos deux machines virtuelles et vérifiez qu’elles peuvent communiquer :
Depuis vm-client :
resolvectl query vm-server
ping vm-serveur
Depuis vm-serveur :
resolvectl query vm-client
ping vm-client
C’est bon, nous disposons maintenant de deux machines virtuelles qui communiquent entre elles : un serveur et un client.
Pour avoir des machines à jour, sur chacune d’entre elles, faites-vous plaisir avec un bon vieux :
sudo apt update && sudo apt dist-upgrade
Dans la prochaine partie, vous apprendrez à gérer plus finement le stockage de votre serveur.