Kennisbank › Vps Hosting › Configurer un serveur
vps hosting starter 28 August 2026

Configurer un serveur

Provisioning de serveur : d’une machine vierge à un serveur opérationnel

Provisioning de serveur : de la machine vierge au serveur opérationnel

Un serveur sans provisioning est une coûteuse boîte en métal. Cet article explique comment fonctionne le provisioning, quelles étapes le processus comprend et comment l’automatiser avec des outils comme Ansible et Terraform — pour les administrateurs qui veulent déployer des serveurs de manière cohérente et reproductible.

PRÉREQUIS

  • Un serveur physique, une machine virtuelle ou une instance cloud avec au minimum 2 cœurs CPU, 4 Go de RAM et 20 Go de stockage
  • Un accès SSH au serveur (port 22)
  • Un système d’exploitation au choix : Ubuntu 22.04 LTS, CentOS Stream 9 ou SUSE Linux Enterprise Server 15 SP5
  • Pour l’automatisation : Ansible 2.14 ou supérieur, ou Terraform 1.5 ou supérieur sur votre système de gestion
  • Des droits root ou sudo sur le serveur cible
ÉTAPES

1. Installez le système d’exploitation

Pour les serveurs physiques, vous installez l’OS via une clé USB bootable, une image ISO ou une installation réseau PXE. Pour les serveurs virtuels et les instances cloud, vous choisissez un modèle ou une image dans la plateforme — par exemple une image cloud Ubuntu 22.04 dans AWS EC2 ou KVM. Assurez-vous de définir un mot de passe root robuste ou d’ajouter une clé SSH pendant l’installation.

2. Configurez l’environnement réseau

Définissez l’adresse IP, le masque de sous-réseau, la passerelle et les serveurs DNS. Sous Ubuntu 22.04, vous modifiez le fichier `/etc/netplan/01-netcfg.yaml` :

network:
     version: 2
     ethernets:
       eth0:
         addresses:
           - 192.168.1.100/24
         routes:
           - to: default
             via: 192.168.1.1
         nameservers:
           addresses:
             - 8.8.8.8
             - 8.8.4.4

Appliquez le fichier avec `sudo netplan apply`. Définissez ensuite le nom d’hôte avec `sudo hostnamectl set-hostname webserver01`. Configurez la synchronisation temporelle avec NTP via `sudo timedatectl set-ntp true`.

3. Attribuez les ressources matérielles

Pour les serveurs virtuels, vous allouez le CPU, la mémoire, le stockage et la bande passante réseau via l’hyperviseur ou la plateforme cloud. Avec VMware, vous utilisez vSphere ; avec KVM, `virsh` ; avec AWS EC2, vous choisissez un type d’instance comme t3.medium. Pour les serveurs bare-metal, le matériel physique détermine les ressources — mais vous devez quand même déterminer quelles ressources vont à quels rôles, par exemple 4 Go de RAM pour la base de données et 2 Go pour le serveur web.

4. Installez les services nécessaires

Installez le logiciel dont le serveur a besoin pour accomplir sa tâche. Pour un serveur web sous Ubuntu 22.04 :

sudo apt update
   sudo apt install -y nginx mysql-server openssh-server
   sudo systemctl enable --now nginx
   sudo systemctl enable --now mysql

Pour un serveur de base de données, installez PostgreSQL 15 ou MySQL 8.0. Pour un serveur d’applications, installez l’environnement d’exécution nécessaire, comme Node.js 20 ou Python 3.11. Le démon SSH est présent par défaut sur la plupart des distributions Linux — vérifiez qu’il tourne avec `sudo systemctl status ssh`.

5. Automatisez avec l’infrastructure en tant que code

Utilisez Ansible pour consigner la configuration dans le code. Créez un playbook, par exemple `provision.yml` :

---
<ul><li>name: Provision web server</li></ul>
     hosts: webservers
     become: yes
     tasks:
       - name: Install nginx
         apt:
           name: nginx
           state: present
       - name: Start nginx
         service:
           name: nginx
           state: started
           enabled: yes
       - name: Set hostname
         hostname:
           name: "{{ inventory_hostname }}"

Exécutez le playbook avec `ansible-playbook -i inventory provision.yml`. Pour l’infrastructure cloud, utilisez Terraform pour décrire l’infrastructure elle-même — par exemple une instance EC2 ou un invité KVM — et Ansible pour la configuration par-dessus.

6. Configurez la surveillance, les journaux et les sauvegardes

Installez et configurez des agents de surveillance comme Prometheus Node Exporter ou l’agent Zabbix. Configurez le transfert des journaux vers un serveur de journaux central avec rsyslog ou Filebeat. Configurez des sauvegardes avec `cron` et `rsync` ou des outils comme Bacula. Un exemple de tâche cron pour des sauvegardes quotidiennes de la base de données :

0 2 <em> </em> * mysqldump -u root -p'motdepasse' mydatabase > /backups/mydatabase_$(date +\%Y\%m\%d).sql

Configurez des routines de mise à jour avec `unattended-upgrades` sur Ubuntu ou `dnf-automatic` sur CentOS Stream.

7. Enregistrez le serveur dans le système de gestion

Ajoutez le serveur à votre base de données de gestion de configuration (CMDB) ou à votre plateforme de gestion cloud. Avec BMC Cloud Lifecycle Management, vous effectuez les tâches préparatoires dans BMC Server Automation puis vous liez le serveur au système de gestion cloud. Assignez le serveur à un environnement (test, préproduction ou production) et liez la politique de sécurité.

8. Effectuez une vérification finale

Redémarrez le serveur pour vérifier que tous les services démarrent automatiquement. Vérifiez que le serveur est joignable sur le réseau et que tous les services fonctionnent correctement.

VÉRIFICATION

Vérifiez que le serveur est pleinement opérationnel :

ssh utilisateur@ip-serveur
hostname
ip addr show
systemctl status nginx
systemctl status mysql
curl -I http://localhost

Si vous avez configuré un serveur web, la commande `curl` doit retourner un statut HTTP 200. Vérifiez également que l’agent de surveillance envoie des données à votre système de surveillance central et que la première sauvegarde a été effectuée avec succès.

PROBLÈMES FRÉQUENTS

1. Le réseau ne fonctionne pas après la configuration

Vérifiez que la configuration réseau est correcte avec `ip addr show` et `ip route show`. Testez la connexion avec `ping 8.8.8.8`. Si le DNS ne fonctionne pas, vérifiez les serveurs de noms dans `/etc/resolv.conf`. Sous Ubuntu 22.04, Netplan peut écraser la configuration — vérifiez si vous avez exécuté `netplan apply`.

2. Les services ne démarrent pas après un redémarrage

Vérifiez si les services sont activés avec `systemctl is-enabled nginx`. S'ils ne sont pas activés, utilisez `sudo systemctl enable nginx`. Vérifiez également que les services n'utilisent pas de ports conflictuels avec `sudo ss -tulpn`.

3. Le playbook Ansible échoue avec une erreur SSH

Vérifiez que la clé SSH a été ajoutée à `~/.ssh/authorized_keys` sur le serveur cible. Testez la connexion manuellement avec `ssh utilisateur@server-ip`. Vérifiez que l'utilisateur a des droits sudo sans mot de passe — ajoutez-le à `/etc/sudoers.d/` avec `visudo`.

CONCLUSION

Le provisioning de serveurs ne s'arrête pas à l'installation d'un OS — c'est un processus continu de configuration, d'automatisation et de gestion qui rend chaque serveur identique et prévisible. La prochaine fois que vous livrez un serveur, le travail ne fait que commencer.

← Retour à la base de connaissances
← Terug naar kennisbank