- 1 1. Introduction
- 2 2. Installation d’Ubuntu et configuration initiale
- 3 3. Installation et configuration d’Apache
- 4 4. Configurer les hôtes virtuels (gérer plusieurs sites)
- 5 5. Introduction à SSL/TLS (Activation de HTTPS)
- 6 6. Amélioration de la sécurité du serveur web
- 7 7. Optimisation des performances
- 8 8. Dépannage
- 9 9. Résumé
1. Introduction
Qu’est-ce qu’un serveur web Ubuntu ?
Un serveur web est un système qui diffuse des sites web sur Internet. Les logiciels de serveur web populaires incluent Apache, Nginx et LiteSpeed, mais l’option la plus largement utilisée sur Ubuntu est Apache.
Ubuntu est léger, stable et open-source, ce qui le rend populaire auprès des particuliers et des entreprises. Il est particulièrement bien adapté pour exploiter des environnements LAMP (Linux, Apache, MySQL/MariaDB, PHP), qui alimentent de nombreux sites web et applications.
À qui s’adresse cet article
Ce guide est conçu pour les débutants qui construisent un serveur web pour la première fois. Il explique comment lancer un serveur web sur Ubuntu, installer Apache, configurer des hôtes virtuels et des certificats SSL, et implémenter des optimisations et des améliorations de sécurité.
Ce que vous apprendrez
- Comment construire un serveur web sur Ubuntu (installation et configuration d’Apache)
- Comment configurer des hôtes virtuels et gérer plusieurs sites web
- Comment installer un SSL gratuit avec Let’s Encrypt
- Comment appliquer un renforcement de la sécurité et une optimisation des performances
- Étapes courantes de dépannage et solutions
2. Installation d’Ubuntu et configuration initiale
Spécifications système requises
Pour exécuter Ubuntu en tant que serveur web, les spécifications minimales suivantes sont recommandées :
| Item | Minimum Requirements | Recommended Requirements |
|---|---|---|
| OS | Ubuntu 22.04 LTS | Ubuntu 22.04 LTS |
| CPU | 1GHz or higher | 2GHz or higher |
| Memory | 512MB | 2GB or higher |
| Storage | 10GB or more | 20GB or more |
| Network | Internet connection | High-speed connection recommended |
Téléchargement et installation d’Ubuntu
Ubuntu peut être téléchargé depuis le site officiel (https://ubuntu.com/download/server). Téléchargez le fichier ISO et installez-le dans une machine virtuelle telle que VirtualBox ou VMware, ou sur un serveur dédié ou VPS.
Étapes d’installation :
- Créer un support d’installation
- Clé USB (en utilisant des outils tels que Rufus)
- Monter le fichier ISO dans une machine virtuelle
- Suivre l’assistant d’installation
- Sélectionner votre langue préférée
- Vérifier la connectivité réseau
- Définir le nom d’utilisateur et le mot de passe
- Installer le serveur SSH (optionnel—vous pouvez l’installer plus tard)
- Redémarrer après l’achèvement de l’installation
- Se connecter et commencer la configuration initiale
Configuration initiale de base
Après l’installation, effectuez les étapes de configuration initiale suivantes.
- Mettre à jour tous les paquets
sudo apt update && sudo apt upgrade -y
→ Applique les correctifs de sécurité et met à jour les paquets logiciels.
- Définir le fuseau horaire
sudo timedatectl set-timezone Asia/Tokyo
→ Définit l’heure du système sur l’heure standard du Japon (JST).
- Activer le pare-feu
sudo ufw enable
→ Active le pare-feu pour protéger le système contre les accès non autorisés.
- Configurer SSH (pour la gestion à distance)
- Vérifier si SSH est activé
sudo systemctl status ssh - S’il est désactivé, l’activer
sudo systemctl enable --now ssh
Après avoir terminé ces étapes, votre serveur Ubuntu est prêt à être configuré en tant que serveur web entièrement fonctionnel.
3. Installation et configuration d’Apache
Qu’est-ce qu’Apache ?
Apache (Apache HTTP Server) est un serveur web open-source connu pour sa stabilité, son extensibilité et ses solides fonctionnalités de sécurité. Environ 30 % des serveurs dans le monde utilisent Apache.
Fonctionnalités clés :
- Gratuit et open-source
- Architecture modulaire pour des extensions faciles
- Support SSL/TLS pour la configuration HTTPS
- Hôtes virtuels pour héberger plusieurs sites web
Installation d’Apache
Sur Ubuntu, Apache peut être installé facilement en utilisant le gestionnaire de paquets apt.
Installer Apache
Exécutez les commandes suivantes pour installer Apache :
sudo apt update
sudo apt install apache2 -y
Vérifier l’installation
Après l’installation, vérifiez la version d’Apache :
apache2 -v
Exemple de sortie :
Server version: Apache/2.4.52 (Ubuntu)
Server built: 2023-07-01T12:34:56
Si les informations de version apparaissent, Apache a été installé correctement.
Démarrage, arrêt et redémarrage d’Apache
Apache est géré en utilisant la commande systemctl.
Démarrer Apache
sudo systemctl start apache2
Apache commencera maintenant à accepter les requêtes web.
Activer le démarrage automatique
sudo systemctl enable apache2
Vérifier le statut d’Apache
Utilisez cette commande pour vérifier si Apache est en cours d’exécution :
sudo systemctl status apache2
Exemple de sortie :
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since ...
Redémarrer ou arrêter Apache
Redémarrez Apache après avoir modifié les paramètres de configuration :
sudo systemctl restart apache2
Pour arrêter temporairement Apache :
sudo systemctl stop apache2
Vérifier le fonctionnement d’Apache
Pour confirmer qu’Apache fonctionne correctement, accédez à l’adresse IP du serveur.
1. Vérifier l’adresse IP de votre serveur
hostname -I
Ou vérifiez l’IP externe :
curl ifconfig.me
2. Vérifier dans un navigateur web
Entrez ce qui suit dans votre navigateur :
http://<your-server-ip>/
Pour les configurations locales :
http://localhost/
Vous devriez voir la page par défaut d’Apache (/var/www/html/index.html).
Exemple de page par défaut :
Apache2 Ubuntu Default Page
It works!
Si ce message apparaît, Apache fonctionne correctement.
Configurer le pare-feu
Ubuntu utilise UFW (Uncomplicated Firewall) pour gérer les règles de pare-feu.
Après l’installation d’Apache, l’accès externe à HTTP (port 80) et HTTPS (port 443) peut encore être bloqué.
Autoriser Apache à travers le pare-feu
sudo ufw allow 'Apache'
Pour autoriser également HTTPS :
sudo ufw allow 'Apache Full'
Vérifier le statut du pare-feu
sudo ufw status
Exemple de sortie :
Status: active
To Action From
-- ------ ----
Apache ALLOW Anywhere
Apache (v6) ALLOW Anywhere (v6)
Si cela apparaît, le trafic Apache est autorisé à travers le pare-feu.
Résumé
Jusqu’à présent, vous avez installé Apache sur Ubuntu et complété les étapes de configuration essentielles.
Points clés couverts :
- Comment installer Apache
- Comment démarrer et activer Apache
- Comment vérifier le fonctionnement d’Apache dans un navigateur
- Comment configurer les règles de pare-feu UFW
- Aperçu des fichiers de configuration de base d’Apache
4. Configurer les hôtes virtuels (gérer plusieurs sites)
Qu’est-ce que les hôtes virtuels ?
Les hôtes virtuels vous permettent de héberger plusieurs domaines (ou sous-domaines) sur un seul serveur Apache.
Par exemple, un serveur peut héberger à la fois example.com et test.com.
Il existe deux types d’hôtes virtuels :
- Hôtes virtuels basés sur le nom
- Plusieurs sites partagent la même adresse IP
- La méthode la plus courante
- Hôtes virtuels basés sur l’IP
- Chaque site utilise une adresse IP différente
- Nécessite plusieurs interfaces réseau sur un seul serveur
Dans la plupart des cas, les hôtes virtuels basés sur le nom sont utilisés.
Étapes pour configurer les hôtes virtuels
1. Créer les répertoires requis
Créez un répertoire séparé pour chaque site web :
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
2. Changer la propriété des répertoires
Assurez-vous qu’Apache peut lire les fichiers en définissant le propriétaire sur www-data :
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/test.com/public_html
3. Créer des fichiers HTML de remplacement
Créez un fichier index.html de base pour les tests :
echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
echo "<h1>Welcome to test.com</h1>" | sudo tee /var/www/test.com/public_html/index.html
4. Créer des fichiers de configuration d’hôtes virtuels
Les fichiers de configuration d’hôtes virtuels sont stockés dans le répertoire /etc/apache2/sites-available/.
Configuration d’hôte virtuel pour example.com
Créez et modifiez le fichier de configuration avec la commande suivante :
sudo nano /etc/apache2/sites-available/example.com.conf
Contenu du fichier de configuration :
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
Configuration de l’hôte virtuel pour test.com
sudo nano /etc/apache2/sites-available/test.com.conf
Ajoutez le contenu suivant :
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
<Directory /var/www/test.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test.com_error.log
CustomLog ${APACHE_LOG_DIR}/test.com_access.log combined
</VirtualHost>
5. Activer les hôtes virtuels
Après avoir créé les fichiers de configuration, activez les hôtes virtuels en utilisant a2ensite :
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
Tester la configuration d’Apache
Vérifiez les erreurs de syntaxe :
sudo apachectl configtest
Exemple de sortie :
Syntax OK
S’il n’y a pas d’erreurs, redémarrez Apache :
sudo systemctl restart apache2
6. Vérifier localement (Modifier le fichier hosts)
Pour tester les hôtes virtuels localement, modifiez le fichier hosts de votre PC.
sudo nano /etc/hosts
Ajoutez les lignes suivantes :
127.0.0.1 example.com
127.0.0.1 test.com
Enregistrez le fichier, puis ouvrez un navigateur et visitez :
http://example.com/
Vous devriez voir “Welcome to example.com”.
De même, en visitant :
http://test.com/
devrait afficher “Welcome to test.com”.
7. Dépannage des hôtes virtuels
Si les hôtes virtuels ne fonctionnent pas correctement, vérifiez ce qui suit :
1. Vérifier les journaux d’erreurs d’Apache
sudo tail -f /var/log/apache2/error.log
2. Confirmer que les fichiers de configuration sont activés
ls /etc/apache2/sites-enabled/
Si les fichiers .conf corrects sont listés, les hôtes virtuels sont actifs.
3. Vérifier les paramètres de port d’Apache
Vérifiez que le port 80 (HTTP) est configuré :
sudo nano /etc/apache2/ports.conf
Assurez-vous que la ligne suivante existe :
Listen 80
Résumé
Cette section a expliqué comment configurer les hôtes virtuels dans Apache sur Ubuntu.
Points clés :
- Concept et objectif des hôtes virtuels
- Créer des répertoires pour chaque site
- Créer et activer les fichiers de configuration des hôtes virtuels
- Méthodes de test local en utilisant le fichier hosts
- Dépannage des problèmes courants
5. Introduction à SSL/TLS (Activation de HTTPS)
Qu’est-ce que SSL/TLS ?
SSL (Secure Sockets Layer) et TLS (Transport Layer Security) sont des technologies de chiffrement utilisées pour assurer une communication sécurisée sur Internet.
Avantages de l’activation de SSL/TLS
✅ Chiffre la communication (réduit le risque que les données soient interceptées ou modifiées)
✅ Améliore le classement SEO de Google (les sites HTTPS sont prioritaires)
✅ Empêche les avertissements de sécurité du navigateur (les sites HTTP affichent « Non sécurisé »)
✅ Protège les identifiants de connexion et les transactions en ligne
Aujourd’hui, TLS (TLS 1.2 / 1.3) est recommandé, et les anciennes versions SSL (SSL 3.0 et antérieures) sont dépréciées.
Obtenir un certificat SSL gratuit avec Let’s Encrypt
Let’s Encrypt est une autorité de certification (CA) qui fournit des certificats SSL gratuits.
En utilisant certbot, vous pouvez facilement émettre un certificat et le configurer avec Apache.
Installer le client Let’s Encrypt (Certbot)
Installez certbot, le client officiel de Let’s Encrypt :
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Automatiser la configuration SSL d’Apache
Vous pouvez configurer automatiquement Apache en utilisant la commande suivante :
sudo certbot --apache -d example.com -d www.example.com
Cette commande effectue :
- Validation de domaine (défi HTTP-01)
- Émission du certificat SSL
- Configuration automatique SSL Apache
- Redirection optionnelle de HTTP vers HTTPS
Vérifier le fonctionnement SSL
Accédez à l’URL suivante pour confirmer que HTTPS est activé :
https://example.com/
Si votre navigateur affiche une icône de cadenas, SSL est appliqué avec succès.
Configuration manuelle de SSL pour Apache
Si vous ne souhaitez pas utiliser certbot --apache, vous pouvez configurer SSL manuellement.
1. Activer le module SSL d’Apache
sudo a2enmod ssl
sudo systemctl restart apache2
2. Configurer l’hôte virtuel SSL
Modifiez le fichier de configuration SSL /etc/apache2/sites-available/example.com-le-ssl.conf :
sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf
Exemple de configuration :
<VirtualHost *:443>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

3. Activer la configuration SSL et redémarrer Apache
sudo a2ensite example.com-le-ssl.conf
sudo systemctl restart apache2
Renouvellement automatique des certificats SSL
Les certificats Let’s Encrypt sont valides pour 90 jours. Pour éviter les renouvellements manuels, configurez les mises à jour automatiques.
1. Tester le renouvellement automatique de Certbot
sudo certbot renew --dry-run
2. Vérifier l’horaire de renouvellement
L’horaire de renouvellement automatique de Certbot est stocké sous /etc/cron.d/certbot.
sudo systemctl list-timers | grep certbot
Dépannage SSL
1. Certificat SSL non appliqué
Solution : Redémarrer Apache et vérifier la configuration
sudo systemctl restart apache2
sudo apachectl configtest
2. Certificat expiré
sudo certbot renew --force-renewal
3. Erreurs de validation Let’s Encrypt
Solution : Vérifier les règles de pare-feu
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
Résumé
Cette section a expliqué comment installer et configurer un SSL gratuit en utilisant Let’s Encrypt.
Points clés :
- Bases de SSL/TLS
- Configuration d’Apache avec Let’s Encrypt
- Configuration SSL manuelle
- Renouvellement automatique des certificats
- Dépannage des problèmes SSL
6. Amélioration de la sécurité du serveur web
Configuration du pare-feu (UFW)
Ubuntu utilise UFW (Uncomplicated Firewall) pour bloquer le trafic inutile et protéger le serveur.
Vérifier les paramètres actuels du pare-feu
sudo ufw status
Autoriser uniquement les ports requis
Par défaut, bloquez tout le trafic entrant et autorisez uniquement les ports requis :
sudo ufw default deny incoming
sudo ufw default allow outgoing
Ouvrir les ports requis :
- SSH (Port 22)
sudo ufw allow 22/tcp
- HTTP (Port 80)
sudo ufw allow 80/tcp
- HTTPS (Port 443)
sudo ufw allow 443/tcp
Activer le pare-feu
sudo ufw enable
Renforcement de la sécurité SSH
SSH est une cible courante d’attaques par force brute si laissé avec les paramètres par défaut. Renforcez la sécurité en appliquant des configurations appropriées.
Changer le port SSH
sudo nano /etc/ssh/sshd_config
Modifiez ces lignes :
Port 2222 # Change from 22 to any unused port
PermitRootLogin no # Disable root login
PasswordAuthentication no # Disable password login (use SSH keys only)
Redémarrez SSH :
sudo systemctl restart ssh
.
Installer Fail2Ban
Fail2Ban protège votre serveur en bannissant temporairement les adresses IP qui tentent des échecs répétés de connexion SSH.
sudo apt install fail2ban -y
Modifiez la configuration :
sudo nano /etc/fail2ban/jail.local
Ajoutez ce qui suit :
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 600
Activez Fail2Ban :
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban
Renforcement d’Apache
Masquer les informations de version d’Apache
sudo nano /etc/apache2/conf-available/security.conf
Modifiez les paramètres suivants :
ServerTokens Prod
ServerSignature Off
Appliquez les modifications :
sudo systemctl restart apache2
Désactiver l’indexation des répertoires
sudo nano /etc/apache2/apache2.conf
Localisez le bloc de répertoire et mettez-le à jour :
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Redémarrez Apache :
sudo systemctl restart apache2
Désactiver les modules Apache inutiles
sudo a2dismod autoindex
sudo a2dismod status
sudo systemctl restart apache2
Ajout d’en-têtes de sécurité
Les en-têtes de sécurité protègent votre site web contre des attaques telles que le script intersite (XSS) et le détournement de clics (clickjacking).
Activer mod_headers
sudo a2enmod headers
sudo systemctl restart apache2
Ajouter des en-têtes de sécurité
sudo nano /etc/apache2/sites-available/example.com.conf
Ajoutez ce qui suit à l’intérieur du bloc <VirtualHost> :
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>
Redémarrez Apache :
sudo systemctl restart apache2
Dépannage
Vérifier les paramètres du pare-feu
sudo ufw status
Vérifier la configuration d’Apache pour les erreurs
sudo apachectl configtest
Exemple de sortie :
Syntax OK
Impossible de se connecter via SSH après avoir changé le port
Si SSH ne se connecte pas après avoir changé le port, spécifiez le nouveau port lors de la connexion :
ssh -p 2222 user@server-ip
Résumé
Cette section a expliqué comment renforcer la sécurité de votre serveur web.
Points clés :
- Configurer les règles du pare-feu UFW
- Sécuriser SSH (changement de port, Fail2Ban)
- Renforcement de la sécurité d’Apache (masquer les infos de version, désactiver l’indexation)
- Ajout d’en-têtes de sécurité
7. Optimisation des performances
Optimisation d’Apache
La configuration par défaut d’Apache peut ne pas offrir des performances optimales. En appliquant les ajustements suivants, vous pouvez obtenir des performances nettement supérieures.
Optimisation du MPM (Module de traitement multi‑processus)
Le MPM (Module de traitement multi‑processus) détermine comment Apache gère les requêtes.
Vérifiez le MPM actuel :
apachectl -M | grep mpm
Exemple de sortie :
mpm_prefork_module (shared)
Si le module mpm_prefork_module est activé, passer à mpm_event peut améliorer les performances.
Changez le MPM :
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
Activer KeepAlive
KeepAlive (connexions persistantes) permet aux clients de réutiliser les connexions existantes, réduisant ainsi la surcharge des requêtes.
Modifiez le fichier de configuration :
sudo nano /etc/apache2/apache2.conf
Confirmez les paramètres suivants :
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Redémarrez Apache :
sudo systemctl restart apache2
Utilisation du cache
En utilisant le cache du navigateur et le cache côté serveur, vous pouvez réduire les requêtes inutiles et améliorer considérablement la vitesse de réponse.
Activer mod_expires (Cache du navigateur)
sudo a2enmod expires
sudo systemctl restart apache2
Ajoutez ce qui suit à /etc/apache2/sites-available/example.com.conf :
.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
Redémarrer Apache :
sudo systemctl restart apache2
Activer mod_cache (Cache serveur)
sudo a2enmod cache cache_disk
sudo systemctl restart apache2
Ajoutez ce qui suit à /etc/apache2/sites-available/example.com.conf :
<IfModule mod_cache.c>
CacheEnable disk /
CacheRoot /var/cache/apache2/mod_cache_disk
CacheDefaultExpire 86400
</IfModule>
Redémarrer Apache :
sudo systemctl restart apache2
Activer la compression
Utilisez mod_deflate pour compresser les données du site web et réduire la taille des transferts.
Activer mod_deflate
sudo a2enmod deflate
sudo systemctl restart apache2
Ajoutez ce qui suit à /etc/apache2/sites-available/example.com.conf :
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Redémarrer Apache :
sudo systemctl restart apache2
Limitation des ressources
Pour préparer un trafic important ou un accès potentiellement malveillant, définissez des limites de ressources à l’aide des modules Apache.
Activer mod_ratelimit
sudo a2enmod ratelimit
sudo systemctl restart apache2
Ajoutez ce qui suit à /etc/apache2/sites-available/example.com.conf :
<Location />
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 200
</Location>
Redémarrer Apache :
sudo systemctl restart apache2
Dépannage des problèmes de performance
Vérifier le journal d’erreurs d’Apache
sudo tail -f /var/log/apache2/error.log
Vérifier le statut de charge d’Apache
sudo apachectl status
Vérifier l’utilisation du CPU et de la mémoire
top
ou
htop
Si htop n’est pas installé :
sudo apt install htop
Résumé
Cette section explique comment optimiser les performances du serveur web.
Points clés :
- Ajuster Apache (optimisation du MPM et paramètres KeepAlive)
- Utiliser le cache (cache navigateur et cache serveur)
- Compression des données avec mod_deflate
- Contrôle des ressources avec mod_ratelimit
8. Dépannage
Apache ne démarre pas
Si Apache ne démarre pas, une erreur de configuration est la cause la plus fréquente.
1. Vérifier les messages d’erreur
sudo systemctl status apache2
2. Tester la configuration
sudo apachectl configtest
Si la sortie contient « Syntax error », vérifiez le chemin ou les paramètres indiqués dans le message d’erreur.
3. Redémarrer Apache
sudo systemctl restart apache2
Impossible d’accéder au serveur
Si le serveur n’est pas accessible via un navigateur, vérifiez les éléments suivants.
1. Vérifier les paramètres du pare‑feu
sudo ufw status
Assurez‑vous que les ports 80 et 443 sont autorisés.
2. Vérifier le statut d’Apache
sudo systemctl status apache2
3. Vérifier l’adresse IP du serveur
hostname -I
Les hôtes virtuels ne fonctionnent pas
Si les hôtes virtuels ne se comportent pas comme prévu, revérifiez la configuration.
1. Confirmer que les fichiers d’hôte virtuel sont activés
ls /etc/apache2/sites-enabled/
Si votre fichier .conf n’apparaît pas, activez‑le :
sudo a2ensite example.com.conf
sudo systemctl restart apache2
2. Vérifier la résolution du nom d’hôte
Lors d’un test local, assurez‑vous que le fichier /etc/hosts contient :
127.0.0.1 example.com
3. Vérifier le chemin du DocumentRoot
Des chemins incorrects provoquent souvent des problèmes d’hôtes virtuels.
DocumentRoot /var/www/example.com/public_html
Problèmes de certificat SSL
1. HTTPS ne fonctionne pas
Confirmez que SSL est activé :
sudo apachectl -M | grep ssl
Activer si nécessaire:
sudo a2enmod ssl
sudo systemctl restart apache2
2. Le certificat a expiré
sudo certbot renew
3. Échec de la validation Let’s Encrypt
La validation HTTP nécessite que le port 80 soit ouvert.
sudo ufw allow 80/tcp
sudo systemctl restart apache2
Performances lentes du site Web
1. Vérifier la charge du serveur
top
2. Examiner les journaux Apache
sudo tail -f /var/log/apache2/access.log
3. Confirmer les paramètres du cache
Assurez-vous que mod_expires, mod_cache et mod_deflate sont activés.
Erreurs d’autorisation (403 Interdit)
Cette erreur indique généralement des permissions de fichiers ou de répertoires incorrectes.
1. Vérifier la propriété du répertoire
sudo chown -R www-data:www-data /var/www/example.com
2. Vérifier les permissions du répertoire
sudo chmod -R 755 /var/www/example.com
Surveillance des journaux d’erreurs
Surveillez toujours les journaux d’erreurs lors du dépannage :
sudo tail -f /var/log/apache2/error.log
Résumé
Cette section a fourni des méthodes pour dépanner les problèmes courants de votre serveur web Ubuntu.
Points clés :
- Erreurs de démarrage d’Apache et vérifications de configuration
- Problèmes liés au pare-feu et au réseau
- Problèmes de configuration d’hôte virtuel
- Erreurs de certificat SSL et renouvellements
- Dépannage des performances et des permissions
9. Résumé
Dans cet article, nous avons expliqué comment créer un environnement serveur web complet sur Ubuntu en utilisant Apache, ainsi que des améliorations de sécurité, l’optimisation des performances et des techniques de dépannage.
En suivant ce guide, vous pouvez exploiter un serveur web stable, sécurisé et haute performance adapté aux projets personnels ainsi qu’aux applications de niveau professionnel.
✔ Points clés abordés dans ce guide
- Installation d’Ubuntu et configuration initiale du système
- Installation et configuration d’Apache
- Mise en place d’hôtes virtuels pour gérer plusieurs sites web
- Activation du HTTPS en utilisant des certificats SSL gratuits de Let’s Encrypt
- Renforcement de la sécurité du serveur (UFW, durcissement SSH, paramètres Apache)
- Amélioration des performances (caching, compression, réglage MPM)
- Dépannage des problèmes courants lors du fonctionnement du serveur
✔ Ce que vous pouvez accomplir après avoir suivi ce guide
- Héberger plusieurs sites web sur un seul serveur Ubuntu
- Assurer une communication sécurisée en utilisant SSL/TLS moderne
- Améliorer la vitesse et la fiabilité du site grâce au caching et à la compression
- Diagnostiquer rapidement et résoudre les problèmes à l’aide des journaux Apache et des outils système
✔ Étapes suivantes recommandées
- Installer PHP et MySQL/MariaDB pour créer un environnement LAMP complet
- Déployer WordPress ou un autre CMS
- Mettre en place des solutions de sauvegarde automatiques
- Envisager d’utiliser des services cloud (AWS, GCP, Azure, etc.)
Avec une configuration et une maintenance appropriées, un serveur web Ubuntu peut offrir une stabilité à long terme et des performances exceptionnelles.
Nous espérons que ce guide vous aidera à créer un environnement serveur fiable et sécurisé.



