1. Espace Professionnels
  2. Installer et sécuriser un serveur web open source (Debian, Apache et Nginx)

Installer et sécuriser un serveur web open source (Debian, Apache et Nginx)

Bientôt disponible !
Suivez-nous pour être informé dès la sortie

Le web est un domaine vaste : ce support fait le choix d’aller à l’essentiel en guidant le lecteur dans la mise en place de services web libres sur un système d’exploitation open source, tout en respectant les bonnes pratiques de sécurité. Grâce à des exemples concrets et progressifs, le lecteur acquiert les bases nécessaires pour installer, configurer, sécuriser, maintenir et dépanner son propre serveur web open source. Il s’adresse aux utilisateurs à l’aise avec un ordinateur qui souhaitent...
  • Niveau Initié à Confirmé
  • Parution novembre 2026

Le web est un domaine vaste : ce support fait le choix d’aller à l’essentiel en guidant le lecteur dans la mise en place de services web libres sur un système d’exploitation open source, tout en respectant les bonnes pratiques de sécurité.

Grâce à des exemples concrets et progressifs, le lecteur acquiert les bases nécessaires pour installer, configurer, sécuriser, maintenir et dépanner son propre serveur web open source. Il s’adresse aux utilisateurs à l’aise avec un ordinateur qui souhaitent aller au-delà du simple usage, ainsi qu’aux profils déjà initiés à l’informatique et curieux de comprendre concrètement comment fonctionne un serveur web.

Les premiers chapitres posent les bases : distinction entre Web et Internet, relation client/serveur, requêtes HTTP, HTTPS, ressources nécessaires et choix d’un hébergement local ou VPS.

Dans une partie pratique, le lecteur apprend ensuite à utiliser Linux en ligne de commande, à gérer les utilisateurs, les droits, les paquets, le réseau, SSH, les journaux et les services système. Il est ensuite accompagné pour l’installation d’un serveur Debian 12, puis pour la configuration d’Apache, de Nginx, de MariaDB, de PHP, de WordPress, des noms de domaine et des certificats TLS. Une large place est également accordée à la sécurité : durcissement SSH, pare-feu, IPS, bannissement, permissions, protection de WordPress, sauvegardes, restauration et dépannage.

 

 

 

 

 

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-05579-9
  • EAN : 9782409055799
  • Ref. ENI : RIMSERVWIC

Caractéristiques

  • HTML
  • ISBN : 978-2-409-05580-5
  • EAN : 9782409055805
  • Ref. ENI : LNRIMSERVWIC

Téléchargements

Avant-propos
  1. Introduction
  2. Prérequis
  3. Objectifs
  4. Conseils de lecture
Du client au serveur
  1. Introduction
  2. Le Web
  3. Un peu d'histoire
  4. Clients/serveurs
  5. Chemin d'une requête
  6. Résolution de nom
    1. 1. Fonctionnement
    2. 2. Enregistrement
    3. 3. Public ou privé
    4. 4. Reconnaissance sans DNS
  7. Messages HTTP
    1. 1. Méthodes HTTP courantes
      1. a. GET
      2. b. POST
    2. 2. Autres méthodes
    3. 3. En-têtes
    4. 4. Codes HTTP
  8. HTTPS
  9. Anatomie d'une session HTTP
Ressources nécessaires
  1. Introduction
  2. Sites et applicatifs web
  3. Ressources logicielles
    1. 1. Système d’exploitation
    2. 2. Serveur web
    3. 3. Base de données SQL
    4. 4. Langage
    5. 5. Comparatif logiciel
  4. Ressources matérielles
    1. 1. Éléments
    2. 2. Architecture
    3. 3. Comparatif matériel
      1. a. L’OS
      2. b. Les logiciels
Types d'hébergement
  1. Introduction
  2. Besoins définis
  3. Hébergement local
  4. Hébergement VPS
    1. 1. Critères de choix
      1. a. À propos de l’hébergeur
      2. b. Localisation du serveur
      3. c. Support technique
      4. d. Bande passante
      5. e. SLA
      6. f. Type de serveur
      7. g. OS disponibles
      8. h. Accès
      9. i. Les sauvegardes
      10. j. Les protections
      11. k. IP publique
      12. l. Ressources dédiées
      13. m. Autres
    2. 2. Comparatif de fournisseurs
    3. 3. Comparatif d’offres
Utiliser Linux via un terminal
  1. Introduction
  2. Terminal, shell, prompt
    1. 1. Coexistence de shells
    2. 2. Composition
  3. Les aides
    1. 1. man
    2. 2. history
    3. 3. whatis, apropos et compgen
    4. 4. Quelques raccourcis-clavier
  4. L'éditeur de texte nano
    1. 1. Utilisation
    2. 2. Personnalisation
    3. 3. Raccourcis-clavier
  5. Des commandes de base à connaître
    1. 1. pwd
    2. 2. cd
    3. 3. ls
    4. 4. ln
    5. 5. wc
    6. 6. cat, more et less
    7. 7. echo
    8. 8. tee
    9. 9. mkdir et rmdir
    10. 10. mv
    11. 11. cp
    12. 12. rm
    13. 13. grep et cut
    14. 14. find
    15. 15. whereis et which
    16. 16. tail
    17. 17. head
    18. 18. watch
    19. 19. tar
      1. a. Fonction 1 - Archivage
      2. b. Fonction 2 - Extraction
      3. c. Fonction 3 - Lister le contenu d’unearchive
    20. 20. Comparaison de fichiers
    21. 21. file
    22. 22. ./
  6. Les variables d'environnement
    1. 1. Variables d’environnements et variables
    2. 2. Variables par défaut
    3. 3. Afficher le contenu d’une variable
    4. 4. Assigner une valeur à une variable
    5. 5. Utilisation dans le terminal ou un script shell
    6. 6. Effacer une variable
    7. 7. La casse
    8. 8. Persistance d’une variable - session de l’utilisateur
    9. 9. Persistance d’une variable - tout le système
    10. 10. Déclarer un programme, une commande dansle PATH
Les usages avancés
  1. Introduction
  2. Commandes en tant qu'autre utilisateur
  3. Gestion des utilisateurs
    1. 1. Créer un compte utilisateur
    2. 2. Modifier un compte utilisateur
    3. 3. Supprimer un compte utilisateur
  4. Gestion des groupes
    1. 1. Création, modification et suppression
    2. 2. Devenir membre d’un groupe
  5. Gestion des paquets
    1. 1. Les dépôts
    2. 2. Recherche d’un paquet
    3. 3. Installation d’un paquet
    4. 4. Mises à jour
    5. 5. Suppression d’un paquet
    6. 6. Accès au code source
    7. 7. Anatomie d’un paquet
    8. 8. Gestion des noyaux Linux
  6. Gestion des droits sur les fichiers
    1. 1. Visualisation des droits
    2. 2. Différentes représentations
    3. 3. Modification des droits
    4. 4. Les droits par défaut
    5. 5. Permissions personnalisées
    6. 6. Changement de propriétaire et de groupe
    7. 7. Droits spéciaux
  7. Gestion des services
    1. 1. systemd
    2. 2. Utilisation de base
    3. 3. Services personnalisés
  8. Gestion des processus
    1. 1. Lister les processus
    2. 2. Arrêter des processus
    3. 3. Tâches en arrière-plan
  9. Gestion du réseau
    1. 1. Connectivité
    2. 2. Passage en IP fixe
    3. 3. Configuration DNS
    4. 4. Résolution DNS
    5. 5. Communications réseau de la machine
  10. Connexion à distance, connectivité et transfert de données
    1. 1. ssh
    2. 2. curl
    3. 3. scp
    4. 4. rsync
  11. Gestion des journaux
    1. 1. Qu’est-ce qu’un journal ?
    2. 2. Stockage
    3. 3. Lecture
    4. 4. journald
    5. 5. La rotation des logs
    6. 6. Purge des logs
  12. Gestion des périphériques de stockage
    1. 1. Lister les périphériques de stockage
    2. 2. Monter et démonter un périphérique
    3. 3. Supprimer un disque
Installation du serveur
  1. Introduction
  2. Obtenir l'image ISO d'installation
  3. Créer un média bootable
    1. 1. Méthode 1 - dd
    2. 2. Méthode 2 - cp
  4. Préparation du futur serveur
    1. 1. Cas 1 - Machine physique
    2. 2. Cas 2 - Machine virtuelle
  5. Installation
  6. Tests post-installation
    1. 1. Boot
    2. 2. Connexion avec root
Configuration du serveur
  1. Introduction
  2. Modifier les sources de dépôts
    1. 1. Retirer la source DVD
    2. 2. Contrôle des autres sources
  3. Utilisateur non root
    1. 1. Ajout au groupe sudo
    2. 2. Personnalisation de nano
  4. Passage en IP fixe
    1. 1. IP de base
    2. 2. IP disponible
    3. 3. Stopper l’interface principale
    4. 4. Attribution de l’IP
    5. 5. Redémarrage de l’interface et test
  5. Service SSH
  6. Service web Apache
    1. 1. Installation
    2. 2. Fonctionnement
    3. 3. Gérer un site web
  7. Service web Nginx
    1. 1. Nettoyage
    2. 2. Installation
    3. 3. Fonctionnement
    4. 4. Gérer un site web
  8. Base de données
    1. 1. Installation
    2. 2. Manipulation de MariaDB
  9. Langage de programmation
    1. 1. Installation
    2. 2. Mise en place pour Apache
    3. 3. Mise en place pour Nginx
  10. Mise en place d'autres sites
    1. 1. WordPress de zéro
    2. 2. WordPress existant
    3. 3. Site simple existant
  11. Mise en ligne des sites hébergés localement
    1. 1. Sans DNS
    2. 2. Avec des sous-domaines gratuits
    3. 3. Avec un nom de domaine
  12. Mise en ligne des sites sur VPS
  13. Les certificats TLS
    1. 1. Explication
    2. 2. Cas 1 - sites accessibles localement
    3. 3. Cas 2 - sites locaux en ligne sans DNS
    4. 4. Cas 3 - sites locaux en ligne avec des sous-domaines
    5. 5. Cas 4 - sites locaux en ligne avec un nom de domaine
    6. 6. Cas 5 - sites sur un VPS avec un nom de domaine
    7. 7. Obtenir autant de certificats que de domaines
    8. 8. Nettoyer les fichiers de configuration des hôtesvirtuels TLS
    9. 9. Supprimer un certificat
  14. Changer les serveurs DNS d'un domaine pour ceux d'un autre fournisseur
    1. 1. D’OVHcloud à Hostinger
    2. 2. Revenir sur un serveur local
    3. 3. Revenir à OVHcloud
  15. Journaux
Sensibilisation et durcissement
  1. Introduction
  2. Les raisons de ne pas négliger la sécurité de votre système
    1. 1. DICT
    2. 2. Rappels légaux
    3. 3. Différentes sécurités,un même but
  3. Dans la pratique
    1. 1. Certificat TLS
      1. a. Défaut de certificat
      2. b. Certificat avec version de TLS obsolète
      3. c. Auditer votre configuration TLS
      4. d. Configuration sécurisée de TLS -Apache
      5. e. Configuration sécurisée de TLS -Nginx
    2. 2. Accès SSH
      1. a. État actuel du service SSH
      2. b. Démonstration d’une attaque forcebrute SSH
      3. c. Sécuriser le service SSH
      4. d. Ajouter ou renouveler des clés
      5. e. Audit de la configuration SSH
      6. f. Logs
      7. g. Afficher la configuration effective
    3. 3. Pare-feu réseau
      1. a. Fonctionnement
      2. b. Installation
      3. c. Configuration
      4. d. Activation et désactivation
      5. e. Afficher l’état et les règles
      6. f. Effacer une règle
      7. g. Test
      8. h. Logs
      9. i. Liste blanche
      10. j. Autres fonctions
    4. 4. IPS
      1. a. Fonctionnement
      2. b. Installation
      3. c. Configuration
      4. d. Gestion du service
      5. e. Logs
      6. f. Cas notables que fail2ban peut considérercomme une attaque
    5. 5. Bannissement permanent
      1. a. Étape 1 : installation et configuration
      2. b. Étape 2 - Rendre le bannissement persistant
    6. 6. Limiter l’expansion des journaux
    7. 7. MariaDB
    8. 8. PHP
      1. a. Désactiver les modules inutiles
      2. b. Durcissement de la configuration
      3. c. Exemple de configuration personnalisée
      4. d. Prise en compte des modifications
    9. 9. Logiciels et services
      1. a. Inventaire
      2. b. Où trouver des infos sur les logiciels, lesbugs et les failles ?
      3. c. Audit des logiciels
    10. 10. Politique de sécurité des comptes
      1. a. Déconnexion
      2. b. Le cas du compte root
      3. c. Configuration de sudo
      4. d. Gestion des mots de passe
      5. e. Revue des comptes et des accès
      6. f. Désactiver un compte
      7. g. Forcer la déconnexion d’un compte désactivé
      8. h. Révoquer la clé SSH du compte
    11. 11. Bien gérer les permissions
      1. a. La juste permission
      2. b. Les risques
      3. c. Automatisation des droits
      4. d. Propriétaire et groupe propriétaire
    12. 12. Le serveur et son environnement
      1. a. Sécurité physique
      2. b. Cartographie et sécurité du réseau
      3. c. Contrôle des ressources consommées
      4. d. Obsolescence des supports de stockage
    13. 13. Service de reporting et d’auto bannissement
      1. a. Présentation du service
      2. b. Création du service
    14. 14. Sécurité d’un site WordPress
      1. a. Séparer les usages
      2. b. Désactiver XML-RPC
      3. c. Protéger l’accès au backend
      4. d. Les permissions
    15. 15. Enlever les bannières de ses services exposés
    16. 16. Aller plus loin
Sauvegarde et restauration
  1. Enjeux
  2. Quand sauvegarder ?
  3. Que sauvegarder ?
  4. Où sauvegarder ?
  5. Comment sauvegarder ?
    1. 1. Snapshots
      1. a. Sur les machines virtuelles
      2. b. Sur un VPS
      3. c. Sur les machines physiques
    2. 2. Sauvegardes automatiques
      1. a. Complète
      2. b. Partielle
      3. c. Redondance
  6. Services de sauvegarde et de récupération automatique de données
    1. 1. Sauvegarde des données
      1. a. Présentation du service
      2. b. Création du service
    2. 2. Récupération des données
      1. a. Présentation du service
      2. b. Création du service
  7. Test et restauration des données archivées
    1. 1. Étape 1 - Contrôle de l’archive
    2. 2. Étape 2 - récupérer l’archive à restaurer
    3. 3. Étape 3 - restauration de l’archive
    4. 4. Étape 4 - Restauration d’une base de données
  8. Service de rotation des archives
    1. 1. Présentation du service
    2. 2. Création du service
Dépannage et debugging
  1. Introduction
  2. Mises à jour
    1. 1. Update bloqué
    2. 2. Upgrade bloqué
  3. Services généraux
    1. 1. Le service a échoué
    2. 2. Perte de connectivité sortante - 1
    3. 3. Perte de connectivité sortante - 2
  4. Services liés au web
    1. 1. PHP
    2. 2. Apache - 1
    3. 3. Apache - 2
    4. 4. Apache - 3
    5. 5. Site non accessible - 1
    6. 6. Site non accessible - 2
  5. SSH
    1. 1. Cas 1
    2. 2. Cas 2
  6. Perte du mot de passe administrateur
  7. Dépanner certbot
    1. 1. Erreur lors de la création ou du renouvellementdu certificat TLS
    2. 2. Erreur lors du renouvellement automatique
  8. Grande quantité de ressources matérielles consommées
  9. Récupération de données perdues
    1. 1. Préalable
    2. 2. Création d’une image du disque à récupérer
      1. a. Serveur accessible physiquement
      2. b. Cas d’un serveur distant
    3. 3. Récupération des données
  10. Autres problèmes possibles
Annexes
  1. Glossaire
  2. Référentiels
  3. Scripts
    1. 1. Reporting journalier
    2. 2. Bannissement automatique
    3. 3. Sauvegarde automatique
    4. 4. Eléments à sauvegarder
    5. 5. Rotation des archives
Conclusion
  1. Conclusion

Alexandre BUISSÉ

Ingénieur en informatique et spécialiste de la cybersécurité, Alexandre BUISSÉ est passionné par l’open source, les solutions libres et les alternatives aux technologies propriétaires, en particulier celles proposées par les grands acteurs du web. Son parcours l’amène à expérimenter, déployer et promouvoir des outils accessibles, maîtrisables et respectueux de l’autonomie des utilisateurs. À travers cet ouvrage, il met son expertise technique au service d’une démarche pédagogique : permettre à chacun de comprendre les fondements d’un serveur web, de le configurer avec méthode et de le sécuriser avec rigueur. Son approche associe pratique, curiosité technique et volonté de rendre les infrastructures libres plus compréhensibles et plus concrètes.

Nos nouveautés

voir plus