[Tuto – Infrastructure Web – Debian 8] – La machine gabarit
Votez !

Introduction

Ce tuto fait parti d’un ensemble qui conduit à créer une infrastructure de serveurs web avec différents rôles : « [Tuto – Infrastructure Web – Debian 8] – Présentation et objectifs »
Il va vous permettre de créer la première machine virtuelle avec VirtualBox.
Cette machine va me servir de gabarit.
Elle possède uniquement le système et les outils de base et sera clonée à volonté pour créer plus rapidement d’autres VMs.

La procédure est en mode « pas à pas » et convient à tous (ou presque).
Comptez environ 2 à 3h suivant votre débit ADSL … et votre détermination.

Pré-requis

VirtualBox, pour la virtualisation

Que vous soyez sous Windows, Linux ou OS X, téléchargez et installez VirtualBox.
N’oubliez pas également d’installer le « VirtualBox Extension Pack ».

Tous les fichiers sont disponibles sur la page de téléchargement de VirtualBox.

Pour prendre en compte les différents drivers et cartes réseau installés, je vous recommande de rebooter votre machine avant de vous lancer.

Debian 8, l’iso pour l’installation

Dans ce tuto, j’utilise la version Net Install qui permet d’installer une distribution Debian par internet et avec les derniers paquets à jour.
Si vous comptez le temps de téléchargement des images iso en plus de l’installation, ce n’est pas forcément plus long que d’utiliser une image iso de 4Go.
J’irais même jusqu’à dire que ça me semble moins long puisqu’on ne télécharge que le strict nécessaire.
Avec l’image de 4Go, vous devrez effectuer une mise à jour supplémentaire qui peut durer assez longtemps.

A vous de voir.

A la rédaction de ce tuto c’est l’iso debian-8.1.0-amd64-netinst.iso qui était disponible.

vi(m), l’éditeur en ligne

Pour modifier rapidement les fichiers de conf ou installer de nouveaux programmes, il vaut mieux être à l’aise avec un éditeur en ligne comme vi ou vim.
Il existe aussi nano, mais je ne sais pas pourquoi, je n’y adhère pas du tout.
Trop proche d’un éditeur graphique peut-être.

A vous d’utiliser celui qui vous convient le mieux.

Création d’une nouvelle machine virtuelle

Dans VirtualBox :

  1. Cliquez sur le bouton « Nouvelle »
    • Nom : « debian8-gabarit »
    • Type : Linux
    • Version : Debian (64 bit)

    Cliquez sur le bouton « Suivant »

  2. Taille de la mémoire : 512 Mio (on ne rigole pas, c’est largement suffisant pour le moment.)
    [Suivant]
  3. Disque dur : « Créer un disque dur virtuel maintenant »
    [Créer]
  4. Type de fichier de disque dur : VDI
    [Suivant]
  5. Stockage sur disque du physique : « Dynamiquement alloué »
    [Suivant]
  6. Emplacement du fichier et taille
    1. Emplacement : laissez par défaut ou adaptez suivant votre configuration.
    2. Taille : 6 Gio

    Cliquez sur le bouton « Créer »

Configurations supplémentaires

Ouvrez la configuration de la machine nouvellement créée.

  1. Onglet « Système > Carte mère » : décochez « Disquette »
  2. Onglet « Système > Processeur » : « Ressources allouées » à 80%
  3. Onglet « Stockage » :
    • Sélectionnez le lecteur vide du CD-Rom
    • Dans les attributs, cliquez sur le disque et sélectionnez « Choisissez un fichier cd CD/DVD virtuel »
    • Sélectionnez le fichier iso d’installation de la distribution Debian
  4. Onglet « Son » : décochez « Activer le son »
  5. Onglet « Réseau » : pour la carte 1, utilisez le mode d’accès réseau « Accès par pont » et sélectionnez la carte physique de votre PC qui a accès à internet. Dans mon cas « wlp3s0 ».
  6. Cliquez sur le bouton « Ok »

Votre machine est prête à recevoir le système d’exploitation Linux Debian 8.

Oracle VM VirtualBox - Debian 8 gabarit

Installation de Debian 8

Lancez la machine virtuelle en cliquant sur le bouton « Démarrer »

Écran de démarrage :
Debian 8 - Installation - 1
Je recommande l’installation « normale », pas graphique.

Sélectionnez la langue.
Debian 8 - Installation - Sélectionnez la langue

Sélectionnez la situation géographique.
Debian 8 - Installation - Sélectionnez la situation géographique

Configurez le clavier.
Debian 8 - Installation - Configurez le clavier

Chargement de composants supplémentaires…
Debian 8 - Installation - Chargement de composants supplémentaires

Donnez un nom à la machine virtuelle.
Debian 8 - Installation - Nom de la machine

Si vous le voulez, vous pouvez spécifier un domaine.
Attention, ne pas utiliser un domaine internet comme jbnet.fr, mais un domaine non routable sur internet comme jbnet.lan.
Debian 8 - Installation - Domaine

Configurez le mot de passe root (2 fois pour confirmer).
Debian 8 - Installation - Mot de passe root

Configurez un utilisateur standard, c’est à dire sans les droits root (ou administrateur).
Ici, c’est le nom affiché, pas l’identifiant de connexion qui peut être différent.
Debian 8 - Installation - Utilisateur

Configurez l’identifiant de connexion de l’utilisateur standard.
Puis son mot de passe (2 fois pour confirmer).
Debian 8 - Installation - Identifiant du compte utilisateur

Maintenant, nous allons créer le partitionnement suivant :

  • /boot : 100 MB, type ext2
  • swap : 2 GB, type swap
  • / : le reste, type ext3

L’avantage est que pour les futures machines qui seront créées à partir du clone de cette VM, nous allons ajouter un 2nd disque dur qui sera taillé de façon plus fine pour accueillir les données spécifiques au rôle du serveur.
On pourra par exemple déplacer les répertoires /home et /var sur un nouveau disque qui aura la taille calculée en fonction du besoin.
Nous verrons tout cela plus en détails dans les tutos dédiés.

Note : pour plus de d’évolutivité, vous pouvez aussi passer au LVM.
Voir mon mémo « Debian – Agrandir une partition avec LVM »

Sélectionnez le disque :

Debian 8 - Installation - Partitionnemer les disques - Sélection du disque

Validez la création de la table des partitions sur ce disque :

Debian 8 - Installation - Partitionnemer les disques - Nouvelle table des partitions

Sélectionnez « Espace libre »

Debian 8 - Installation - Partitionnemer les disques - Selectionnez l'espace libre

Créez une nouvelle partition :

Debian 8 - Installation - Partitionnemer les disques - Créer une nouvelle partition

Saisissez la taille de la partition :

Debian 8 - Installation - Partitionnemer les disques - Créer une nouvelle partition /boot

Sélectionnez le type « Primaire » :

Debian 8 - Installation - Partitionnemer les disques - Type primaire

Sélectionnez l’emplacement « Début » :

Debian 8 - Installation - Partitionnemer les disques - Emplacement au début

Configurez la partition /boot :

  • Utiliser comme : système de fichiers ext2
  • Point de montage : /boot

Laissez le reste par défaut et sélectionnez « Fin du paramétrage de cette partition » :

Debian 8 - Installation - Partitionnemer les disques - Configuration pour la partition /boot

Faîtes de même pour les autres partitions jusqu’à arriver à cette configuration.
Sélectionnez « Terminer le partitionnement et appliquer les changements » :

Debian 8 - Installation - Partitionnemer les disques - Configuration finale

Sélectionnez « Oui » :

Debian 8 - Installation - Partitionnemer les disques - Appliquez les changements

Le partitionnement est créé et l’installation du système de base commence :

Debian 8 - Installation - Installation du système de base

Sélectionnez le pays du dépôt :

Debian 8 - Installation - Dépôts

Sélectionnez le serveur (dans le doute, laissez par défaut) :

Debian 8 - Installation - Dépôt serveur

Si vous êtes dans un réseau avec un proxy, il faut saisir les paramètres du proxy sous cette forme :

Si le proxy demande une authentification :

Sinon, laissez vide si vous êtes chez vous connecté à votre box internet.

Debian 8 - Installation - Proxy

Les fichiers du dépôt sont téléchargés :

Debian 8 - Installation - Téléchargement des informations du dépôt

Si vous désirez participer aux statistiques d’utilisation, sélectionnez « Oui » :

Debian 8 - Installation - Statistiques d'utilisation

Sélectionnez les programmes à installer.
Dans le cadre d’un serveur minimaliste comme celui-ci, il faut sélectionner uniquement :

  • Serveur SSH
  • Utilitaires usuels du système

Debian 8 - Installation - Choix des logiciels

Les programmes sont en cours d’installation :

Debian 8 - Installation - Installation des logiciels

Installation de GRUB, le programme de démarrage.
Sélectionnez « Oui » :

Debian 8 - Installation - Installation de GRUB

Sélectionnez le disque où sera installer GRUB : /dev/sda

Debian 8 - Installation - Installation de GRUB - Périphérique

Dernières étapes de l’installation avant reboot :

Debian 8 - Installation - Fin

Félicitation, vous avez installé la machine virtuelle.
Validez pour continuer.

Debian 8 - Installation - Installation terminée

Écran de démarrage :

Debian 8 - Installation - Premier démarrage

A la fin du processus de boot, la machine est en marche et accessible en SSH ou directement par VirtualBox.
Je vous conseille SSH, c’est plus simple pour les copier/coller avec la souris.

Debian 8 - Installation - Machine démarrée

Premiers paramétrages

Connexion SSH

Voici une liste des différents clients SSH que je vous conseille suivant le système d’exploitation utilisé :

  1. Linux : ligne de commande ssh. Simple, efficace, j’adore. Il existe également Putty qui permet d’enregistrer des paramètres différents suivant les serveurs.
  2. Windows : Tera Term, un « must have », j’ai abandonné Putty depuis.
  3. Android : JuiceSSH (payant) ou ConnectBot (gratuit, mais avec moins de fonctionnalités, et plus lent). Je conseille JuiceSSH pour les fonctionnalités annexes.
  4. Mac : euh… Des suggestions ?

Récupérer l’adresse IP de la machine

Comme vous pouvez le constater, bien peu d’informations sont disponibles au démarrage de la VM.
Pour se connecter à cette dernière, il nous faut son adresse IP.

Cliquez sur la fenêtre de la VM pour capturer le clavier dans la VM.

Tapez « root » puis validez.

Tapez le mot de passe que vous avez configuré à l’installation et valider.
Si aucun caractères ne n’affichent, c’est normal. Raison de sécurité.

Debian 8 - Connexion dans la fenêtre VirtualBox

Exécutez la commande qui permet d’afficher les informations réseau :

(Vous pouvez ne pas saisir « command »)

Debian 8 - ifconfig

L’adresse IP est donc : 10.0.0.14

Tapez la combinaison de touche « Ctrl+d » pour vous déconnecter.
Éventuellement »Ctrl Droite » pour récupérer le contrôle de votre PC.

Première connexion SSH

Je vais utiliser la ligne de commande (sous Linux, c’est un terminal) pour me connecter.
A vous d’adapter si vous utilisez un logiciel comme Tera Term ou Putty.

Précision : Pour des raison de sécurité, il n’est plus possible de se connecter en SSH directement avec root depuis Debian 8.
Vous devez utiliser l’utilisateur créé à l’installation puis vous connecter avec root.

A la première connexion SSH, le client SSH demande d’accepter la clé d’identification SSH.
Acceptez et saisissez le mot de passe utilisateur configuré plus haut.

Vous êtes connecté !

Utilisez root :

Validez et saisissez le mot de passe root.

Vous êtes connecté avec root et avez le contrôle totale de votre machine !

Les prochaines commandes seront exécutées sous root.

Lenteur de connexion SSH

Si la connexion SSH vous semble lente, ajoutez ce paramètre à la fin du fichier /etc/ssh/sshd_config

Relancez le service SSH :

Mise à jour avec les dépôts officiels

Renommez le fichiers /etc/apt/sources.list en /etc/apt/sources.list.origine pour garder un backup de l’original (ça peut servir) :

Maintenant, remplacez le contenu du fichier /etc/apt/sources.list par :

Enregistrez le fichier puis lancez un rafraichissement des dépôts suivi d’une mise à jour :

Si nécessaire, répondez « Oui » pour mettre à jour votre serveur.
Mais si vous avez utilisé la version net Install, vous ne devriez pas avoir de mise à jour à faire :

Corriger le problème de déconnexion SSH sous Debian 8

Lorsque vous éteignez votre machine virtuelle (avec la commande « init 0 »), la déconnexion SSH n’est pas immédiate et attend la fin d’un timeout.
Vous pouvez palier à ce problème en suivant mon mémo sur le sujet : Debian – Déconnexion SSH incorrecte au reboot de Debian 8 Jessie

Vous devez rebooter le serveur pour la prise en compte.

Corriger le fuseau horaire

Au cas où l’heure ne serait peut-être pas correcte par rapport à votre fuseau horaire.

Exécutez cette commande, choisissez le fuseau horaire qui vous convient :

Debian 8 - Fuseau horaire

Debian 8 - Fuseau horaire - Paris

Résultat :

Installation des outils de base

Outils de développement

Installez les outils de développement permettant de compiler certains programmes.
Taille : env. 210 Mo

Programmes et outils supplémentaires

Complétion des commandes

La complétion permet d’utiliser la touche tabulation pour compléter la commande dont les premières lettres ont été saisies.
Y compris le nom d’un service.
Normalement c’est déjà installé mais à vérifier tout de même.

Relancer le serveur pour prendre en compte la complétion :

Lorsque vous tapez « service » suivi de 2 fois la touche « tab », la liste des services s’affiche.
Pratique !

htop – Visualiser la charge en temps réel

Plus top que « top ».

Site de l’auteur : http://hisham.hm/htop/

screen – Récupérer une session SSH

Screen permet de conserver une session SSH ouverte en mémoire et en cas de coupure du lien internet ou lors d’exécution de traitement long, même si la connexion SSH principale est fermée.

L’utilisation est simple :

Lister les screen en cours :

Récupérer la dernière session :

Pour plus d’info : Taking Command of the Terminal with GNU Screen sur linux.com

apt-file – Recherchez des fichiers dans les paquets Debian

Un programme ne peut pas se compiler car il manque un fichier ?
Utilisez apt-file et trouvez le paquet qui permet de l’installer !

Suivi d’une mise à jour de sa base de données :

Utilisation :

Eteindre votre Debian 8

Parce que c’est important d’arrêter correctement une machine, voici comment éteindre proprement votre Debian en ligne de commande :

Il semblerait que cette dernière commande soit un peu trop expéditive.
En voici une autre, plus souple pour le système :

 

Et la suite ?

Suivez le guide Cloner et préparer la machine gabarit et commencez à créer de nouvelles VMs.

Bientôt les tutos pour installer un proxy, un serveur web Apache et/ou NGINX, un serveur de base de données MySQL ou Percona et un serveur d’administration avec des outils de monitoring pour surveiller l’ensemble, etc.

N’hésitez pas à poster des commentaires, des questions, vos trucs & astuces, je serais très heureux d’y répondre.