Installation et configuration d’un serveur web : Ce qu'il faut savoir. Définition : ensemble des opérations visant à déployer, paramétrer et exploiter un serveur HTTP (logiciel Apache dans ce TP) sur un système Debian afin de servir des contenus via les protocoles HTTP/HTTPS. La maîtrise de ces notions est essentielle pour administrer l'hébergement d'un site au sein d'une PME, diagnostiquer des incidents liés aux modules ou à la configuration, et automatiser les mises à jour de paquets. Ce document TP inclut les commandes pratiques et un rendu de travaux ; un exemplaire PDF gratuit est disponible pour consultation et téléchargement.
🎯 Ce que vous allez apprendre
- Installation d'Apache via le gestionnaire de paquets Debian — mise à jour du système avec
apt-get update / apt-get upgrade et installation du paquet apache2. Identification de la version installée, impact des dépendances et comparaison installation par paquet vs installation depuis www.apache.org/dist/httpd/ pour choisir la méthode adaptée.
- Gestion du service et des signaux du démon — contrôle du processus avec
apache2ctl -k start|stop|graceful|restart, distinction entre arrêt immédiat et arrêt en douceur, usage des scripts Debian /etc/init.d/apache2 ou service apache2 et vérification avec ps et grep.
- Lecture et modification des fichiers de configuration — navigation dans
/etc/apache2/, distinction entre apache2.conf et httpd.conf, règles de syntaxe, sauvegarde et édition (nano/vi) et vérification avec apache2ctl -t. Reconnaissance des directives clés telles que PidFile, KeepAlive ou KeepAliveTimeout.
- Modules Apache et chargement dynamique — analyse de la modularité d'Apache, repérage des modules compilés (
apache2ctl -l) et de ceux chargés dynamiquement via LoadModule. Utilisation de blocs conditionnels <IfModule> et bonnes pratiques pour activer/désactiver des fonctions sans recompiler le serveur.
- Exploitation pratique via machine virtuelle et outils clients — connexion SSH sécurisée, transfert de fichiers et bonnes pratiques système (changer le mot de passe initial avec
passwd, config clavier loadkeys fr). Exercices pratiques et consignes de rendu (.zip contenant compte‑rendu et fichiers de configuration) pour valider les acquis. Pour un serveur local sous Windows, les alternatives courantes sont IIS, WAMP ou XAMPP, utiles en phase de prototypage.
- Interface de gestion de base de données : PHPMyAdmin — installation et configuration de l'interface web pour gérer des bases MySQL/MariaDB, gestion des utilisateurs et export/import de jeux de données.
📑 Sommaire du document
- Cours Installation serveur web en PDF (Intermédiaire)
💡 Pourquoi choisir ce cours ?
Ce TP, utilisé dans le cadre de la Licence Professionnelle Nice–Sophia et rédigé par Sophia G. Rey, mise sur une pédagogie par la pratique : accès à une machine virtuelle fournie, commandes réelles et consignes de rendu pour un apprentissage orienté mise en production. Le document détaille l'administration via paquets Debian et les particularités des scripts système, ce qui le rend pertinent pour des environnements réels. L'inclusion d'exemples de commandes, de vérifications (apache2ctl -t, apache2ctl -l) et des règles de sauvegarde de configuration distingue ce TP des fiches purement théoriques. Les concepts présentés (directives Apache, arborescence /etc/apache2) restent valables pour les versions récentes de Debian, facilitant l'application en contexte professionnel.
👤 À qui s'adresse ce cours ?
- Public cible : étudiants en licence professionnelle ou techniciens systèmes désirant déployer et administrer un serveur Apache sur une distribution Debian dans un contexte PME ou laboratoire pédagogique.
- Prérequis : maîtrise des commandes de base Linux (
sudo, passwd, éditeurs en ligne de commande), familiarité avec SSH et notions HTTP/HTML, et connaissance élémentaire des gestionnaires de paquets Debian (apt/aptitude).
❓ Foire Aux Questions (FAQ)
Comment vérifier la syntaxe des fichiers de configuration avant de redémarrer Apache ?
Utiliser apache2ctl -t pour effectuer une vérification syntaxique et relire /etc/apache2/apache2.conf et /etc/apache2/envvars. Corriger les directives signalées (par ex. chemins de modules ou PidFile) avant tout redémarrage.
Quelle est la différence opérationnelle entre les signaux graceful et restart avec apache2ctl ?
Le mode graceful permet aux processus enfants d'achever leurs requêtes en cours avant d'être remplacés, alors que restart termine immédiatement les enfants et relance la nouvelle génération, provoquant une interruption plus brutale des connexions actives.
Comment sécuriser l'accès au serveur en production ?
Restreindre l'accès administrateur, activer TLS pour chiffrer les échanges, et limiter les services exposés par un pare‑feu. Contrôler les autorisations des fichiers de configuration et surveiller les logs pour détecter des comportements anormaux. Pour les accès réseau, autoriser uniquement les ports nécessaires et restreindre SSH aux IP de confiance.
Configuration de PHPMyAdmin et MySQL
La gestion des bases MySQL/MariaDB est souvent nécessaire pour des applications web. Cette section décrit l'installation minimale, la liaison avec le serveur HTTP et les vérifications post‑installation pour garantir un accès fonctionnel et sécurisé. Privilégier l'utilisation d'utilisateurs dédiés et limiter les droits database au strict nécessaire pour l'application.
Installation de PHPMyAdmin
Installer PHPMyAdmin via le gestionnaire de paquets simplifie la mise en place d'une interface web pour l'administration de bases MySQL/MariaDB. Après installation, configurer le VirtualHost dédié et vérifier le chargement des modules PHP nécessaires.
sudo apt-get update
sudo apt-get install phpmyadmin
Sécurisation du serveur web (HTTPS et Pare-feu)
Protéger l'infrastructure réseau et garantir la confidentialité des échanges passent par l'activation de TLS sur les VirtualHost et la configuration d'un pare‑feu. Utiliser ufw pour autoriser les flux HTTP/HTTPS et restreindre les autres services, ou appliquer des règles équivalentes via iptables. Exemple d'ouverture de ports avec ufw : ufw allow 80, ufw allow 443. Compléter par l'obtention de certificats TLS (par ex. Let's Encrypt) et par des règles de durcissement des hôtes virtuels.
Ressources et bonnes pratiques
- Vérifier régulièrement les mises à jour de sécurité des paquets Debian.
- Sauvegarder les configurations avant modification et conserver des copies chiffrées des secrets.
- Documenter les VirtualHost et les règles de pare‑feu pour faciliter la reprise et l'audit.